Front End? Back End? Full Stack? 
Tags: frontend, backend, fullstack, codelikeagirl
Published: 2020-06-26 17:15:26

Esse artigo foi escrito por [Silvia Coelho](https://www.linkedin.com/in/silvia-coelho/) e [Dani Clericurzi](https://www.linkedin.com/in/danielle-clericuzi/) especialmente para o [Elas Programam](https://www.instagram.com/elasprogramam/).

Quem está começando na área de tecnologia se depara logo com termos como *Front End*, *Back End*, *Full Stack* e a sopa de letrinhas que está dentro de cada um desses. Mas calma, não precisa se desesperar! A sorte é que o Elas Programam é cheio de mulher incrível e a [Eve Montalvão](https://www.linkedin.com/in/evemontalvao/) compartilhou com a gente várias dicas para esclarecer essas diferenças. Compilamos as dicas da Eve nesse artigo.
De forma simples, o *Front End* é a interface e *Back End* o funcionamento.

![https://www.meme-arsenal.com/](https://dev-to-uploads.s3.amazonaws.com/i/lufecrp2t4lc6k9mqq7f.jpg)



O *Front End*, geralmente utilizando *HTML*, *CSS* e *JavaScript* vai desenvolver as telas da aplicação que costumam ser planejadas pelo Designer. É toda a parte de código que lida diretamente com o usuário, e lidar com o usuário é muito mais do que ajustar cores de fundo e mudar bordas. Na verdade, é a junção de estrutura, estilo e comportamento da interface.
 
O *HTML* é o responsável pela estrutura, é ele quem faz a marcação dos elementos da página (não é à toa que *HTML* significa *HyperText Markup Language*, ou Linguagem de Marcação de Hipertexto). O *CSS* (*Cascading Style Sheets*) é utilizado para estilizar os seus elementos. Com ele você pode mudar cores, tamanhos, fontes e até fazer animações.

O responsável pelo comportamento é o *JavaScript* (apelidado carinhosamente de *JS*). Apesar de ser possível fazer com *JS* todas as animações feitas com *CSS*, é muito mais recomendável que você o use para outros tipos de comportamento, como, por exemplo, validar formulários, fazer requisições AJAX, mudar conteúdos dinamicamente, lidar com respostas do *Back End* e entregar essas respostas para o usuário, etc. Percebem que animações *CSS* se tratam de comportamentos de elementos da página e *JS* se trata de comportamento do usuário?

E o *Back End*?
Bom, *Back End* é a pessoa que cuida do cérebro do site/aplicação. Toda a regra de negócio normalmente está nele. Imagine que um usuário preencheu um formulário para se cadastrar no seu site. Quem cuida dos dados enviados? Quem garante que eles chegarão com segurança ao banco de dados? Quem recebe as requisições feitas pelo *Front End*? O *Back End*.

Por ser uma área bem abrangente, existem diversas linguagens, como *Java, C#, C++, PHP, Python, Node.js* entre outras. Cada uma focada em diferentes soluções, algumas voltadas para soluções desktop, outras mobile, outras web. O bom de começar pelo *Back End* é ter uma BOA base de lógica de programação e conhecimento em banco de dados. 

#### Mas eu gostei das duas, preciso escolher uma? **NÃO**!

Se você, se encanta tanto com o bem-estar do usuário quanto pela regra de negócio da aplicação, você pode ser uma desenvolvedora *Full Stack* e atuar no fluxo completo. Para isso, deve estar bem familiarizada com ambos os lados. 

#### Não esqueçam, como sempre reforçamos: você não precisa sair estudando tudo de uma vez. Tente escolher uma linguagem e ficar muito boa nela, depois disso é muito mais fácil aprender outras e expandir seus conhecimentos.