Is haxe alive or dead?

Hello, guys!
I would like to set the record straight about haxe development state.
This post is not about blaming someone or pressure on.
It’s more about getting a sense of the current situation.
I am developing declarative multiplatform(js, objC++, jvm) ui lib with haxe and I want to find out should I invest further my time in haxe language or switch to another instruments.
I’ve had some concerns as I am seeing rare commits in haxe github repo. And I’ve noticed some of active haxe users like @back2dos or @fponticelli moved to typescript(could be wrong, sorry, if they didn’t).

So my questions:

  1. Is HaxeFoundation planning to develop and support haxe in the near future? if yes, where can I find a roadmap and its implementation period?

  2. Does HaxeFoundation have enough resources for active development now?

  3. Who is working on the compiler on regular basis now?

I would appreciate for any haxe user answers or opinions on this topic. And I am particularly interested in hearing the views of @Simn , @kLabz, @ncannasse, @back2dos, @fponticelli

Thanks in advance!

4 Likes

Haxe is doing fine. There’s indeed not much going on with the Haxe Foundation itself, but that’s also not necessary because Shiro Games is in a good position to support Haxe for years to come. That’s also why so much of the focus has been on boring stability stuff, though I expect some of the technical curiosity to be reignited once we get coroutines working properly.

7 Likes

I guess Simn has said everything that should be relevant to you.

As for some community members disappearing, I cannot speak for Franco. I have not definitely moved to TypeScript, but I am currently using it and have also started creating TS libraries (so far only one), because it turns out that most of the npm packages are really quite low quality :person_shrugging:

My focus is on web development and I’ve been fighting the uphill battle of using Haxe for that for some 15 years now. After all that time, I would always recommend Haxe over any other compile-to-js language if you care about performance, robustness and long term maintainability. No alternatives come even close and even if Haxe’s development stopped immediately and permanently, I don’t see the other languages catching up any time soon.

That said, early this year I started a new project and Haxe was not an option, for reasons. So I gave in to trying TypeScript. I am quite deeply disappointed, for a whole number of reasons, but bashing TypeScript here is besides the point.

My story of being forced away from Haxe will be extremely familiar to anyone who’s ever used Haxe for web development. And so what you do see is a relative decline in buzz around Haxe, which has had its moments of fame when FlashPlayer died, because many people jumped over to Haxe (and OpenFl). The game developers largely stayed, the rest essentially moved on, not necessarily of their own will. That’s why you’ll find a whole chunk of the community gone. Even Shiro doesn’t use Haxe for its website, when MotionTwin still did.

Still, it’s a bit sad to see Haxe retreating into a niche. I think it’s a wasted opportunity.

I guess the question would be what other instruments you’d consider and before that actually, what your ultimate goal is. There’s already quite a bit of stuff out there, so I’ll have to assume what you really want is the joy of building it yourself? In that case I would definitely recommend Haxe :wink:


If you’ll forgive me for going off a tangent: I’ve always thought that it would be great to have two separate toolchains for creating native mobile apps with Haxe, with externs to all the native APIs - added bonus for integrating cppia/hscript (or something) for hot reloading in dev, quite likely achieving better iteration speed than the native toolchains.

From there, it’s comparatively straight forward to define some abstraction that allows writing code against both, for people who want that. And even then, I wouldn’t bring in declarativeness at that level.

I would say that most of the cross platform native solutions (React Native, NativeScript, Slint, HaxeUI) share two common issues:

  1. they abstract away too much
  2. they are too opinionated (they often bring their own way of describing UI layout and style and often their own framework too)

There is of course something to be said for tight integration, but in my experience, if any part of such a big solution is a problem, than the solution as a whole becomes that problem.

In an attempt to try to avoid that, let’s imagine there are hx-android and hx-ios toolchains. Then HaxeUI could for example depend on those directly to finally get its iOS target (and perhaps even rebuild its Android target to use hx-android). Coconut could also get a backend for each (so one would use native ui components with their full APIs such as they are, but drive them through coconut). You (or whoever) could proceed to build a hx-xui that abstracts over hx-android and hx-ios and comes with a web implementation of those abstractions. And then, again separately, on top of that build out your vision of what a declarative UI lib would look like.

Anyway, those were just some random thoughts on the side. In any case, good luck with your endeavors :wink:

Best,
Juraj

10 Likes

Simon, thanks for your feedback!

1 Like

Juraj, thank you for reply. I read your message with great interest. Many things have becоme clear to me.

what your ultimate goal is.

Ironically, I think haxe is most suitable not even for games development(GC is a bottleneck for modern performant games, though it’s another topic) but for creating multi target user interfaces. Declarative way is suitable modern approach for building ui(react.js, vue.js, swiftUI, Jetpack Compose etc)
I agree with you we should have proper native toolchains and API externs to implement it or modify existing libs.

2 Likes

I’m jumping into Haxe with both feet. I love the language, libraries and community, so to me it’s not dead.

