Haxe 3 Released
haxe.org
haxe.org
In short, Haxe can produce swf and neko binaries and C++, C#, JS, Java and PHP source.
Language itself is, for my humble old school OOP taste, really well done and compiler is blazing fast. So fast that people now implement real-time error checking by simply compiling project (with few additional flags).
Real perk here for me (a game dev) is not so much Haxe as libraries for cross-platform development, namely NME, which appears to have some restructuring going on right about now [1]. It is SDL-based haxe library that's really the one powering cross-platform game deployment. And it's pretty great at that, but a bit unstable. The goals outlined in the video linked should get that on the right track.
Of other interesting things, 2d physics engine named nape [2] comes to mind. It blows Box2d out of the water in oh-so-many aspects, particular ones being memory and framerate stability.
Edit: ...and it has absolutely amazing community of doers!
If Haxe can compile into JS, it would be cool to have online demos of things like nape (their site requires flash when you click play, not sure if that is to run flash or show a video).
Are there are online demos showing an interesting Haxe project compiled into JS?
I recall that the compiler would often produce different behaviour on different backends, including crashes. Presumably this has been addressed in recent versions? It’s one of the reasons we chose AS3 when developing Spaceport[3] and stuck to matching Flash behaviour as closely as possible.
[1]: http://haxe.org/ref/enums
[2]: http://haxe.org/ref/type_infer
[3]: http://spaceport.io/
I also never had a crash with something out of the running service compiler, even earlier since I started using it at 2.x, you probably evaluated it in a 1.x version ? You talk of enums but that was at the top of the "pros" around 4/5 years ago.
Leaving AS3 and being able to target all the systems I want to target, was the reason Haxe became valuable to me. So that "reasons we chose AS when developing Spaceport" is sort of telling about Spaceport and nothing else. It isn't an option for everybody, really. You can build all sorts of projects on it, from a server daemon, to a casual game on mobile through the usage of Haxe NME / openFL. Things have moved on, so to say.
Imagine a world where gcc is the only open-source C compiler, and gcc required you to run preprocessor, compiler, assembler and linker directly, manually, and you had never used any compiled language before, and the gcc docs assumed you know which of these programs you needed to run, and in what order, to compile your programs, and these components were each separate downloads written by different people and offered for download alongside all the individual tools in the binutils suite. So you have no clue which of the dozens of tools you actually need, in what order you need to run them, you've also never written in any language but Python and Javascript before, and the things you need to do to get programs to run in those languages is nothing like what C wants, and none of the information you lack appears to be written down anywhere that your very best Google efforts can find.
In this world, of course you can pay Microsoft $300 for a C compiler with an IDE which takes care of everything for you, and a lot of people swear by C and do amazing things with it, but really you don't want to spend that kind of money for a tool you know nothing about, and so you just sort-of limp along with Python and Coffeescript, and miss out on the C world entirely.
That's the situation Flash development was in before Haxe came along.
Of course, now you can use HTML 5 canvas for stuff that previously required Flash, so Flash is kind of obsolete.
FlashDevelop is also a great IDE for Haxe development, so overall, I'd say put these back on your list to learn. :-)
I think Flash still has some life left in its newer form of AIR for mobile. Having done a lot of HTML5 stuff the past year, I do miss the relative simplicity of it, not having too many cross-browser headaches. Going to try the Haxe->HTML5 workflow soon and see how that works out.
I think I researched the state of Flash for developers about 2000, and again about 2005, and last looked at it around 2008 or 2009. Haxe was just getting started the last time I looked at it, and I've heard it mentioned a couple places since then. Anything that's happened in Flash development-land in the last three years isn't on my radar.
Really, my early ventures into Flash-land were so discouraging, and in more recent years the advent of HTML5 was so encouraging, that Flash may end up permanently relegated to my low-priority pile of things like Lisp, Prolog, Haskell and Unity, things I want to look into again when I have mountains of free time and/or money to spend on extremely unfamiliar things, which might possibly give me interesting new capabilities, but for which an initial cost-benefit analysis has ended in pointed, skeptical questions that I can't answer very well.
I haven't heard of Haxe much (the last time was probably on here) but in theory it seems like a great idea.
I wonder why it's not more popular?
Added bonus for JS is that many languages compile to it (CoffeeScript, LispyScript, ClojureScript, even Haxe, OCaml, Haskell, C++), DEs use it for scripting (Gnome, KDE, Windows 8).
I think it isn't more popular because it's associated with Flash, whereas JS is becoming the new default for the web.
There is a huge - HUGE - performance difference factor and while that doesn't matter for every app it matters quite often for games (even simple 2d games in the style of angry-birds).
html5 on the desktop on the other hand is plenty fast.
> I wonder why it's not more popular?
It's a relatively young language (8 years old, but it's only been mature for a fraction of that). I think it just hasn't reached critical mass yet.
You've had good success with cross-browser issues?
JQuery should handle all your front-end cross-browser issues.
Also, you can do your backend in Haxe, and target the NekoVM (via mod_neko (single thread per request) or mod_tora (multi-threaded) for Apache) or NodeJS. Haxe could do this long before Dart showed up.
I think that it is not that popular because , while the language is very powerfull , some aspects of it are very complicated ( Generics , Macros , expressions , ... ) . Especially for beginners.
The docs are a mess , i tried to edit them a few time , but they should change the way it is organised. In my opinion a WIKI is never the proper solution for a doc. 1 person should take care of the docs and centralise every demands, with the help of Github or whatever.
BUT
Adobe is giving up on flash , and HAXE is the only solution that is good enough as a remplacement for flash games , apps ,etc ...
We often say Jobs or HTML5 killed flash , but the truth is Adobe KILLED flash itself. Frankly Adobe should sell Flash , they did an awfull job with it. How many Businesses kill their own succesfull ( 90% install base on desktop ) ?
aside from Borland with Delphi ( the biggest waste in the history of computer languages , Delphi was just awesome ) , only Adobe.
Correct me if I'm wrong because I would love to start developing on Haxe ... until I have a proper GUI lib\framework.
But we're all pretty much roll your own.
On the front page, if the designer could line the letters up with the bezels, I think it would look a little better. Only have Paint on this machine but: http://imgur.com/uYYV8Qt
Pedantic, I know... lol
Many of the quirks and frustrations that you may only hit on a project-by-project basis are constantly raised and solved in the community, so you get a broader understanding of the issues currently faced in the JavaScript, Android, iOS, BlackBerry and various other development communities.
In your current work that may not be relevant, but as a side interest the depth and breadth of your understanding will be accelerated by osmosis within the Haxe community.
It represents more than many communities a bit of a campfire of programmers from different backgrounds who have a shared passion for games and apps. That enthusiasm can stir up your passion for programming if you find yourself in a bit of a language or framework rut.
It's still a small community, so that brings with it the usual frustrations, challenges, and opportunities. If you're a driven developer wanting to make an impact, there are a lot of low-hanging fruits in Haxe to be picked, so it's a good runway if you're wanting to build a personal brand.
There are also very interesting initiatives like HaxeNME that are threatening to break out from their niche, and in a multi-device world, it's starting to look like quite a compelling open source offering.
Aside from that, is Objective-C even a requirement for OSX/iOS development? Vanilla C should work too, as Objective-C is a superset of C89.
Second, you don't need to go through objc to make native ios/mac apps, haxe does it by going via c++.