O que é Front-end e Back-end?

É uma divisão que os desenvolvedores de sites e aplicativos fazem para dividir o seu trabalho e de maneira simples o que dizer:
Front-end é aquilo que você vê e com o que você interage, ou seja, é a interface gráfica.
Back-end é o contrarregra por trás dessa interface, tudo aquilo que trabalha do lado do servidor.
O que faz um desenvolvedor de Front-end:
O desenvolvedor Front-end em tradução literal: o “lado da frente” é responsável pela programação da parte frontal da aplicação web. O determinante para este profissional é dominar conceitos e tendências do design para web, conceitos de identidade visual, entendimento de padrões de cores, usabilidade, ferramentas de edição visual e, em alguns projetos, edição de vídeo e criação de animações.
Elementos como títulos, textos, fontes, imagens, vídeos fazem parte do Front-end. Cores, estilos, efeitos e pequenas animações — utilizando regras de linguagem, marcação e programação* — são adicionados também ao Front-end que também inclui o comportamento da página, slides e popups.
As páginas criadas pelo Front-end são estáticas e podem funcionar em qualquer computador utilizando o navegador, pois elas não requerem banco de dados, processamentos de informações de dados, não envia dados de formulários ao banco ou servidor de email, não registra nenhuma informação no servidor.
Basicamente o Front-end desenvolve a página interativa entre o usuário e a interface e coleta as informações a serem passadas para o Back-end via formulários, Ajax e outros meios.
O mercado para desenvolvedores Front-end tem crescido de maneira exponencial, por isso conhecer apenas HTML, CSS e JavaScript não é mais suficiente. É preciso uma atualização constante, pesquisas e trabalho constante de aprimoramento.
* HTML não é linguagem de programação, é linguagem de marcação usada para arquitetar o site. CSS é linguagem de estilo, responsável por estilizar o site, com cores, alguns efeitos, formatar alguns elementos HTML. JavaScript (que é diferente de Java) é linguagem de script, com ela podemos criar efeitos, gráficos, manipular o HTML, colocar relógio, contadores, popups, validação dentre outras possibilidades. O Front-end também usa as linguagens XHTML, HTML5, CSS3, jQuery, AngularJS dentre outras.
Esse profissional utiliza os layouts em PSD (arquivos de Photoshop) criados pelo Designer ou Webdesigner e os transforma em uma página com HTML, CSS e JavaScript. Elementos como títulos, textos, fontes, imagens, vídeos são adicionados com o HTML; cores, estilos, efeitos e pequenas animações são adicionados por regras de CSS; o comportamento da página, slides, popups, validações e entre outras regras comportamentais são adicionadas via JavaScript.
O que faz um desenvolvedor de Back-end:
Se antes o termo “Front-end” representava o “lado da frente”, o Back-end é “lado de trás”, ou seja, a programação pesada por trás de um site ou aplicativo: validações, processamento de dados e a comunicação da aplicação com o Banco de Dados e servidores.
O Back-end é responsável por coletar as informações enviadas das páginas do Front-end para uma base de dados*.
O desenvolvedor Back-end trabalhará com linguagens de programação**, mas o que destaca mesmo o desenvolvedor web não é a quantidade de linguagens de programação que ele conhece, mas a sua capacidade de interpretar algoritmos e o seu conhecimento sobre a lógica por trás da programação, além de possuir pleno conhecimento sobre o funcionamento de bancos de dados e servidores.
O trabalho do desenvolvedor Back-end pode ser um tanto abstrato, então seguem alguns exemplos de funcionalidades que são responsabilidades desse profissional:
Quando você cria a sua conta em um e-commerce, o Back-end cadastra seus dados no banco de dados da organização. Quando você faz login, é através do Back-end que é possível validar se o nome de usuário e a senha estão corretos. Em transações online, onde os seus dados serão enviados de forma criptografada para um sistema de pagamentos, como o PagSeguro, por exemplo; tem o trabalho do Back–end por trás.
Quando você precisa saber informações sobre a sua loja física como quantidade de produtos em estoque, faturamento, informações de clientes, tudo isso só é acessível através de programação Back-end.
* O Back-end também transfere as informações da base de dados e as exibe nas páginas em HTML. Praticamente quase tudo que o programador entrega precisa do HTML para ser exibido ao usuário. O Back-end pode fazer tudo em programação desde sistemas robustos e grandes como CRM, ERP, CMS, Intranet, lojas virtuais, portais, aplicativos, sistema operacional, a programação menores como blog e site. Resumo: não há limites para um Back-end.
** Entre as linguagens mais conhecidas de programação destacam-se: PHP, Python, Ruby on Rails, .NET que apresentam facilidade de desenvolvimento web proporcionada ao desenvolvedor. O Back-end pode trabalhar com várias linguagens como PERL, C, C#,C++, VB, JSP, NodeJS, Java dentre outras cada uma com sua respectivas funções e necessidades.
Por trás do Back-end ou Front-end algo em comum:
O conhecimento para levar seu projeto sempre à frente.
Esses profissionais web tem suas características próprias tanto do ponto de vista de suas habilidades técnicas quanto dos objetivos e funções.
Espero ter conseguido passar para você a diferença entre esses dois profissionais, caso tenha alguma dúvida ou algo a acrescentar, deixe seu comentário que terei a maior satisfação em responder ou interagir.
TAGS: Back-end, CSS, CSS3, Developer, Front-end, HTML, Java, JavaScript, jQuery, NodeJS, PHP, Python, Servidor, UI/UX
Originally published at joseroberto.com.br.