3 Likes

“should I invest further my time in haxe language or switch to another instruments.”

Are you sure you are going to make money investing your time in one or the other ? If the answer is “yes” then go for it, invest your time where the money is then, it’s worth it I guess. If the answer is “no” then don’t expect one or the other to be nothing more than a hobby. Nothing wrong with a hobby, it’s just probably not worth spending too much on it that’s all.

2 Likes

Haxe is very much alive to me ! And I think it is fantastic - so I use it for almost everything i do - it’s very flexible and you can do almost anything, since integrating with native languages is so easy and powerful. I work in a company that makes interactive exhibits for museums, science centers and physical spaces. And for this Haxe is perfect! I wish the user base and community was bigger, but still i highly recommend people to dive in. Also i find it to be a real joy to work with! :slight_smile:

6 Likes

Appreciate your comments @simn and @back2dos

My focus is on web development and I’ve been fighting the uphill battle of using Haxe for that for some 15 years now. After all that time, I would always recommend Haxe over any other compile-to-js language

Lol, glad to read that… that’s basically my story too! TypeScript isn’t a completely awful language… well, trying to slap types onto JavaScript may be a misguided goal… But the larger TS/JS ecosystem is a disaster. It’s moving and changing so quickly, with so much legacy - the fragmentation is wild. It’s like a black hole, collapsing under the weight of its own popularity. Most often experience in “typescript” ends up being experience in “framework-X” … And personally, I’m not super interested in being a framework (react, svelte, vue, etc) specialist.

By contrast, Haxe is a lovely, thankfully slower-moving, fascinating and fun-to-use, broadly useful software engineering tool.

8 Likes

You should check out https://github.com/jeremyfa/wisdom which is a pretty cool new library for web/ui dev in haxe. Ian does have a new version of haxeui-android on the shelf, just not released, ios is not on the table afaik


One thing to add on to here, is that a lot of activity is on the discord these days which may be a reason as to why things may seem “hidden”, not by intention, its just a convenient way to communicate and share projects

1 Like

I am a completely new user (as you can see by me creating my forum account literally to write this message), and at least from what I’ve seen when I last looked at Haxe (like almost a year ago) it looked very interesting, though I did not find the resources needed to get started. A few days ago I re-discovered Haxe, and now I’ve gotten my dev environment set up (hello world already compiled and run) and want to actually learn Haxe, by implementing an interpreter in it for my own esolang Stackowey. And if I actually end up liking it (which seems likely from what I know now) I’ll write more serious stuff in it, like e.g. my own VTubing software that I have the idea to create since I-dont-really-know-when. Or a terminal pet. Or parts of my online operating sim. I have many ideas. And if I e.g. write the parser for the executable file format for my OS sim in Haxe I can more easily have it both work as a compatibility layer (almost WINE-style) for running stuff on Linux as well as (with the same code) running the stuff inside the OS sim.

2 Likes

hi Herr Lampe (^_^) … my goal with
h a x e is to find some more optimizations out at nowadays →
last `experiments` tonight : http://maitag.de/semmi/haxe/viktor/CatPIsEMMisHAXEflow1.mp4
http://maitag.de/semmi/haxe/viktor/CatPIsEMMisHAXEflow2.mp4
eh, i am
LOVE
that superstable simple
BUILD ones (into macrocontext)~~
[why i am martured my mind by the genericones so much over last years *lol ;:)}w h y**rofls`_]
→ fully killaMACROnow→ catpi55/src/automat/actor/Shape.hx at master · maitag/catpi55 · GitHub

Haxe doesn’t live from the hype like various more mainstream languages, but as a now long time haxe user, I can tell it is very versatile and capable. It’s not all perfect of course, but it works reliably. I shipped a ton of production code with it, and it didn’t have more issues than any other supposedly more mainstream technology you might use.

It’s even better when you start to really understand how it works under the hood because that becomes easier to improve it or adapt it to your own needs.

So Haxe is definitely not dead in my opinion. It is probably very slow-paced regarding its evolution, and it’s no magic in the sense that you would still need to have some knowledge of the target language you are transpiling to using haxe, but that’s not necessarily a bad thing.

It’s very likely that in 10 years from now, I’ll still be making Haxe programs.

2 Likes

me to … …. .. … all can say is…
the haxe habbitate nowa also offers simplicity and consistency.
(Except, of course, for the perl6->grammar… that requires a few libs first.)
[haxe now sometimes runs faster than pure C99^^InToOL:D->ANSImode*\o/*lol]
->faster and better to read 4me also as by c++boost(at as i am remember there and to let it run target independent at that time)

In a sense, I agree. OTOH there are features which Haxe sports for a decade which are only now making it into more popular languages. Haxe’s evolution pace is not what it used to be, but compared to the average production ready language, is Haxe really that slow? That said, seeing even Java add features that were rejected as too fancy does make me miss the “because we can”-days of Haxe language “design” ^^

2 Likes