O que é Front-end e Back-end?

O que é Front-end e Back-end?

Front-end e Back-end são termos bastante utilizados no ramo de programação, principalmente se tratando de desenvolvimento para internet. A criação de uma plataforma como o Linkedin, por exemplo, pode se tornar tão complexa, que necessita de profissionais especializados para cada parte do sistema.

O que é Front-End?

Ainda usando o Linkedin como exemplo, te convido a prestar atenção na página do feed de publicações desta plataforma. Veja os botões, os textos, as imagens, a disposição de cada elemento na tela. Tudo o que está visível para você na interface e o que você consegue interagir faz parte do front-end desse sistema. Cada efeito gerado por uma ação nesta página, seja por um clique em um botão de curtir ou uma caixa de mensagens de um usuário que você abre e fecha, foi criado pelo time de front-end. Uma das principais missões deste time é fazer com que eu e você tenhamos uma ótima experiência interagindo e navegando por esta plataforma. Ou seja, front-end é a parte visual, “da Frente”, de uma aplicação.

As tecnologias mais utilizadas por profissionais front-end são HTML, CSS, Javascript, ReactJS, Angular e Vue. E essas tecnologias são interpretadas pelo próprio navegador, seja o Chrome, Firefox, Safari, Edge ou outros.

O que é Back-end?

Bom, se o front-end é a parte frontal e visível, sempre tem alguém nos bastidores trabalhando para o que tudo funcione da forma correta. Você pode não saber, mas existem diversas regras de negócio funcionando “por trás dos panos” desta plataforma. Quer um exemplo? Se esta publicação chegou até você, uma das regras para isso ter acontecido é que temos uma conexão neste aplicativo, certo? Se não for o caso, vamos para uma próxima regra: Alguém que você tenha conexão interagiu com esta publicação e ela apareceu pra você. Acertei? Agora imagine a seguinte situação: você abre o Linkedin e ele lista para você todas as publicações de todos os usuários existentes no Linkedin do Brasil e do mundo sem filtro ou regra nenhuma. Ia ser uma bagunça total e muito provavelmente não seria tão eficiente no que propõe. E essa é uma das principais missões do time de back-end: trabalhar para que toda a lógica do sistema e as regras de negócio sejam executadas da forma correta e eficiente, assim como tratar e validar todos os dados que os usuários enviam pelo navegador até o registro no banco de dados.

As tecnologias mais utilizadas por profissionais de back-end são Java, Python, Javascript (novamente), ASP, Ruby, PHP entre outras. E essas tecnologias, diferente do front-end, não são interpretadas pelo navegador, mas estão "rodando" em um ambiente separado, no qual chamamos de servidor.

Qual destas duas camadas é a mais importante em um software?

Vamos pensar em uma coisa: De que adianta um carro ter as melhores tecnologias em sua parte mecânica e eletrônica se o cliente simplesmente achá-lo feio ou desconfortável? Ou de que adianta o carro ser atraente e confortável, se internamente ele não funcionar como deveria? O raciocínio com o desenvolvimento de software é o mesmo. Assim como não deveríamos criar um software poderoso em sua lógica mas não oferecer uma boa experiência de navegação para o usuário, também não podemos entregar um produto que ofereça uma excelente experiência para o usuário, mas não ser funcional ou seguro o suficiente. Os dois são igualmente relevantes!

O importante é saber que um depende do outro para que uma plataforma ou um produto digital seja bem sucedido no mercado.

Tem mais alguma consideração a ser feita? Deixe seu comentário pra gente saber!

E se esta publicação de alguma forma te acrescentou, pretendo continuar com uma sequência de publicações sobre o universo tecnológico e de programação. Bora acompanhar? 😁