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.
-
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.
Tonnes of good stuff is written in haxe - Northguard, Papers Please, just to name a few well known ones (more here https://github.com/Dvergar/awesome-haxe-gamedev#games )
i think typescript has stolen the thunder for web development, but in an alternative universe where typescript didn't exist, i say haxe would be the better altnernative over javascript for web frontend, and possibly, backend as well.
There's an open issue about this: https://github.com/HaxeFoundation/haxe/issues/9185
My config is on Github[0] and it's an absolute mess: at first I used plain Lua, then tried MoonScript (which was a huge let down, unfortunately), then switched to Haxe. In all 3 cases this config was my first time using the languages in question, so the code is... less than ideal, let's leave it at that :)
If you want to set up something similar, you can start with haxeshigh/Makefile[1] and haxeshigh/bin/build (it's a shell script). In the haxeshigh/src/ there are implementations of three widgets: battery, brightness, and taglist[2]. The last one is the most complex as it uses coroutines to animate (slide in/out) the widget on screen. The rest of src/ are wrappers/type definitions for objects from Awesome, plus some macros/helpers for working with Lua tables (which are both arrays and hash tables at the same time, Haxe doesn't like this).
I found some bugs in the Lua part of the Haxe compiler (genlua.ml), but it was a long time ago, so they are probably fixed already. I don't remember the details, but the fix was trivial... I'll try to look for the issue and see if it's already fixed later.
[0] https://github.com/piotrklibert/awesome-config
[1] https://github.com/piotrklibert/awesome-config/blob/master/h...
[2] https://github.com/piotrklibert/awesome-config/blob/master/h...
I recently did a fairly large undertaking for TypescriptToLua.
(Porting the Lua API + types of a major music DAW to TS types to make it possible to write type-checked scripts in JS/TS).
The experience was mostly smooth, barring a few bumps of non-standard TS stuff.
BUT, the community is amazing. They have a Discord server where the core devs are active and very helpful, they quickly and politely helped me fix the small issues I ran into.
I never knew Haxe was capable of this, so I can't give a fair assessment, but now I am interested in trying it as well!
-----
If you want to check out what I did:
https://forum.cockos.com/showthread.php?t=247666
https://github.com/GavinRay97/reaper-with-typescript-starter
https://i.imgur.com/yaoBDvb.gif
Well, it also has its very own [Hashlink, virtual machine](https://hashlink.haxe.org/).
And it can also compile down to various bytecodes (like JVM), not just to other languages.