EchoJS seems to be popular, there is a news site[1] and image lazy loader[2] with the same name.
The project is very light on documentation. It would be interesting to know what subset of ES6 is AOT-compiled, and what is done with the rest (does compilation fail or does it fall back to interpretation/JIT?). Is it possible to influence compilation by type annotations (not part of ES6, but still...)?
Heh, is this some kind of practical joke? I look at kangax's compatibility table and this particular thing barely implements anything in ES6. How can it be popular?
An then you have the author claiming that he never wrote a compiler... why would anyone use a compiler written by a self-confessed rookie?
Also there is this "AOT compiling" he mentions. Wtf. In the world of JS, this thing is called "transpiler". The "AOT" is implied. You compile ES6 to ESx "ahead of time".
That, and author does not mention how his product compares to others. Makes me think he is unaware of other products like Traceur or Typescript or whatever.
All together, this is probably just a practical joke or something.
I don't know if I've seen an AOT javascript compiler before, this looks interesting. Unfortunately optimizations that are only possible with JIT compilation are pretty important for making javascript performant, I'd be surprised if an AOT strategy ever quite achieved the same performance as JIT.
It'll be useful, as noted in the README, on iOS where JIT is forbidden, but that really shouldn't be a problem in need of solving to begin with.
I'm wondering to what level things are optimized here, because JS is such a dynamic language that the analyses that could point to opportunities for optimization could be pretty complicated.
The project is very light on documentation. It would be interesting to know what subset of ES6 is AOT-compiled, and what is done with the rest (does compilation fail or does it fall back to interpretation/JIT?). Is it possible to influence compilation by type annotations (not part of ES6, but still...)?
[1] http://www.echojs.com/ [2] https://github.com/toddmotto/echo