How did openfl managed to build itself from defunct as3 how exactly it ported it

Hi am a new to haxe and don’t know haxe currently (originally I am a Python and Zig dev) I was impressed by the Idea of openfl long ago but due to lesser interest in gui and game making I didn’t spent time on it.

But the Idea and success of openfl & lime always inspired me a lot,
I would like to know how haxe developers managed to port the bulk of as3 libs to haxe using openfl and how exactly that no one been able to do.

And what as a zig dev I can learn from it to build such kind of game engine and gui libs for it ? As zig laks them. But haxe is not at all related to c and zig so I face problems understanding this great libs.

In general I would like to know how exactly haxe dev managed to do it and what as a zig dev I can learn to bring such power to zig.
Thanks in advance

How did openfl managed to build itself from defunct as3

The AIR SDK is still being actively developed by Harman, so I wouldn’t dub ActionScript 3.0 “defunct”. Today, you can develop a fully fledged cross-platform application using it.

The Haxe language development was influenced by ECMAScript and ActionScript, so developers familiar with one, can transition to the other with minimal difficulty. Likewise porting from one language to the other, is also made less difficult, and there have been tools available in the past, to assist with this.

Haxe game toolkits seems to have a bias of being good at graphics/UI, it is lightly due to it flash historical connections and some early internet 3D and web indie game experience, which also attracted talented people with some crossover ability. It seems it invites the users that know and care about interaction and graphics as much as code purity. Lets be frank from my understanding Python is way more loose than as3, and haxe is like as5. Rust well it is great at doing graphics but it is kind of hard and inflexible for rapid dev. Zig well it lightly can do graphics well in theory, but most of the users do not have a clue about art, graphics,music or another creative field - certainly not extensively. Your best bet it to help rewrite HashLink in Zig and find ways to access zig code in haxe and similar with python.. even create a python to haxe compiler like the go2hx one. Harsh maybe but assuming good programming ideals equate always to good interactive graphics is a likely a misunderstanding, it is more complex. Haxe is special because. Python and Zig have their advantages but why not put time into haxe coding so you can find your own understanding.

Also Flash was completely underrated ( now and then ), microsoft failed to compete with wpf/silverlight. Haxe basically was a language that did actionscript better using a good dash of Functional Ocaml. I don’t know that zig or python really had such ‘undesirable’ influences, the type that made google, apple and microsoft really scared. Zig has the potential… but not seeing a lot of graphics from it yet, certainly less than Rust, haskell gloss looks very interesting but maybe it is just a starting point?

Hi @nanjizal thanks for responding and explaining in detail I will like to ponder some points before that apologie for delay (I was not free).

You are correct that zig don’t have any good gui libs equivalent like wxwidigets and qt and other even there are incomplete binding for them not really pure zig.
And in gaming it is even more worse as there are more fewer libs for it. Yes rust is good but it’s borrowing rule make it much hard to work although Ai llm are far better than zig for coding rust.

I saw you mentioned that I should think of porting hashlink virtual machine to zig I really think that’s a nice idea but whole of zig craze is about manual memory management and I think hashlink will definitely use garbage collection.

Yes but by your idea I got an new idea of using zigcc to compile hashlink project like how heaps to compile them to application I will try it.
Zig cc can use c even better than c compiler itself.
I think this is far easier way to use zig compiler.

Regarding your idea of using zig in haxe project I think this is something which I don’t think will be of much use for now as zig lacks any good ecosystem so using zig for haxe project will be of very less use for now (Apologize if you mean that I should port haxe compiler to zig which is very difficult)

I think to make hx to zig we should have to make something equivalent to manual memory management which is only way a pure zig can be made using haxe transpiler but as I know less about haxe it is very hard for me to make such project just using zig.

Regarding porting hashlink virtual machine to zig it is far easier I think to do this using haxe translate c but the quality of code made won’t be that great but far good enough to be manually improved latter.