Olá Pessoal,
Hoje vamos falar sobre uma técnica para geração de código fonte em JavaScript que está sendo bastante utilizada no desenvolvimento de páginas HTML, chamada de “Transpilação”. Mas o que seria Transpilação?
Transpilar significa converter um código fonte em outro por meio de um processo de compilação, ou seja, o programador escreve o código fonte em uma linguagem que após ser compilada gerará um código equivalente em outra linguagem. Essa técnica não é nova e já é utilizada em diversos cenários na computação, falando especificamente sobre desenvolvimento web e principalmente de JavaScript, acontece que nos últimos anos vemos um número crescente de linguagens e compiladores que se propõem a gerar código fonte em JavaScript.
E por que isso está acontecendo? Apesar de JavaScript ser uma linguagem extremamente boa para o que que se propõe, a resposta está em algumas dificuldades encontradas quando estamos utilizando JavaScript de maneira séria em projetos de grande porte, algumas dessas dificuldades são:
- O fato da linguagem não ser fortemente tipada;
- A dificuldade em encontrar IDEs e Editores que alertam sobre erros de codificação, isso em grande parte é devido ao fato de que a linguagem não possui tipos;
- Pelo menos até o ECMAScript 5, não existe suporte claro para a criação de classes e interfaces;
- Dificuldade em encontrar programadores que saibam todos os conceitos da linguagem e saibam utilizar esta em aplicações Enterprise;
Claro que esses exemplos são simplistas e, é fato que existem no mercado alguns profissionais que possuem domínio de sobre a linguagem, mas acreditem, esses profissionais não são fáceis de encontrar e principalmente não vão vir por um preço baixo. Com relação aos Transpilers os mais conhecidos são:
Tenho me dedicado nos últimos meses a aprender este último, chamado de TypeScript, e que me surpreendeu bastante, principalmente porque se assemelha bastante a linguagens “Enterprise” que já estão consolidadas, como Java e C#.
TypeScrpt possui algumas vantagens, que são:
- Suporte a criação de classes e interfaces;
- Suporte a Generics;
- Suporte a tipos de dados bem definidos(string, number, boolean e etc);
- Com uma extensa gama de Editores e IDEs que podem ser utilizados.
E o melhor de tudo isso e que como TypeScript após ser compilado gerará um JavaScript, é possível utiliza-lo também para desenvolver aplicações NodeJS, por falar nisso, é inegável o crescimento de projetos utilizando NodeJS não apenas como VM mas também como Ambiente de desenvolvimento, isso porque já existem uma gama enorme de pacotes e utilitários de linha de comando no repositório oficial, é por esse fato que podemos utilizar o NodeJS para criar nossos códigos em TypeScript.
Abrcs e até logo!
Natanael Fonseca