Desenvolvimento Web de front-end vs. back-end vs. full-stack

O desenvolvimento da Web não é apenas uma coisa. Ele engloba várias habilidades, e existem diferentes tipos de carreiras dentro do espaço de desenvolvimento da web. Três termos frequentemente usados ​​são "front end", "back end" e "full stack". Aqui estão as principais diferenças entre os três.

Desenvolvimento Web de front-end

O desenvolvimento de front-end , enquanto seus componentes estão sempre mudando, trata essencialmente das partes externas de um site ou aplicativo da web.

Em essência, o desenvolvimento de front-end envolve HTML, CSS e JavaScript.

Em geral, o front end está associado aos princípios de layout e design. No entanto, os desenvolvedores front-end não são necessariamente designers.

Basicamente, os desenvolvedores de front-end constroem a aparência externa - as páginas do site que os usuários veem. Isso significa que o desenvolvedor front-end deve levar em consideração a legibilidade e usabilidade do site e / ou aplicativo.

Além disso, o front-end é executado no cliente - ou seja, o computador local do usuário - na maioria dos casos, o navegador da web.

E a informação não é armazenada no lado do cliente.

Desenvolvimento Web de back-end

O desenvolvimento web de back-end é o que acontece nos bastidores. O back end permite a experiência de front-end.

Para facilitar as coisas, pense no front end como parte do iceberg acima da água. É o que o usuário vê - o site de aparência elegante.

O final é o resto do gelo; ele não pode ser visto pelo usuário final, mas é o elemento mais fundamental de um aplicativo da web. O backend é executado no servidor ou, como é frequentemente chamado, “lado do servidor”.

Ao contrário do desenvolvimento front-end (que usa principalmente HTML, CSS e JavaScript), o desenvolvimento da Web de backend pode contar com uma variedade de linguagens e estruturas.

Alguns idiomas populares usados ​​no backend incluem:

No entanto, para que sites e aplicativos da Web em grande escala funcionem, é mais do que uma linguagem e estrutura de back-end. Todas as informações em um site ou aplicativo devem ser armazenadas em algum lugar.

É aqui que os bancos de dados entram. Os desenvolvedores de back-end também lidam com isso.

( Nota : você pode criar um site sem um banco de dados usando apenas HTML e CSS. Isso seria um site estático e seria muito menos flexível. No entanto, um site que depende de informações para ser gerado dinamicamente - Facebook, Yelp, qualquer site de comércio eletrônico - precisa de um banco de dados.)

Bancos de dados populares incluem:

Geralmente, determinados frameworks / back-ends requerem um determinado banco de dados. Por exemplo, a estrutura de pilha completa do MEAN requer o MongoDB.

Além de conhecer uma linguagem / estrutura de back-end e bancos de dados em execução, os desenvolvedores de back-end também devem ter uma compreensão da arquitetura do servidor.

Configurar um servidor corretamente permite que um site seja executado rapidamente, sem travar e não dê erros aos usuários. Isso se enquadra no domínio do desenvolvedor de backend, porque a maioria dos erros ocorre no back end, não no front end.

Pilha completa

Sim, você adivinhou: pilha completa é a combinação do front end e do back end.

Um desenvolvedor full-stack é um cara-de-todos-os-trades. Eles são responsáveis ​​por todos os níveis de desenvolvimento, desde a configuração do servidor até o CSS relacionado ao design.

Hoje em dia, há muito que entra no desenvolvimento da web que é quase impossível lidar com os dois lados. Embora muitas pessoas possam afirmar que são full stack, ou na verdade são, elas ainda se concentram mais em um lado: o cliente ou o servidor. (AKA o front-end ou o back-end.)

Em empresas menores / startups, uma única pessoa provavelmente seria responsável por todos os lados do espectro de desenvolvimento da web. No entanto, em empresas maiores, as pessoas trabalham em equipes e têm funções especializadas - uma se concentra apenas na arquitetura do servidor, outra (ou algumas pessoas) no front-end, etc.

Conclusão

O desenvolvimento da Web tem muitos rostos e está evoluindo mais a cada dia. Há muito o que aprender, mas não se sinta pressionado a aprender tudo de uma vez. Lembre-se, em ambientes de trabalho, você geralmente estará em equipe com os outros. Concentre-se em aperfeiçoar suas habilidades em um aspecto do desenvolvimento da Web de cada vez. Não fique sobrecarregado, e você será um profissional antes que você perceba.