Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
dts2hx
Converts TypeScript definition files (d.ts) to haxe externs (.hx) via the TypeScript compiler API
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Since I've got current pet hobby regarding static compiles (Zig is good friend at this point, the cached static cross-platform output C compiles via musl is crazy good!) I has to look up if Haxe supports this, turns out yes* when targeting C++.
*https://github.com/HaxeFoundation/hxcpp/issues/729
For 5 of the targets, debugging the Haxe sources is supported with different VSCode debug adapters (well, JS just uses source maps). If your code is written in a target-agnostic way, you can even switch to a different target with better debugging support temporarily.
https://github.com/vshaxe/vshaxe/wiki/Debugging
Other than that, if really you need to debug some target-specific issue on a target without debugging support, there's usually still the option of debugging the generated code.
The eval implementation is found here:
https://github.com/HaxeFoundation/haxe/tree/development/src/...
"there’s no equivalent project to DefinitelyTyped" - no, but these days you can auto-convert those TS type definitions to Haxe externs automatically! :)
https://github.com/haxiomic/dts2hx
- Haxe does not consume .d.ts files directly but they can be converted to haxe files with the dts2hx tool. This works for many libraries, but isn't yet perfect. For complex libraries like React, it's best to use a hand written haxe-react project (e.g. https://github.com/kLabz/haxe-react)
Haxe is my favorite programming language. Haxe's macro system is so incredibly powerful that after using it, it makes me cringe every time I have to work with templates in C++. Haxe macros are basically "template meta-programming", but with a lot more power and none of the hideous syntax and error messages. I think the closest parallel in the world of C++ is Circle (https://www.circle-lang.org/).
A Haxe macro is just regular Haxe code with the same syntax and same standard library, except it runs at compile time, and it can operate on the AST of your program. They're like shaders, but for your compiler.
One of the coolest demos of Haxe macros imo (even though it's dumb) is where you can add code completion to your IDE via a URL (https://code.haxe.org/category/macros/completion-from-url.ht...). It works because the macro generates static fields for a class using data it downloads from the URL, and because the Haxe compiler provides a completion server, any IDE with Haxe support will automatically pick up the new fields and present them in a standard completion pop-up/drop-down menu. Just imagine the things you could do with something like that!
Unfortunately, Haxe never seems to get the attention it deserves. The sad fact is that the vast majority of developers are never going to try a new language or technology on their own unless their employer tells them to, or there is some viral article that reaches everyone, and makes it seem like the second coming of Javascript. Additionally, the Haxe foundation never seemed to take much interest in promoting the language. They do have funding, and they organize events/meetups every year, so it doesn't seem like they're going away anytime soon.
Oh well, such is life. People might not think I'm cool when I tell them I know Haxe, but at least I have Haxe!
My introduction to Haxe was Haxeflixel (https://haxeflixel.com/), an Haxe game development library inspired by flixel (http://flixel.org/), an older AS3-based library which was pretty known in the late 00's in the indie games community.
As the top comment mentioned, I was particularly impressed by the ease of cross-platform development in an age where bigger tools like Unity were still picking up steam. Coming from Game Maker, Haxeflixel felt like the natural step forward. I enjoyed it so much I wrote a book about it: https://discover-haxeflixel.com/
The people behind it launched a fairly successful fundraiser a few years ago so I'm happy the main developer and contributors got something back for their open-source efforts. As far as I know the library is stable - I just about updated the book a few months ago to re-rewrite references to the Flash (RIP) and move people towards the html5 exporter instead.
I still think that in an age of 10GBs+ AAA game development framewords, Haxe and Haxefixel still have a place for your typical 2D / Pixel Art-ish arcade game, although more ambitious and successful games have definitely been made, like Defender's Quest (http://www.defendersquest.com/) from Lars Doucet's, a huge fan of the framework.
Ha, it was a very Frankenstein-y stack. I wrote everything in markdown, then rendered to html with multimarkdown (https://fletcherpenney.net/multimarkdown/), and then converted to pdf with wkhtmltopdf (https://wkhtmltopdf.org/) and to epub/mobi with Calibre's ebook-convert (https://calibre-ebook.com/)
Related posts
- Heaps: A free, open-source and cross-platform game engine
- My mod RPG Overhaul is on hold! Please read this until the end
- What is a easy game programming language to start with?
- Sneak peak of a hardcore Among Us like game I'm developing using an engine I created specifically for it with C#.
- The Rise and Fall of the LAN Party