Artigos de Tecnologia e Negócios > Front-end

O que é front-end e back-end?

Mario Souto
Mario Souto

Front End ou Back End developer são termos para diferenciar onde uma pessoa que programa acaba se especializando. Se você está entrando no mundo do desenvolvimento muito provavelmente classifica todo mundo como programador e programadora, mas os sistemas se tornaram tão complexos que precisamos que cada um seja responsável por partes específicas de uma aplicação.

O que é Front End?

Podemos classificar como a parte visual de um site, aquilo que conseguimos interagir. Quem trabalha com Front End é responsável por desenvolver por meio de código uma interface gráfica, normalmente com as tecnologias base da Web (HTML, CSS e JavaScript). Algumas pessoas podem confundir um pouco esse trabalho com o que um designer faz (no passado existia uma entidade chamda Webmaster que fazia tudo isso e mais um pouco), mas a diferença aqui é que o designer vai utilizar alguma ferramenta visual para desenhar a interface, do Photoshop ao Sketch, e quem faz front-end estará mais próxima do código em si, que irá rodar em um navegador Web como Chrome, Firefox ou Safari.

 Ao clicar com o botão direito do mouse em um site, é possível visualizar seu HTML e até mesmo alterar o conteúdo que aparece na página em seu computador

É importante entender como funciona a web para saber o que diferencia quem faz front-end do back-end:

O mundo do Front End possui diversas tecnologias e está sempre evoluindo, se você quiser conhecer ele desde a base recomendo você dar uma olhada na Formação front end aqui da Alura, e caso queira ir mais a fundo trabalhando com as ferramentas da moda, confere essas outras formações especializadas em frameworks JavaScript:

O que é Back End?

Back End, como o próprio nome sugere, vem da ideia do que tem por trás de uma aplicação. Pode ficar meio abstrato em um primeiro momento, mas pense que para conseguir usar o Facebook no dia a dia, os dados do seu perfil, amigos e publicações precisam estar salvos em algum lugar, sendo esse lugar um banco de dados e processados a partir de lá. Não basta apenas o front-end em HTML e CSS! O Back End trabalha em boa partes dos casos fazendo a ponte entre os dados que vem do navegador rumo ao banco de dados e vice-versa, sempre aplicando as devidas regras de negócio, validações e garantias em um ambiente onde o usuário final não tenha acesso e possa manipular algo.

 Ao clicar com o botão direito do mouse em um site, é possível visualizar seu HTML e até mesmo alterar o conteúdo que aparece na página em seu computador

É comum desenvolvedores Back End trabalharem com ferramentas de linha de comando, sites (deixando o HTML dinâmico), análise de dados (embora isso puxe mais o que um Data Scientist faz). Tudo isso pode ser feito com uma série de linguagens diferentes como: PHP, Ruby, Java, Clojure, C# entre diversas outras que você pode dar uma olhada no fluxo para aprender cada uma delas se baseando nas formações aqui da alura nos links abaixo:

Onde se encaixa quem desenvolve aplicativos Mobile?

Existe uma discussão se quem trabalha como Front End também é desenvolvedor Mobile. Na prática não, mas pode ser. Explicando um pouco mais as tecnologias que envolvem os aplicativos mobile são inicialmente completamente diferentes das que citamos para a Web sendo elas para android: Java, Kotlin; E para iOS: Swift e Objective C. Desde o começo dos dispositivos mobile existiram alternativas para desenvolvermos como o Phonegap ou Apache Cordova que permitem que você crie um site que seja instalável como aplicativo (hoje temos a proposta das PWAs).

Na prática são mundos diferentes, o que pode gerar uma intersecção do Front End e do mundo Mobile seria o React Native por utilizar tanto um framework super popular na Web quanto a linguagem JavaScript. Mesmo com essa familiaridade toda, as diferençås das plataformas ainda sim separam os profissionais que mexem com sites e aplicativos em duas linhas diferentes.

É possível ser Full Stack?

Bom, ambas as vertentes do Front e do Back End possuem uma trilha bem longa dependendo do quão profundo conhecedor delas você quer ser. Uma definição comum é que quem mexe com Front End e Back End é um fullstack. Com o passar dos anos como desenvolvedor é meio natural após começar por um dos lados você ir aprendendo como o outro funciona, eu por exemplo comecei como desenvolvedor PHP e hoje sou focado 100% em Front End, por mais que eu não seja um especialista em Back End os conceitos que eu sei me ajudam a conseguir resolver problemas nesse lado, não tão bem quanto como Front End mas consigo.

O que vale se atentar aqui é que algumas empresas esperam que você tenha um conhecimento também de Devops e de SQL e Banco de dados.

Minha dica aqui é, se você está começando na carreira foque em uma área, estude ela bastante e conforme for se sentindo confortável e quiser explorar novos temas o conhecimento vai vindo de forma mais natural, vou até deixar um post do Guilherme Silveira sobre como você pode organizar seus estudos.

Conclusão

Vimos que quem trabalha com sites é chamado de Front End, quem faz aplicativos é um desenvolvedor Mobile e que o Back End cuida da aplicação que está por trás desses 2 tipos entre outros casos. Vimos que para ser Full Stack pode ser necessário aprender bastante coisa, e que se você quiser um guia para estudar aqui na Alura a gente tem diversas formações para poder ti puxar um norte nos estudos.

Artigos de Tecnologia e Negócios > Front-end