Particulares e empresas já não podem viver sem a Internet. Seja pela necessidade de comunicar através de uma app de uma rede social ou comprar e vender produtos através de plataformas online de e-commerce, todos acabamos por estar ligados ao mundo digital que “nasce” nos ecrãs dos nossos computadores e smartphones.
Contudo, para que isso aconteça e o mundo caminhe irreversivelmente no caminho da digitalização, há quem nos bastidores trabalhe ativamente para manter este mundo online acessível, sedutor e otimizado para o crescente universo de dispositivos móveis existentes no mercado.
Dois dos grandes responsáveis por este trabalho são os frontend developers e os backend developers, profissões de grande exigência e competência que, também por isso, acabam por ser bem recompensadas.
Aliás, não é à toa que a procura por “frontend developer curso” (online ou presencial) ou “web developer curso online” tem tomado conta dos motores de pesquisa nos últimos meses marcados pela pandemia e pela digitalização da vida quotidiana como se comprova pela adesão ao curso de fullstack developer em Lisboa (presencial) e resto do país (online) que a Wild Code School disponibiliza.
Se está na dúvida entre um curso de frontend developer online ou um curso de web developer online (onde o ensino de frontend e backend correm em paralelo), por exemplo, é bom estar a par das diferenças que marcam estes dois universos da programação e como, a sua complementaridade, é fundamental para a transformação digital em que estamos envolvidos.
Na prática, um Frontend Developer é o profissional que tem a seu cargo toda a parte visual de um site, isto é, a parte com o qual o utilizador normal interage. Através da utilização de linguagens de codificação como o HTML, o CSS ou o Javascript, este profissional especializado desenvolve código para o interface gráfico de uma plataforma online, mas de uma forma diferente do que acontece com um designer gráfico, o qual é responsável pela “estética” que se vai aplicar ao “corpo” desenvolvido pelo frontend developer.
Em suma, a função deste género de programadores é criar interfaces que se assumam, simultaneamente, tão atrativas como intuitivas visando tornar a experiência do utilizador do site muito mais agradável.
Ao contrário do que iremos ver no trabalho de um backend developer, o frontend developer utiliza linguagens de programação mais simples, tais como o HTML, o CSS ou o Javascript. Em detalhe:
Através do CSS, o frontend developer vai definir a paleta de cores, alinhamento, tamanhos de fonte, animações e outros itens de design. Esta linguagem é uma aposta corrente dado os sites ficarem com uma aparência mais robusta.
Para além disto, o Javascript é ainda a linguagem mais utilizada pela maioria dos frameworks e bibliotecas do mercado.
Os frontend developers precisam ainda de ser competentes em outras ferramentas que, tradicionalmente, não são utilizadas pelos programadores. Nesta categoria inserem-se os programas de edição de imagem (Photoshop, por exemplo), ou plataformas como Figma ou Sketch que lhes vão permitir criar protótipos, pré-visualizar como os utilizadores vão navegar na plataforma e testar conceitos diferentes antes de finalizarem o desenvolvimento.
Ao contrário do frontend developer, o trabalho do backend developer desenvolve-se na retaguarda, isto é, estes profissionais são responsáveis por implementar arquiteturas robustas, que estejam em comunicação com o banco de dados do site e que, ultimamente, garantam a segurança dos dados enviados pelo utilizador.
Por exemplo, as fotos ou vídeos que postamos numa rede social são dados, dados a que quereremos aceder sempre que abrimos a página da nossa conta. Ora, para que isso aconteça, estes dados terão que ser armazenados num banco de dados, contudo, este envio não é direto.
Nesse intermédio, existe uma parte da aplicação que é responsável por receber essas informações, fazer operações específicas — publicações, filtros, exclusões, verificações de segurança e validações — e, após isso, fazer o armazenamento no banco de dados. Esta é a parte que cabe ao backend.
Além disso, de forma diferente do que acontece com o frontend, as linguagens utilizadas por estes developers são executadas em linguagens entendidas por servidores. Por isso, as ferramentas backend são também são conhecidas como server-side.
Entre as linguagens mais utilizadas pelos backend developers estão o C#, o Java, o Ruby e até o Javascript, este último por intermédio do Node.js. Outra das principais diferenças entre frontend e beackend developers situa-se na proximidade que estes últimos têm com a análise de dados, machine learning e big data.
Apesar das diversas finalidades que os backend developers lhes dão, existe uma caraterística comum a todas as ferramentas de programação que estes profissionais utilizam: a execução no lado do servidor.
Em detalhe, as principais linguagens são:
Pode ser utilizada para diversas finalidades, desde aplicações desktop até serviços web e aplicativos móveis — através da plataforma Xamarin.
Além disso, a linguagem Ruby conta com o Rails, um framework para desenvolvimento de aplicações web, que é de código aberto.
Apesar de diferentes na função e nas linguagens utilizadas, sites e apps nunca estariam verdadeiramente completos sem que os frontend e os backend developers atuassem em complementaridade.
Afinal de contas, se o frontend developer assegura a boa navegação e interatividade entre utilizador e sites/apps, o backend developer trabalha na sombra na otimização da performance do servidor para que este possa aceitar mais carga de trabalho e garantir aos utilizadores que visitam um website ou aplicação e disponibilizam os seus dados para se registarem ou fazerem uma compra numa determinada plataforma, o realizem sem atritos.
Não podíamos acabar sem referir o papel do fullstaker developer, profissional que, na prática, reúne em si os mundos do frontend e do backend.
Embora ainda existam algumas reservas quanto à ideia de um profissional que junte estas duas vertentes, uma vez que é considerado melhor ser-se especializado numa destas duas áreas, a verdade é que as empresas estão a investir de forma crescente em fullstack developers que sejam capazes de atuar, simultaneamente, no design da interface que os utilizadores vão ver no browser e na arquitetura da infraestrutura que a sustenta.