Cuáles son las principales diferencias entre Babel y TypeScript [cerrado]


Sé que TypeScript se usó para escribir Angular2, lo que probablemente lo convierte en una mejor opción para alguien que quiere entrar en Angular2, pero cuando miro Babel se parece mucho a TypeScript.

Me di cuenta de que muchas empresas conocidas se adhieren a Babel.

Algunas preguntas:

  1. ¿Qué ventajas tienen unos sobre otros?
  2. ¿Qué los hace mejor o peor elección para el proyecto/desarrollador?
  3. ¿Cuáles son las principales diferencias entre ellos ¿y qué los hace únicos?
Author: Aditya Singh, 2016-05-25

2 answers

TypeScript es un superconjunto de JavaScript que se compila en JavaScript plano (ES3+). El objetivo principal de TypeScript es permitir a los desarrolladores aprovechar excelentes capacidades de escritura estática. Es adecuado para aplicaciones grandes que se beneficiarían de características como:

  • Escriba anotaciones y escriba inferencia.
  • Genéricos.
  • Interfaces, enumeraciones, espacios de nombres, módulos y clases (los dos últimos disponibles en ES6).
  • Seguro refactorización.

Por lo que sé, Babel simplemente "transpila" las nuevas características de ECMAScript a un formato que es compatible con los entornos ECMAScript más antiguos. Es adecuado para desarrolladores que desean escribir JavaScript sin formato utilizando características de lenguaje más recientes.

 43
Author: Marty,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-25 07:54:46

Victor Savkin uno de los desarrolladores de angular 2 habla de por qué seleccionaron Typescript sobre otras tecnologías.

Http://victorsavkin.com/post/123555572351/writing-angular-2-in-typescript

La última sección ¿Por qué Typescript?

"Hay muchas opciones disponibles para los desarrolladores de frontend hoy en día: ES5, ES6 (Babel), TypeScript, Dart, PureScript, Elm, etc.. Entonces, ¿por qué TypeScript?

Comencemos con ES5. ES5 tiene una ventaja significativa sobre TypeScript: it no requiere de un transpiler. Esto le permite mantener su configuración de compilación simple. No es necesario configurar observadores de archivos, transpilar código, generar mapas de origen. Simplemente funciona. Para muchos proyectos pequeños, esta simplicidad supera las capacidades avanzadas de refactorización y navegación que proporciona TypeScript. Solo sabes dónde está todo el código y qué hace.

ES6 requiere un transpiler, por lo que la configuración de compilación no será muy diferente de TypeScript. Pero es un estándar, lo que significa que cada el editor único y la herramienta de compilación son compatibles con ES6 o lo admitirán.

Elm y PureScript son lenguajes elegantes con potentes sistemas de tipos que pueden probar mucho más sobre su programa que TypeScript. El código escrito en Elm y PureScript puede ser mucho más conciso que el código similar escrito en ES5.

Cada una de estas opciones tiene pros y contras, pero creo que TypeScript está en un punto dulce que lo convierte en una gran opción para la mayoría de los proyectos. TypeScript toma el 95% de la utilidad de un bien lenguaje de tipo estático y lo lleva al ecosistema JavaScript. Todavía sientes que escribes ES6: sigues usando la misma biblioteca estándar, las mismas bibliotecas de terceros, los mismos modismos y muchas de las mismas herramientas (por ejemplo, Chrome dev tools). Te da mucho sin forzarte a salir del ecosistema JavaScript."

 22
Author: Tawfiq abu Halawah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-25 07:53:18