Over a million developers have joined DZone.
Platinum Partner

Google’s Traceur: compile ECMAScript.next to JavaScript on the fly

· Web Dev Zone

The Web Dev Zone is brought to you in partnership with Mendix.  Discover how IT departments looking for ways to keep up with demand for business apps has caused a new breed of developers to surface - the Rapid Application Developer.

Google’s Traceur allows you to use ECMAScript.next features right now: Write ECMAScript.next code and use a special script type. Then the first script you load is Traceur which ensures that all your new code is compiled to JavaScript on the fly.

Getting started

    <script src="http://traceur-compiler.googlecode.com/.../traceur.js"
    <script src="http://traceur-compiler.googlecode.com/.../bootstrap.js"
    <script type="text/traceur">
        // Your ECMAScript.next code goes here

Supported features

Highlights (details: see language features):

  • Inheritance: classes, traits
  • Modules
  • Iterators, for-each loop, generators, deferred functions
  • Block-scoped let bindings
  • Destructuring assignment
  • Parameter handling: default values, rest parameters, spread operator


Brendan Eich mentioned Traceur in his JSConf.US presentation. And he was unhappy about a few details. You should also read Alex Russell’s response to his complaints.

  • The project raises concerns about openwashing: Is Google’s actual agenda behind this open source project to control where ECMAScript.next is going? Probably not, but the following points set a tone that is slightly off.
  • Traceur has been created in secret, without involving TC39, and then presented for maximum “wow” effect at JSConf (Eich calls this “delayed open source” which can be a means of control). In contrast, Mozilla’s Narcissus has always been developed in the open, to foster discussion with the community.
  • Some features are different from current ES.next proposals. This risks forking the community.
  • The JSConf Traceur slides are Chrome-only, neither (mobile) Safari nor Firefox works. Alex Russell’s explanation: “As for the slides, that looks to be a bug in Traceur support for FF which we’re still sorting through.” But the problem exists on Safari, too, which does not bode well for cross-browser compatibility.

Let’s hope these are just initial issues, because Traceur is a cool project. This kind of on-the-fly compiling is the way to ensure a smooth transition from ECMAScript 5 to ECMAScript.next.

Related reading

The Web Dev Zone is brought to you in partnership with Mendix.  Learn more about The Essentials of Digital Innovation and how it needs to be at the heart of every organization.


Published at DZone with permission of Axel Rauschmayer , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}