Like the author, I too have the same opinion after having used Haxe for over 5 years.<p><pre><code> Five years on from starting with Haxe at FontStruct, I’m genuinely surprised to find that I feel no regret whatsoever regarding our decision to go with the technology.
</code></pre>
I absolutely adore the language. Not only is it awesome at transpiling/compiling to native across this whole spectrum of targets, the language itself keeps surprising me with how versatile it is; with great type inferencing, compile time macros, platform-conditional compilation, and more.<p>I've launched iOS, Android, Web, Windows and Mac apps that all shared the same code base. I can't see myself ever wanting to go back to using a single-target language again. I highly recommend trying it if you're on the fence. [0]<p><i>Note: I am not affiliated with Haxe, just a huge fan.</i><p>[0] <a href="https://try.haxe.org/" rel="nofollow">https://try.haxe.org/</a>
I first learned about Haxe through Lucas Pope’s dev log for “Papers, Please”. Sounded interesting and fun, though Pope (who developed PP on a Mac) said he also had written custom tooling for his work — maybe that situation had changed since 2014: <a href="https://www.gamasutra.com/view/news/209905/Road_to_the_IGF_Lucas_Popes_Papers_Please.php" rel="nofollow">https://www.gamasutra.com/view/news/209905/Road_to_the_IGF_L...</a><p>For his new game, Return of the Obra Dinn, he went with Unity because of its 3D capability:<p><a href="https://forums.tigsource.com/index.php?topic=40832.0" rel="nofollow">https://forums.tigsource.com/index.php?topic=40832.0</a><p>> <i>I'm gonna use Unity for this one. I fell in love with Haxe/OpenFL on my last project but unfortunately the 3D situation is not that great there yet. Also, it's time to finally see why 90% of the indie scene is using Unity. I have a good amount of experience with 3D games and the few days I've played around with Unity so far have been pretty productive. The animated title screen scene up there (with post-processing shaders and all) was created in one day. I now have unrealistically high hopes.</i>
Haxe is strange in that it seems to be very well known among developers but relatively very few actually use it. I guess it's an old project with very specific use cases; like building certain kinds of multi-platform apps.<p>It's nice to see a project with such a dedicated community.<p>It's a shame that most developers started using TypeScript instead of Haxe; that seems like a missed opportunity. TypeScript was pretty painful to use in its early days; it shows the importance of positioning and marketing.
I used haxe a lot in the past, but with the newer enhancements to JavaScript I found that I ended up using JavaScript. Destructuring assignment arrow functions and more concise object literals, ... operator enable much more concise and readable code.<p>Haxe seems to be much more conservative in development. Haze is aquiring arrow functions but I think there was quite a degree of initial resistance to the notion. I proposed a change to allow the new Javascript style consice object literals (simply allowing {fish,cheese} instead of {fish:fish,cheese:cheese} but was shut down with a 'we don't like it'<p>I would prefer to use a independent language over one developed by a megacorp, but I fear Haxe will fall behind TypeScript due to their resistance to change.<p>My own personal experience has motivate me to move to something else. The proposal I mentioned above left somewhat of a bad taste. The process went contrary to the processes listed. Notably The proposer is supposed to call a vote after discussion had concluded. Instead it was just shut down with a "we had a meeting and decided against it". I could give no counterargument because there was no argument to counter. I'm not against languages having a dictatorial model for development, but having a facade of an open process that carries no weight seems wrong.
I was talking with some friends a bit ago and was surprised to learn that Haxe is used a lot in game dev and embedded a lot. Apparently a lot of set top boxes like Tivo or car infotainment systems use it, and there's a lot of very good game engine infrastructure in it - <a href="https://armory3d.org/" rel="nofollow">https://armory3d.org/</a> was specifically mentioned as being surprisingly high quality, and all the people that wrote games on Kongregate apparently switched to Haxe.
Is it possible to use Haxe for anything except gamedev and keep the crossplatform aspect? For example for backend webdev, it seems like you can compile to nodeJS and use express, but then you can't really compile to any other platform. You can compile to PHP, but you're also stuck with PHP frameworks.<p>Basically what I'm saying is that for Haxe to be truly crossplatform, it requires Haxe-native frameworks in the target domain. But that doesn't really seem to be the case outside of games, so that advantage is lost.
I am glad Haxe is still going strong. I remember when it was an alternate language for the Flash virtual machine- everyone thought it was very cool at the time. Now Flash is dead, long live Haxe!
I want to love Haxe but tooling outside of Windows seems limited, although I havent looked at how good VS Code is with it yet, so maybe I'll look into that. Otherwise I am going to stick to D and Python.