Nos últimos anos, a carreira de Web Developer (Programador Web) tornou-se uma escolha muito atraente, no entanto, há muito que se desconhece sobre esta profissão. Por isso, vamos explorar neste post os diferentes percursos de carreira, desde os mais conhecidos a alternativas mais interessantes.
Afinal, o que é Programação Web?
Vamos começar por falar sobre o termo que abrange tudo o que vais ler mais para frente: a programação web refere-se a qualquer projeto que utiliza as bases de programação em projetos orientados a navegadores com HTML, CSS e JavaScript.
Muitas das ferramentas e projectos que vamos mencionar a seguir vão exigir que tenhas um conhecimento sólido sobre alguns tópicos principais, mas vamos começar devagar para que possas mover-te mais facilmente entre as tecnologias e campos.
O que é Programação Web Front-end e o que abrange?
Este pode ser o primeiro passo na tua carreira como Programador Web. O front-end é toda a camada visível e pública de um site, e consiste em documentos HTML que exibem o conteúdo, CSS para definir o estilo e layout e JavaScript para tudo aquilo que seja interativo, como redirecionamentos, respostas a ações do utilizador como cliques, determinadas teclas, etc.
Uma vez dentro do universo de front-end, existem várias possibilidades de escolha quando atingimos um determinado nível, quando chegamos a esta etapa, podemos estruturar o nosso código com frameworks e bibliotecas de front-end. Para isso, existem várias opções!
Os mais populares são: Reactjs, Vuejs, Angular ou o Svelte. Estas ferramentas são a maneira mais fácil e rápida de programar um site e sua interface do utilizador, pois permitem o aproveitar o código que outras pessoas/empresas já escreveram e testaram.
Ok, e o que é Programação Web back-end?
Back-end costuma ser o pesadelo de alguns e o paraíso de outros, já que é, de certa forma, a parte mais complexa de um produto digital. No passado, o back-end já foi bem mais difícil pela complexidade do código, mas hoje em dia não é muito diferente do front-end. Podemos dizer que ambos têm quase a mesma dificuldade, já que o papel do front-end tem de comportar tecnologias cada vez mais modernas para realizar determinadas ações no seu navegador.
Este ramo de programação é famoso por ser responsável pelos aspetos delicados de uma aplicação, site ou sistema, como por exemplo: processamento de pagamentos, sessões de utilizador, segurança, informações confidenciais, entre muitas outras coisas. Ao mesmo tempo, é bastante interessante, porque o back-end constitui a lógica de negócios de cada produto.
O ecossistema de um Programador Back-end é mais amplo, já que permite realizar uma aplicação em várias linguagens, sendo que as principais são: Ruby, Python, Javascript (com o Node Js), Go e PHP.
Além das linguagens, também terás a opção de escolher entre frameworks de back-end como por exemplo: Ruby on Rails, Django ou Flask para Python, Express/Koa/Nest para Node Js, etc. Também terás que escolher e dominar alguns bancos de dados sendo que os mais populares são: MongoDB, MariaDB, PostgreSQL e MySQL.
Uma coisa interessante é que não programas apenas coisas simples no back-end, é possível criar algo tão complexo como jogos com vários jogadores em tempo real com o NodeJS.
Queres saber que projetos um programador pode fazer?
1. Cria o teu próprio jogo
Uma parte fascinante da programação Web é que estás a poucos passos de desenvolver um jogo caso já tenhas tomado a decisão de aprender a programar. O navegador conta com ferramentas que permitem trabalhar com gráficos 2D e 3D, por isso, a única coisa que falta para criar um jogo é ter uma ideia e pensar na lógica. Também existem bibliotecas que te ajudam a acelerar o desenvolvimento do teu jogo com ferramentas de apoio e até com uma base bastante extensa para o teu jogo.
Aliás, no módulo 1 do bootcamp de Programação Web construímos um jogo para consolidar os conhecimentos básicos de programação. Encontra alguns exemplos de projetos realizados por ex-alunos:
2. Programa uma app!
Para programação de apps, existe uma grande variedade de linguagens de programação que podem ser usadas. Ainda assim, como programadores, há muito tempo que procuramos tornar possível a programação mobile não apenas aprendendo outra linguagem, mas também usando aquela que usamos desde sempre, JavaScript.
2.1 Progressive Web Apps (aplicações progressivas para a web): o que são e porque criar a tua?
As Progressive Web Apps (PWAs) são páginas web como já conhecemos que se comportam como apps e têm também a sua aparência. Uma das principais vantagens das Progressive Web Apps é que podem ser instaladas num dispositivo móvel sem termos de passar por uma loja como a Play Store. Basta abrir o site e terás a opção de instalar a PWA.
Outra vantagem das PWAs é que não precisas de escrever outra aplicação para ir de um site convencional para uma PWA, basta adicionar um documento chamado manifest e complementar a informação que o formato exige para poderes aproveitar os benefícios de ter uma aplicação com o mesmo código que escreveste para o teu site. Além disso, podes permitir que ela seja visitada sem ter uma ligação à internet, receber notificações como numa app convencional, entre muitas coisas.
2.2 Aplicações híbridas: o que são e o que ter em consideração ao programar uma.
São aplicações que estão instaladas num dispositivo e utilizam elementos de aplicações nativas assim como de aplicações web e websites. Não são realmente apps nativas, mas a sua funcionalidade assemelha-se bastante a uma, um exemplo deste modelo é o Phonegap.
2.3 Aplicações nativas: no que consistem e como programá-las.
Ter a capacidade de usar a mesma linguagem e framework ou biblioteca que usas no teu site num produto nativo para Android e IOS, e mesmo nas duas plataformas, é incrível. Esta possibilidade fez com que as empresas conseguissem criar este tipo de produtos rapidamente e eficientemente enquanto economizam recursos. É o caso de ferramentas como o React Native que agora adicionam suporte até mesmo para criar aplicações de desktop, tiram partido de componentes nativos e entregam uma aplicação para Android e IOS com o mesmo código-fonte. Mágico. Existem outras opções como o NativeScript.
3. Cria as tuas próprias obras de arte
O mundo da programação abre portas para o mundo artístico que são pouco exploradas, mas bem recompensadas. O mundo de Javascript dá acesso a tanto arte generativa como gráficos em 3D. Podes começar a explorar arte generativa com ferramentas como o p5.
Tens também o Three.js que dá vida a projetos como o Decentraland, que nos mostra gráficos dignos de uma consola de jogos no nosso navegador!
4. Mergulha no mundo da realidade virtual e realidade aumentada
Também existem projetos que permitem que, como Programador Web, tenhas a oportunidade de te aventurares no mundo da realidade aumentada e virtual, tecnologias que a indústria exige cada vez mais, já que muitos avanços se devem a elas! Existem uma série de ferramentas para ajudar a programar para este formato, sendo que um dos mais versáteis é o Viro, que utiliza o React Native para conseguir aplicações que exploram o potencial da realidade aumentada e virtual.
Outra opção é o A-frame que permite criar experiências de realidade virtual no navegador, e o código para iniciar é de apenas 14 linhas. Até já foi criada uma tour virtual do CERN para navegador com esta tecnologia...
O React 360 faz algo semelhante, mas usa o poder do React e dos seus componentes.
5. Desenvolve projetos com Machine Learning
Queres criar um programa que compreenda quando ou não fazer algo em resposta a uma qualquer entrada? Por exemplo, treinar um computador para detectar em que posição está a tua cabeça e com base nisso mover uma personagem de um jogo? (Esta é uma das demonstrações que o Tensor Flowjs tem para jogar pacman.)
Aqui não só precisas de saber programar, mas também tens de ter um bom conhecimento sobre inteligência artificial. É um longo caminho a percorrer, mas que vale muito a pena! Estamos a falar da mesma tecnologia que permite que os carros andem sozinhos, mas no teu navegador, à tua disposição.
Conclusão:
Nos dias de hoje, aprender a programar não é apenas uma linha reta onde só existe um caminho para crescer e evoluir, pelo contrário: o universo da programação web é um daqueles ambientes incríveis que permitem que te expandas para todos os lados. Existem muitos caminhos e diversas possibilidades, depende do teu gosto e dos teus objetivos!
Este leque enorme de oportunidades fica ainda maior se vieres de outra área e conseguires encontrar uma forma de convergir os teus diferentes conhecimentos. Juntar o teu conhecimento ao mundo da programação web pode dar-te a oportunidade de criar coisas incríveis.
Se tens vontade de aprender a programar e de te tornares um Programador Web, descobre mais sobre o nosso bootcamp de Programação Web.