A collection of haxelibs that 'unlock' various JavaScript platforms.
note: no sourcecode available yet, I'm hoping to release some preview code soon. If you would like to be informed about this
... [More]
release, please subscribe to the discussion group.
HaXe is a great programming language that comes with a compiler that compiles your haXe source code to various other formats, one of which is JavaScript. By default, haXe assumes that this JavaScript code will run inside a webbrowser and as such, it generates code that has some dependencies of the webbrowser's native objects.
This project removes these dependencies while maintaining compatibility and provides extern classes and some wrapper code to support various JavaScript platforms. It also allows other developers to write their own libraries for other JavaScript platforms.
The way this is achieved is through several interdependent libraries in the haxelib format. For now, I haven't uploaded these into haxelib itself because this could create confusion as to how these libraries should be used. My hopes are that haxelib in the future will offer more options so that these libraries can be published on haxelib in a more user friendly way.
On top of that, there's a work-in-progress part that makes the JavaScript output more efficient for use with todays rich web applications (AJAX). The JS source gets divided up into separate files per type and optimized for filesize (for efficient transmission to the browser) by stripping whitespace and avoiding repeated code by moving the building of the code structure to runtime. One project manages the required types clientside and gets required types from the server only when they are needed. The server groups types in a single response whenever possible to prevent having to resort to multiple requests by the browser.
This allows you to develop streamlined, scalable web applications.
In theory, any platform that hosts JavaScript is supported. For now, this project focuses on supporting: All modern browsers Browser extensions Bookmarklets Firefox extensions Chrome extensions Ubiquity plug-ins Desktop widgets Rhino (Java) ActiveScript (JScript, ActiveX) ASP HTA WSC GLUEscript JSDB (which also offers ActiveX) JSLibs
And later on, also: Using Rhino Myna HelmaNG EX4D Persevere Nitro Google Web Toolkit V8CGI ESXX Aptana Jaxer JSFL (for scripting Flash Designer) Photoshop
If you know of more interesting platforms that offer JavaScript hosting, please let me know. [Less]