O que existe por trás de um aplicativo

O que existe por trás de um aplicativo

Para começar sua carreira como desenvolvedor é preciso que você entenda o que existe por trás de aplicativo e onde você pode se encaixar como desenvolvedor. O que acontece quando você acessa um site, ou usa um aplicativo? A gente te explica!

Como funciona um aplicativo

Um aplicativo, seja ele mobile, desktop ou até mesmo uma página na web, nada mais é que um sistema, ou “programa” que você acessa diretamente do seu celular ou computador. Vamos começar com um exemplo bem simples, um login: o usuário entrou em uma página, digitou seu usuário e senha, clicou em um botão, aguardou alguns segundos, e uma nova página abriu.

image.png

Para entender como isso funciona vamos aprofundar um pouco na estrutura que essa aplicação pode ter. Claro que cada aplicativo pode possuir uma estrutura, ou arquitetura mais específicas, mas os mais comuns trazem uma premissa bastante básica: uma interface, que se comunica com um sistema que busca e manipula informações de alguma fonte de dados.

Durante o desenvolvimento, a forma mais comum de dividir essas frentes são: a interface que é disponibilizada para o usuário, o frontend; e o sistema que gerencia as informações de um banco dados, o backend.

image.png

O que é frontend?

Frontend é o que você “vê” em um aplicativo. O papel de um desenvolvedor no frontend é construir toda a interface: botões, formulários, quadros, posicionamento de imagens e textos, e principalmente programar como estes componentes irão reagir com a interação de um usuário: o que acontece quando um botão é clicado, um texto é digitado, ou um link é acessado.

Desenvolver frontend é até um pouco diferente do que se espera em programação, não contamos muito com lógica, operações ou alguma manipulação. Aqui é realmente sobre montar uma interface, saber estilizar, deixar acessível e principalmente funcional ao usuário. Até a forma de programar é diferente: é bastante HTML, CSS e outras ferramentas de estilização e componentização que possuem uma sintaxe de código bastante diferente e não são nem mesmo linguagens de programação —mas é claro que sim, você usa linguagens de programação em diversos momentos e nós vamos falar um pouco mais sobre isso em outros artigos.

É um trabalho bastante delicado e importante, pois para o usuário, é tudo o que ele vê do sistema e é a partir do frontend que o usuário tem uma impressão sobre o aplicativo. Por isso também que é um ótimo ponto de partida para seus estudos como um desenvolvedor, afinal, independente do que você desenvolve, um pouquinho de frontend você vai precisar fazer.

O que é backend?

Backend, sendo o oposto, e a camada por trás do frontend é tudo aquilo que você “não vê” em um aplicativo. O backend contém toda a lógica da aplicação, todas as regras, todas as ações e todas as manipulações de dados. Programar um sistema backend é realmente o que vemos sobre código: é lógica de programação, é perfomance, é ter controle todo sobre o sistema.

Podemos até dizer que o backend é o coração de qualquer sistema. Toda ação, todo fluxo de dados, toda a responsabilidade de funcionamento do sistema passa pelo backend. Até mesmo a responsabilidade de gerenciar o banco de dados é do backend. Nada acontece sem o backend aprovar.

Em sua maioria das vezes é construído no formato de uma API —um mecanismo de comunicação entre aplicações que surge como um segundo sistema, muitas vezes chamado de “servidor”, completamente independente e dedicado ao backend, e responsável por toda funcionalidade da aplicação. Esse é mais um tópico que vamos falar em outros artigos.

O que acontece, na prática, quando uso um aplicativo?

A prática de uso de um aplicativo não foge muito de sua premissa e estrutura básica: uma interface, que se comunica com um servidor e apresenta informações e permite que um usuário as manipule.

Voltando ao exemplo do login: o usuário entrou em uma página, digitou seu usuário e senha, clicou em um botão, aguardou alguns segundos, e uma nova página abriu.

Tudo começa com o frontend: é responsabilidade dele carregar a página para o usuário e exibir para ele sua real função: fazer um login. Com um formulário de usuário e senha disponível para o usuário, ele digita seus dados, e ao digitar, o frontend guarda essa informações até que o usuário clique no botão para realizar a ação de login. O frontend não possui lógicas de programação, certo? Até então o frontend não faz a minima ideia se esses dados são verdadeiros —se o usuário existe ou se a senha está correta. Quem possui essas informações é o backend, então uma pergunta é feita para esse responsável: os dados de usuário e senha chegam agora no backend, que confere em um banco de dados se são reais, se é válido e se pode prosseguir com o login. Dados validados, a resposta é enviada para o frontend, que tendo o “ok” do backend prossegue com uma ação: redirecionar o usuário para uma nova página.

image.png

Esta é uma estrutura bastante padrão para toda aplicação: o frontend recebe a interação do usuário, envia os dados dessa interação para o backend; o backend envia uma resposta para o frontend, e este por fim, reflete essa resposta em uma ação para o usuário.

Dica: você pode ver essa interação acontecendo na maioria de sites que você acessa em seu computador. Aperte F12 e abrirá uma janela em seu navegador com a aba “Network” ou “Rede” ativa. Nessa aba, aparecem todas as requisições —as perguntas que o frontend, envia para o backend!

Nos nossos próximos passos vamos falar e mostrar como construir cada um desses sistemas, de frontend a um backend. Acompanhe nosso canal no Discord, e fique por dentro de nossa série de conteúdos sobre como se tornar um desenvolvedor.