43 votes

ECMAScript: Compilateur Harmony / ES6 to JavaScript

Après la lecture de Pierre de l'article sur le JavaScript , j'ai remarqué

Brendan Eich a déclaré que l'un des objectifs de l'Harmonie est d'être une meilleure cible pour JavaScript compilateurs.

Il y a actuellement deux compilateurs avec quelques vagues ES:l'Harmonie de la conformité:

Bien que CoffeeScript a une certaine conformité, il n'est pas conçu pour être un ES:l'Harmonie compilateur de sorte qu'il n'est pas utile à cette fin.

Tracuer semble être coller avec plus de rigueur à l'ES:l'Harmonie de la spécification, mais je ne sais pas si elle a l'intention de devenir un ES:l'Harmonie du compilateur.

Puisque l'objectif est de compiler ES6 vers le bas à l'ES3, il aurait aussi besoin de soutien ES5 caractéristiques (et probablement un interrupteur si pour compiler ES5 à ES3 ou ES6 à ES3).

  1. Y at-il actuellement d'autres projets visant à créer un ES:l'Harmonie de ES3 compilateur?
  2. Est-il sage de commencer la rédaction d'un tel compilateur sachant que la norme est jeune / unstable / dans le flux.
  3. Sont t-il actuellement des ES5 -> ES3 compilateurs?

J'ai laissé une question sur le Traceur liste de diffusion.

L'objectif d'un tel compilateur serait rétro-compatibilité avec l'ES3. Pas d'émulation totale de l'ES5 et ES6 dans l'ES3.

14voto

Mike Samuel Points 54712

(sans vergogne mais pertinentes de la fiche ci-dessous)

Caja est retravaillé son ES5 soutien par l'intermédiaire de ES5/3 et il en fera de même pour ES harmonie. Donc, notre structure pourrait être mis en œuvre comme une Harmonie de ES3 couche qui peut être ignorée pour une véritable harmonie de mise en œuvre, puis une séparables chargeur qui préserve les propriétés de sécurité qui concernent caja.

Comme Traceur, les membres de la Caja de l'équipe font partie de TC39 (le comité définir ES Harmonie).

Je ne sais pas à propos de Coffeescript les plans, mais il a été mentionné au cours des discussions de l'Harmonie des modules. Module de chargeurs auront probablement la possibilité d'intercepter chargé de code source (via eval crochets) et de le réécrire avant l'initialisation du module, de sorte que si un module est écrit en CoffeeScript, à l'exécution, CoffeeScript graveur peut être invoquée pendant la phase d'initialisation. Cela permettrait d'applications sera composé de modules écrits dans plusieurs langues que les compiler en bas de l'Harmonie au moment du chargement.

Une chose à noter est que tout n'est pas en Harmonie peut être mis en œuvre facilement à travers la traduction. Par exemple, la mise en œuvre de la faiblesse de cartes correctement nécessiterait la mise en œuvre de votre propre garbage collector en JavaScript, et même si vous avez fait ce que vous auriez probablement juste de réintroduire l'hôte de l'objet/objet natif du cycle de problème.

11voto

orad Points 978

Découvrez TypeScript , le nouveau langage de Microsoft basé sur ES6.

8voto

kybernetikos Points 3127

Continuum a mis en œuvre la plupart des fonctionnalités pertinentes et devrait s’exécuter dans les navigateurs es3 (comme les anciens IE).

4voto

Eli Grey Points 17553

Le mascara est probablement ce que vous recherchez.

1voto

ilia choly Points 5816

Il y a aussi https://github.com/matthewrobb/six

Six est un super-langage JavaScript qui permet d’utiliser les nouvelles fonctionnalités syntaxiques de la 6e édition d’ECMAScript, via un transpiler, dans vos scripts actuels.

AVERTISSEMENT : encore dans un état très précoce, procéder avec prudence.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X