type mapped different complex typescript traceur

mapped - typescript type map



¿Debo usar Traceur en lugar de Typescript para apuntar a ES5 pero estar listo para ES6? (6)

Definitivamente no estoy de acuerdo con la opinión de que TypeScript y Traceur son tan diferentes, TypeScript es ES5 con tipos y Traceur es solo sobre ES6.

Por un lado, hay un TypeScript 2.0 compatible con ES6 en progreso . Por otro lado, hay algunas características en Traceur marcadas como experimentales en documentos, a saber, tipos y anotaciones . Y resulta que los tipos son muy similares a los tipos de TypeScript mientras que las anotaciones son algo irrelevante tanto para ES6 como para TypeScript. Así que Traceur es más solo ES6 y ya hay un nombre para eso: AtScript . Sí, tenemos otra extensión de idioma :-)

Hay una buena diapositiva de la presentación de Miško Hevery que muestra lo que realmente está sucediendo aquí, completamente válida tan pronto como se lance TypeScript 2.0:

Entonces, independientemente de lo que decida utilizar, es importante tener en cuenta que son subconjuntos, puede escribir ES5 / ES6 JS y será un código TypeScript válido, puede escribir TypeScript y será un código AtScript válido.

Volviendo a su pregunta, le daría un humilde consejo para comenzar con ES6 usando Traceur con las funciones experimentales desactivadas (es bastante estable ahora) y extenderlo según sea necesario, ya que esta no es una decisión tan radical, no lo encierra. Y deja espacio para moverse en el futuro.

UPD: A principios de 2015, también recomendaría prestar atención al proyecto 6to5 (cuyo nombre se cambió a Babel ) como alternativa a Traceur. Se mueve muy rápido y tiene algunas características interesantes, como la legibilidad del código generado y un mejor soporte para los sistemas node.js y build.

Estoy trabajando en una base de código grande que podría beneficiarse de Typescript, pero dado que eventualmente el mundo se moverá a ES6, ¿debo dirigir el desarrollo hacia Traceur?

No quiero cambiar las implementaciones de Typescript para apuntar a ES6 (cuando esté listo), por lo que mi sensación ahora es seguir adelante con Traceur.

¿Alguien puede aconsejar?


Definitivamente recomendaría ir a la ruta ES6.

Para cualquier persona que tenga esta pregunta, vaya y vea los videos de tagtree en las características de ES6.

Para ver las cadenas de plantillas, la sintaxis de las flechas y la estructura , consulte este tutorial gratuito de Tagtree , no es necesario registrarse.


Los transpiles Traceur y Typescript tienen características muy similares, con algunos pros y contras.

Creo que las principales preguntas que deben responderse, analizarse y compararse con mayor profundidad son: "¿Quiénes son sus proponentes?" y "¿Cuál es el histórico de cada uno de ellos?".

P1: Bueno, ambas son compañías grandes y de buena reputación con una gran inversión en tecnología, mano de obra para dar futuro a sus transpiles. Google está detrás de Traceur y Microsoft está detrás de Typescript.

P2.1: Google tiene una historia como un fuerte partidario de los marcos de código abierto como Chromium (la base del navegador de código abierto de Google Chrome) y miles de API gratuitas disponibles, casi todas basadas en estándares abiertos. El Traceur sigue esta misma lógica adoptando las pautas de la especificación ECMAScript 6, anticipándola y asegurando su compatibilidad en futuras revisiones.

P2.2: Microsoft tiene un historial de estándares que los abarca y los amplía de forma propietaria, lo que crea dependencia de los clientes en su plataforma y no respeta una visión compartida de la estandarización de otros actores del mercado. El objetivo principal de Typescript es compatibilizar a los otros compiladores del mercado con la sintaxis y las características de su compilador JScript.NET, no con el ECMAScript 6. Cualquier mención de ECMA es simplemente "azúcar para las hormigas".

El análisis mecanografiado en tiempo real y la finalización avanzada del código de Typescript son una ventaja considerable para los proyectos pequeños, pero los proyectos más grandes deben tomar una decisión correcta durante la definición de la arquitectura, de lo contrario, todo el proyecto podría verse comprometido por un compilador desactualizado o descontinuado y fuera de estándares , dependiendo de un vendedor único.

Sin embargo, muchas características de ECMAScript 6 se implementan en las versiones actuales de Firefox 33 y Chrome 38 (en 2014-10).

http://kangax.github.io/compat-table/es6/


Para su información, la próxima versión (2.0) de mecanografía en desarrollo se centra en la compatibilidad con ES6: http://typescript.codeplex.com/wikipage?title=Roadmap

Publicación actualizada aquí:

http://blogs.msdn.com/b/typescript/archive/2014/10/22/typescript-and-the-road-to-2-0.aspx

De TypeScript 1.5 a TypeScript 2.0

Al observar la versión 2.0, nos centramos en dos objetivos además de nuestro objetivo principal de brindar un buen utillaje para el desarrollo de JavaScript. Lo primero es alinearse con ES6. Alinearse con ES6 permite que TypeScript se convierta en un superconjunto del próximo JavaScript, abriendo el camino para trabajar con nuevos patrones de código como desestructuración, plantillas de cadenas, promesas, iteradores y más, además de las funciones que TypeScript ya admite, como las clases y las funciones lambda. También estamos trabajando con los equipos de Flow y Angular para asegurarnos de que TypeScript es el mejor lenguaje para trabajar con una gama más amplia de bibliotecas, incluidos los marcos declarativos como la próxima versión de Angular 2.0.


TypeScript y Traceur tienen objetivos completamente diferentes y no son comparables en la forma en que intentas compararlos.

TypeScript es un superconjunto de EcmaScript que agrega tipificación estricta. Incluye algunas características de ES6, pero su objetivo principal es agregar tipificación estricta al idioma (mientras se alinea con ES6), no proporcionar soporte para ES6.

En contraste, Traceur es un futuro compilador de EcmaScript a ecmaScript actual. No agrega nada al lenguaje que no se ha propuesto para la próxima versión de EcmaScript.

Si solo quieres escribir EcmaScript 6 hoy, usa Traceur. Si desea una escritura estricta opcional y todos los beneficios que conlleva, además de algunas características de ES6, use TypeScript.


para un sistema a gran escala, definitivamente recomendaría ir con mecanografía.

cuando tenga un equipo que trabaja en conjunto, mecanografíe los beneficios del lenguaje informático moderno con compatibilidad es6 (basado en Microsoft Roadmap) pero con los estrictos beneficios de escritura y código.