P>Publicado originalmente a 9 de Fevereiro de 2017, actualizado a 27 de Fevereiro de 2019.
p>Desenvolvedores de Front-end trabalham no que o utilizador pode ver enquanto os programadores de back-end constroem a infra-estrutura que o suporta.
Bambos são componentes necessários para uma aplicação ou website de alto funcionamento.
Não é raro que as empresas se deixem enganar pela divisão “front-end versus back-end” ao tentarem navegar no desenvolvimento de novo software.
Depois de tudo, há um número crescente de ferramentas no mercado destinadas a ajudar os programadores a tornarem-se mais “full stack” orientados, pelo que é fácil para os não técnicos assumirem que não há uma grande diferença entre especialistas de front-end e de back-end.
Desenvolvedores de front-end e back-end trabalham em conjunto para criar os sistemas necessários para que uma aplicação ou sítio web funcione correctamente. Contudo, têm preocupações opostas.
O termo “front-end” refere-se à interface do utilizador, enquanto que “back-end” significa o servidor, a aplicação e a base de dados que trabalham nos bastidores para fornecer informação ao utilizador.
O utilizador introduz um pedido através da interface.
É então verificado e comunicado ao servidor, que retira os dados necessários da base de dados e os envia de volta ao utilizador.
Aqui está uma análise mais detalhada da diferença entre desenvolvimento front-end e back-end.
O que é desenvolvimento front-end?
O Front-end é construído utilizando uma combinação de tecnologias como a linguagem Hypertext Markup (HTML), JavaScript e Cascading Style Sheets (CSS).
Desenho e construção dos elementos de experiência do utilizador na página web ou aplicação incluindo botões, menus, páginas, links, gráficos e muito mais.
HTML
Hypertext Markup Language é o núcleo de um website, fornecendo o design e funcionalidade globais.
A versão mais recente foi lançada em finais de 2017 e é conhecida como HTML5.2.
A versão actualizada inclui mais ferramentas destinadas aos programadores de aplicações web, bem como ajustes feitos para melhorar a interoperabilidade.
CSS
Fichas de estilo em cascata dão aos programadores uma forma flexível e precisa de criar designs atractivos e interactivos de sítios web.
JavaScript
Esta linguagem baseada em eventos é útil para criar elementos dinâmicos em páginas web HTML estáticas.
Permite aos programadores aceder a elementos separados da página HTML principal, bem como responder a eventos do lado do servidor.
Front-end frameworks tais como Angular, Ember, Backbone, e React são também populares.
Estes frameworks permitem aos programadores acompanhar a crescente procura de software empresarial sem sacrificar a qualidade, pelo que estão a ganhar o seu lugar como ferramentas de desenvolvimento padrão.
Um dos principais desafios do desenvolvimento de front-end – que também dá pelo nome de “desenvolvimento do lado do cliente” – é o rápido ritmo de mudança nas ferramentas, técnicas e tecnologias utilizadas para criar a experiência do utilizador para aplicações e websites.
O objectivo aparentemente simples de criar uma interface de utilizador clara e fácil de seguir é difícil devido a resoluções e tamanhos de ecrã de dispositivos móveis e computadores por vezes muito diferentes.
As coisas complicam-se ainda mais quando se considera a Internet das Coisas (IoT).
O tamanho do ecrã e a ligação à rede têm agora uma maior variedade, pelo que os programadores têm de equilibrar essas preocupações quando trabalham nas suas interfaces de utilizador.
O que é o Desenvolvimento de Back-End?
O back-end, também chamado lado do servidor, consiste no servidor que fornece os dados a pedido, a aplicação que os canaliza, e a base de dados que organiza a informação.
Por exemplo, quando um cliente navega por sapatos num website, está a interagir com o front end.
Após seleccionarem o artigo que desejam, colocá-lo no carrinho de compras, e autorizarem a compra, a informação é mantida dentro da base de dados que reside no servidor.
Poucos dias depois, quando o cliente verifica o estado da sua entrega, o servidor puxa a informação relevante, actualiza-a com dados de rastreio, e apresenta-a através do front-end.
Back-end Tools
A principal preocupação dos criadores do back-end é criar aplicações que possam encontrar e entregar dados no front end.
Muitas delas utilizam bases de dados de nível empresarial fiáveis como Oracle, Teradata, Microsoft SQL Server, IBM DB2, EnterpriseDB e SAP Sybase ASE.
Há também uma série de outras bases de dados populares, incluindo MySQL, NoSQL e PostgreSQL.
Existe uma grande variedade de frameworks e linguagens utilizadas para codificar a aplicação, tais como Ruby on Rails, Java, C++/C/C#, Python e PHP.
Nos últimos anos, os fornecedores Backend-as-a-Service (BaaS) têm amadurecido numa alternativa viável.
São especialmente úteis no desenvolvimento de aplicações móveis e trabalham dentro de um calendário apertado.
O que é o desenvolvimento full-stack?
O desenvolvimento tanto dos sistemas back- como front-end tornou-se tão especializado, que é mais comum para um programador especializar-se em apenas um.
Como regra geral, o desenvolvimento full-stack por um único programador não é uma solução prática.
No entanto, por vezes, uma empresa de desenvolvimento de software personalizado terá programadores que são proficientes com ambos os lados, conhecidos como programadores de pilha cheia.
P>Eles poderosos jogadores de equipa porque têm a amplitude de conhecimento para ver o panorama geral, deixando-os sugerir formas de optimizar o processo ou remover bloqueios de estrada que possam estar a atrasar o sistema.
Para descobrir qual a base de dados e estrutura a utilizar no seu próximo projecto, leia o nosso artigo “What is the Best Front-End/Back-End Combo for an Enterprise App.”
Se estiver pronto para ver como podemos pôr os nossos conhecimentos a funcionar para si, estabeleça hoje uma consulta gratuita!