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.
- HTML : HyperText Markup Language, ou HTML, é o principal componente estrutural de todos os sites na Internet. Sem ele, as páginas da web não podem existir.
- CSS : CSS adiciona estilo ao HTML. Eu gosto de usar a analogia de que HTML é como um rosto e CSS é como a maquiagem.
- JavaScript : JavaScript ou JS tem evoluído nos últimos anos. Em relação ao desenvolvimento front-end, o JS é importante porque ajuda a tornar as páginas da Web interativas.
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:
- Ruby (geralmente usado em conjunto com o framework Rails - AKA Ruby on Rails)
- Python (que é frequentemente usado com o framework Django no back end)
- PHP (o popular WordPress CMS usa PHP em seu back-end - PHP tem alguns frameworks populares, sendo um deles o Laravel)
- Node.js (ficando mais popular - este é um ambiente de back-end para aplicativos da web construídos com JavaScript)
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:
- MySQL
- PostgreSQL
- MongoDB
- E outros
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.