After Adobe MAX 2011 everything should not be the same for me and maybe for a lot of flash platform developers around the world, Adobe brings some “directions” that didn’t find my consent mainly for the way that communicate these news and the impact that had in the market, but we know that Flash Platform is not dead and it will go ahead for many years.
Obviously nothing was the same after that, in fact many developers started to look around for new technologies and frameworks like Backbone.js, Sencha Touch, Ext JS and so on.
Last week a big friend of mine gave me this link: http://www.haxenme.org/ and when I started to read what you can do and how you can do it, I immediately started to go in deep with HaXe in my spare time and trust me that I had a lot of fun!
First of all what is HaXe?
HaXe is an open source multiplatform programming language, it allows to write once and deploy everywhere (in the right meaning of therm “everywhere”).
In fact with HaXe we can write in a programming language similar to Actionscript 3 (strictly typed, OOP, …) but more powerful (it has enum, generics, dynamic type, …), with HaXe we can target our projects for Flash, C++, Neko, HTML5, Node.JS, PHP, iOS, Android… if we work with multiplatform APIs we can write once and deploy our project for multiple targets.
Another interesting thing of HaXe is that we can work with the library present in the SWF files and integrate movieclip in our project, we can create also SWF file without Flash Professional with SWFMill that is used for the generation of asset libraries containing images (PNG and JPEG), fonts (TTF) or other SWF movies.
That’s so interesting because it means that designers that usually prepare assets for developers don’t need to change own daily workflow!
If you need to extend your target platform we can add new features with external libraries, it’s so important because we can really cover everything with this feature; we can find a lot of ready to use libraries directly on the lib HaXe website.
What about the IDE to work with HaXe (so important for a developer!)!?
On Mac you can use TextMate or FDT on Win FDT or FlashDevelop this one seems the best one but I didn’t try it. For more specs I suggest to take a look at HaXe site section, maybe you can find your favorite IDE in the list.
Finally I made an easy sample to understand better the powerful of HaXe NME, this sample loads an external XML file and an external SWF library with a movieclip inside exported for Actionscript, so I added a drag&drop feature to the list. Then I tried to compile it for iOS, Mac OS X Lion, C++ and SWF with the same basecode and everything work so well and smooth!
You can download source files here, to compile it take a look at HaXeNME section and you can find everything you need to try this sample and start to play with HaXeNME!
If you want to deal with HaXe, I suggest two books, the first one is really a good start to work with this fantastic language:
. HaXe 2 beginner’s guide
. Professional HaXe and Neko
Last but not least, next April in Paris there will be World Wide HaXe conference, I’ll be there to learn more about the future of this amazing platform if you are planning to be there it will be a pleasure for me catch up for a beer!
I hope soon to publish more experiments and informations about HaXe because it is a thrilling programming language!!!
So stay tuned!
17 thoughts on “HaXe, my new toy!”
but what is difference between haxe and haxenme?
NME is a library build on HaXe, Haxe is the core language 😀
Very good Luca.
I report to you http://tumultco.com/hype/ the ‘antagonist of Adobe Edge.
You can generate Html5 content in very few minuts and integrate their in you application
Very interesting link my friend!
Luca so width Haxe I do not need use Air for producing app to Ios, corrrect ?
Exactly! Neither for android and web os, finally I read that they are working to a lib for win mobile and Xbox too!!! So it will be the best solution for mobile development!
Not exactly a library… It’s a complete new target platform. C# is almost ready to use and is coming java very soon. Stay tuned to the mailing list 😉
Thank you Max for your details, I’m new in HaXe world so I probably miss some infos 😀
what you think about workflow that we can do same flash platform?
design in illustrator—>make intercative in flash catalyst————> and add behavior in Flash Builder
But for Me the only think is important is design in photoshop or illustrator or any tools and add interactivity and functionality in haXe.
what we can do?
I’m studying it, I think that you can easily made your design with photoshop and illustrator, then you can import in Flash and make your own library, finally you add your swf file in HaXe NME project and you can start to work with it in TextMate, FlashDevelop or FDT!
that’s my 2 cents
But if you find alternative solution pls inform us.
of course 😀
How does MXML work with it? In many cases I see learning a new language in order to have the full flexibility of mobile development.
for now mxml doesn’t work with HaXe…
May I ask a question?
I tried to write a web service class for Haxe (with Haxe.http). It works well for neko, windows, Mac, iOS (simulator), android ( emulator), but not for html5.
I guessed it goes wrong because I try to send POST request to another webserver (maybe for security reasons). But… Webservice is placed on this server…
Then I tried a simple URLRequest for html5. It works with the same webserver only.
Can you maybe describe the problem besser (with possible workaround)? Ok, I can use a php “proxy” as workaround especially for html5 target, but it isn’t really interesting…
I’m trying your code, but it doesn’t work on HTML5. Can you help me?
with only the Flash platform API fully usable. Haxe can also compile to Neko code, which runs in the Neko runtime created by the same developer.