O que faz um programador Back-end?
Hoje em dia utilizamos softwares para tudo. Comprar ou vender um produto através de um aplicativo no celular, visualizar informações sobre uma empresa em um site, pedir um táxi, entre outros.
Um software (uma página web ou aplicativo) é dividido, principalmente, em duas camadas: Front-end e Back-end.
Entenda essas duas camadas no flow abaixo. A ideia é simples:
Veja a Figura 1.
Veja no flow abaixo um exemplo quando compramos um produto na página do MercadoLivre.
Back-end e Front-end não estão no mesmo local
Um ponto importante é que as camadas Back-end e Front-end não são executadas no mesmo local.
Quando falamos do Front-end estamos falando da parte da aplicação que fica com o usuário - seja em seu smartphone ou no seu computador.
O Back-end não fica armazenado no celular nem no computador do usuário. Ele é armazenado e executado em um servidor, um computador central. É assim que ele consegue fornecer informações em tempo real.
Veja no flow abaixo um exemplo que justifica a divisão das camadas:
Por esse motivo as aplicações são separadas nestas duas camadas: Front-end, ou seja, a apresentação para o usuário, e back-end, os dados e processamento da aplicação, como mostra a Figura 2.
Características da programação Back-end
- Acessa o banco de dados para guardar e resgatar as informações do sistema.
- Fornece dados para o Front-end exibir na tela do usuário - seja no navegador ou no aplicativo de celular.
- Faz a comunicação com sistemas de terceiros como validar uma compra junto a financeira de um cartão.
- Cria tarefas que são executados no servidor, como por exemplo enviar um e-mail para os usuários.
- Cuida da inteligência do software, ou seja, do motor da aplicação.
- Se preocupa com os dados e não com a aparência.
Quais tecnologias o programador Back-end utiliza?
Tecnologia é um assunto muito abrangente e na programação Back-end não é diferente.
Existem muitas tecnologias disponíveis para construir o Back-end. Dentre elas as que se destacam no mercado são:
- Django (utiliza a linguagem Python)
- Laravel (utiliza a linguagem PHP)
- Node.js/Express (utiliza a linguagem JavaScript)
- Spring (utiliza a linguagem Java)
- .Net (utiliza a linguagem C#)
Essas tecnologias competem entre si, ou seja, você não precisa trabalhar com todas elas. Apenas uma ferramenta dessa lista é suficiente para fazer todo o seu back-end.
Estas tecnologias também são chamadas de Frameworks.
Os frameworks são utilizados pelos seguintes motivos:
- São soluções que já foram testadas por grandes equipes.
- Agiliza o processo de criação de sistemas.
- Padroniza o código de uma equipe.
- Permite reaproveitar códigos e funcionalidades.
Se você quer se tornar um programador Back-end sugerimos adotar um desses frameworks como tecnologia apresentados na Figura 3.
Carreira Programador Back-end – Pré-requisitos
Para construir sistemas Back-end você utiliza um framework - ou seja, uma tecnologia que acelera o desenvolvimento. Recomendamos como tecnologia os seguintes frameworks que vão te permitir criar um sistema Back-end.
- Django (utiliza a linguagem Python)
- Laravel (utiliza a linguagem PHP)
- Node.js/Express (utiliza a linguagem JavaScript)
- Spring (utiliza a linguagem Java)
- .Net (utiliza a linguagem C#)
Você não precisa saber como trabalhar com todos estes frameworks - a ideia é você escolher um deles apenas. Qualquer um destes frameworks vai te permitir construir todos os tipos de aplicação back-end que existem.
Veja no Flow abaixo os dois conhecimentos prévios para se tornar um programador Back-end:
Conhecer um banco de dados e a linguagem SQL é um passo que pode te ajudar muito na sua carreira back-end - mas não é obrigatório, ou seja, é possível iniciar sua carreira sem necessariamente dominar essas tecnologias apresentadas nas Figuras 4 e 5.
Plano de estudo passo a passo
Passo 1: Aprender os fundamentos: algoritmo e lógica de programação
Aqui você vai aprender os fundamentos da programação.
Esse é o primeiro passo: todo programador precisa ter essa base de lógica e algoritmo.
Entender a lógica de programação é o primeiro passo, pois todas as linguagens se fundamentam no que chamamos de pensamento lógico. Isso acontece pois o computador praticamente não faz nada sozinho - o programador precisa instruir todos os passos para a máquina.
É na fase de lógica onde você vai aprender a escrever comportamentos para o computador. Por exemplo: digamos que você precisa acessar sua conta bancária.
- Se sua senha estiver correta, retorna os seus dados como por exemplo o seu saldo.
- Se a sua senha estiver errada, retorna uma mensagem de erro.
Observe que o comportamento acima possui um certo tipo de inteligência. É na matéria de algoritmo onde você aprende as ferramentas básicas para ser capaz de entender como o computador interpreta os comportamentos solicitados a ele.
Sem o conhecimento de lógica, você não consegue utilizar nenhuma linguagem de programação.
Passo 2: Aprender uma linguagem de programação
Depois de adquirir os conhecimentos de algoritmo, agora você precisa ganhar fluência em uma linguagem de programação - na carreira Back-end isso significa aprender:
- Python para Django
- PHP para Laravel
- JavaScript para Node.js/Express
- Java para Spring
- C# para .Net
Aprender uma linguagem de programação, assim como algoritmo, também é um passo fundamental na sua carreira de programador.
Isso acontece, pois, a programação é feita através de uma linguagem que o computador consegue entender - ou seja, o computador não entende uma linguagem semântica, como falar em português, por exemplo. Precisamos passar as instruções de algoritmo para o computador através de uma linguagem que ele entende - no caso, uma linguagem de programação.
Em outras palavras, quando aprendemos uma linguagem de programação estamos traduzindo os algoritmos em uma linguagem própria para o computador. Por exemplo, na matéria algoritmo, quando desejamos escrever uma mensagem na tela, usamos o código abaixo:
escreva('Seja bem-vindo')
Traduzindo isso para a linguagem JavaScript, por exemplo, temos:
alert('Seja bem-vindo');
Um framework utiliza uma linguagem de programação para criar um sistema Back-end.
Passo sugerido: Linguagem SQL e um banco de dados
Como vimos, o Back-end trabalha manipulando os dados do sistema - por exemplo as informações de um produto (nome, valor, quantidade em estoque etc.).
Veja mais sobre o banco de dados no flow abaixo:
Os bancos de dados mais utilizados são:
Se o back-end trabalha com dados, operar um banco de dados não é um conhecimento obrigatório?
Conhecer um banco de dados e dominar a linguagem SQL é um diferencial na sua carreira back-end, pois estes conhecimentos podem te ajudar muito.
Contudo, ter estes conhecimentos não é obrigatório, pois os frameworks back-end já fazem o trabalho por debaixo dos panos. Ou seja, no framework temos um código pronto para manipular o banco de dados.
Então para que serve estudar um banco de dados e a linguagem SQL?
Conhecer a linguagem SQL te deixa mais à frente de outros programadores porque com este conhecimento você não ficará preso ao framework. Você será capaz de manipular um banco de dados independente da tecnologia.
Além disso você poderá resolver problemas no banco de dados diretamente, sem precisar manipular o código back-end para isso.
Conhecer um banco de dados e a linguagem SQL é altamente desejável, mas não é obrigatório. Se você quiser acelerar a construção da sua carreira, é possível pular esta etapa.
Linguagem SQL
Passo 3: Dominar um framework
Como vimos, um framework é uma forma mais ágil e segura de se criar sistemas Back-end.
Após aprender a linguagem utilizada pelo framework - Python para Django, PHP para Laravel, JavaScript para Node.js/Express, Java para Spring ou C# para .Net, você estará apto para dar o último passo que é aprender o framework.
É possível criar sistemas Back-end apenas com a linguagem de programação, porém isso não é usual - o framework é uma solução pronta que agiliza muito o processo de desenvolvimento.
Veja no flow abaixo mais sobre os frameworks Back-end:
Como aplicar o plano de estudo na DevMedia?
Acompanhar o plano de estudo na DevMedia é simples: basta acessar o menu Tecnologias e escolher o tópico que você está estudando no momento.
Veja um exemplo no flow abaixo:
Importante! E se você tiver dúvidas?
É natural que durante sua evolução no plano de estudo você tenha dúvidas. Nossa missão é acompanhar você durante sua evolução e torná-lo um programador - é o que fazemos desde sempre.
Teremos muito orgulho de contar com você na plataforma!
Aguardamos você :)