A transpilação é, essencialmente, uma tradução especializada do processo de compilação. O procedimento é realizado de forma semelhante ao que um compilador faz, porém com uma diferença notável: enquanto um compilador tradicional tem como alvo um código de baixo nível, como Assembly ou código de máquina, o transpilador tem como objetivo um código-fonte em uma linguagem diferente ou a mesma linguagem escrita de outra maneira.
Linguagens como CoffeeScript, TypeScript e o próprio JavaScript usam a transpilação para garantir compatibilidade entre versões. Há também outras linguagens que geram código-fonte em C em vez de código de baixo nível.
Dessa forma, é possível programar em ES6 sem preocupações, mesmo que você queira oferecer suporte a navegadores antigos com versões mais antigas da especificação EcmaScript. Basta realizar a transpilação do ES6 para uma versão anterior e o código poderá ser executado em qualquer lugar. Isso se torna ainda mais fácil, já que muitas das novidades do JavaScript são praticamente "açúcar sintático" (syntax sugar).
A transpilação pode ser vantajosa, pois permite que uma linguagem esteja disponível em várias plataformas e se beneficie das otimizações que essa linguagem proporciona. No entanto, também existem algumas desvantagens, como a dificuldade na depuração, que pode exigir mapeamento, ou possíveis incompatibilidades entre o modelo de memória da linguagem-fonte e da linguagem-alvo, entre outros aspectos.
Refrências:
MOZILLA DEVELOPER NETWORK (MDN). Transpilation. Disponível em: https://developer.mozilla.org/en-US/docs/Glossary/Transpiler. Acesso em: 6 jun. 2018.
ECMA INTERNATIONAL. ECMAScript 2015 Language Specification. Disponível em: https://www.ecma-international.org/ecma-262/6.0/. Acesso em: 6 jun. 2018.
MICROSOFT. TypeScript. Disponível em: https://www.typescriptlang.org/. Acesso em: 6 jun. 2018.
COFFEESCRIPT. CoffeeScript. Disponível em: https://coffeescript.org/. Acesso em: 6 jun. 2018.
Comentários
Postar um comentário