Descubra todas as oportunidades Tronik︎ Subscreva a Newsletter.︎

O JavaScript está a dominar o mundo. Quem o dominará a ele?
04/04/2018

O JavaScript está a dominar o mundo. Quem o dominará a ele?

Nos dias hoje muito se fala sobre plataformas de JavaScript, a linguagem que surgiu pelas mãos de Brendan Eich na NetScape, passou hoje a ser considerada como solução para lá dos desafios típicos do Browser.

A linguagem nascida para ser simples, intuitiva e orientada para a estrutura Web, saltou para os devices, para o IOT e para os servidores.

Por intermédio de muito trabalho da comunidade Web, e das grandes companhias de software, têm vindo a surgir formas mais simples de implementar alguns dos design patterns base da linguagem.

A implementação de boas práticas (design patternssnipets e frameworks, o standard EcmaScript (nome original do JavaScript), tem conseguido ser cada vez mais a ferramenta escolhida para os desenvolvimentos.

Nos últimos anos, nos meios do desenvolvimento mais hardcore, assistimos a uma verdadeira revolução técnica para dar forma aos desenvolvimentos em JavaScript.

Todo este contexto permitiu que hoje em dia seja normal que a APP que utilizamos no nosso Iphone ou Android esteja desenvolvida recorrendo a técnicas de programação da Web, ou que as centrais de alarmes sejam controladas por integrados simples (Raspery Pi) através de aplicações de integração desenvolvidas em JavaScript (Node.JS).

Mais do que uma linguagem ou standard Web, o JavaScript arrica-se a, nos próximos anos, ser visto mais como uma “Máquina Virtual” do que como uma linguagem. E isso está já a assistir-se através do uso de tecnologias como o Cordova ou o nascimento da extensão de Outsystem a Mobile, através do React Native, ou até mesmo do nascimento do Angular Element.

Este move tem trazido consigo algumas discordâncias na comunidade sobre qual a framework certa a usar e a verdadeiros conflitos religioso e técnicos sobre a temática.

Na minha humilde opinião, e longa relação com o JavaScript e tecnologias de desenvolvimento, continuo a achar que existe uma tecnologia certa para cada desafio e uma razão pela qual fazemos as coisas.

Este é o desafio maior quando falamos de tecnologias que parecem engolir o mundo, e como as usar da forma correta.

framework de JavaScript onde tenho ajudado mais profissionais é o Angular, uma framework que traz ao JavaScript um flavor mais enterprise e tradicionalmente orientada a desafios que requerem uma organização superior.

Para além de ter a sua arquitetura baseada num conjunto de Design Patterns orientados ao Mobile e à Web, é bastante performante quando a usamos da forma correcta.

As versões mais recentes da tecnologia partem do princípio que pretendemos construir soluções modulares, escaláveis e responsivas (não só nos termos de experiência de utilizador, mas do ponto de vista de proatividade e reatividade da solução).

A framework vem equipada de raiz com conceitos como:

– Separação: A camada de apresentação deve estar separada da lógica da aplicação, de forma a facilitar a manutenção futura e até evolução, quer do design quer da lógica aplicacional. Quando corretamente aproveitada, esta característica permite também uma melhor divisão de tarefas dentro da equipa;

– Biding de Dados: Lembram-se daquele programa Web que fizeram? Aquele onde a complexidade de ligar as alterações de BD e de user interface requeria rotinas bastante complexas. O Angular na sua framework traz já uma resposta para este problema.

– Lazy loading: O tema relacionado com os tempos de carregamento de uma página nunca foi unânime entre developers, business men e clientes. Todos teremos alguma razão nas nossas críticas, mas se há algo em que somos unânimes é que nenhum de nós quer aguardar o carregamento de todos os conteúdos. Nessa matéria, a forma como o Angular trata o carregamento da árvore de Dom, e por consequência da página, é de uma forma lazy e otimizada;

– AlwaysConnected: A integração de sistemas é sempre um desafio principalmente se estamos a falar de Front-End Development ou Mobile Development, built in com a plataforma Angular, esta tarefa está normalizada, o que vem simplificar a sua implementação.

Para além disso esta plataforma encontra-se orientada ao Componente, o que me agrada particularmente pela capacidade que isto nos traz de “dividir para conquistar”.

Sendo uma plataforma mais enterprise, de forma a dotar os programadores de ferramentas que acelerem processos, o Angular vem equipado com o seu próprio set de instruções CLI que nos permitem automatizar grande parte das tarefas.

Através deste artigo podemos perceber como é fácil iniciar uma aplicação Angular.

Em termos de sintaxe de programação, esta framework permite que o developer possa escolher qual a linguagem que tem maior apetência.

Sendo que eu prefiro o uso do TypeScript que nos permite usar o JavaScript através de uma abordagem orientada aos objectos: ver mais aqui.

E testes? E testes?

Qual é o programador que gosta de ter erros no código produzido? Mas qual gosta, ou sabe, realmente testar o que desenvolve?

Este tema não é novo e é de facto complexo testar o próprio código produzido, até pelos próprios hábitos que o nosso cérebro cria ao observar o mesmo tipo de código e problema. Esta framework permite, de forma simples, equipar o código com testes automáticos.

Em suma, para quem gosta de tecnologias de programação orientadas a Web e gostaria de desenvolver soluções migráveis para Mobile e para um target enterprise, a framework Angular merece uma análise e oportunidade, mais aqui.

Para além das features da framework, é uma excelente framework para melhorar os nossos skills de JavaScript, para além de elevada empregabilidade em termos de desafios.

O JavaScript está a dominar o mundo. Enquanto profissionais da nossa área, cabe-nos agora entendê-lo e usá-lo para escrevermos o próximo capítulo digital dos nossos clientes ou produtos.

EDIT. / Alexandre Marreiros
EDIT. / Alexandre Marreiros