One of the coolest things I learned from the original blog post [1] on Ejecta was a trick that the library uses for drawing polygons on the GPU in OpenGL without triangulating them first [2]. It's one of the coolest graphics programming tricks I've ever seen and when I understood how it worked my mind was blown.<p>[1]: <a href="http://phoboslab.org/log/2012/09/ejecta" rel="nofollow">http://phoboslab.org/log/2012/09/ejecta</a><p>[2]: <a href="http://www.glprogramming.com/red/chapter14.html#name13" rel="nofollow">http://www.glprogramming.com/red/chapter14.html#name13</a>
Would be nice to see some benchmarks. I can't see how this could be faster than just running it in Safari. In Safari you get access to far faster javascript jit than you do in the embedded app js engine. The app itself just translates the javascript canvas calls into objc calls to the core graphics.. which is what safari's canvas does anyway? Is the extra level of indirection through safari enough to compensate for slower jit? Plus it's a lot harder to compile this than it is to put a js game on the web.<p>Needs benchmarks to be able to make any decisions.
Ejecta is awesome. So is ImpactJS. Dominic (the creator) is experimenting with making Ejecta cross-platform so hopefully we will see an Android version soon.
<p><pre><code> The JavaScriptCore API is private on iOS,
which means you're not allowed to link to it.
Ejecta therefore comes bundled with its
own version of the library to circumvent these
restrictions.
</code></pre>
So you are basically using another VM(a second javascript core) in an IOS app. Isnt it forbidden to do so,running VMs in IOS apps?<p>A better approach would be to do like TITANIUM ,except that you expose a CANVAS like API,so that your javascript canvas framework is compatible with it => less work,and no trick that would make your app kicked out of the store once the scheme is busted.