A few problems Iâve fixed in the hxdefold repo already. Other issues are more fundamental. Haxe being not the first class language results in an additional step compiling to Lua, and the compiler is not perfect, there are a few edge cases where the generated code becomes wrong, generating syntax errors or runtime errors. If you are good with Lua, itâs easy to see a workaround. Another issues is inability to use breakpoints and debug Haxe code. However you can debug the generated Lua code. But all these issues are outweighed by the benefits Haxe provides. Static typing is a very powerful tool to write vast stable code, which is crucial on big projects. Compared to Lua, I almost never get runtime errors. Navigating Haxe code is a breeze, compared to Lua, where you have to basically search by keywords in all files, especially if you are using the messaging system. Especially if you are reading someone elseâs code. Full autocomplete is a bliss.
Plus Haxe has a very nice collection of game oriented libs.
What worries me a bit is that Haxe has integer type, but Lua in Defold doesnât, maybe I would encounter a bug about that in the future, maybe not.
If Defold provides better C++ API, it would be possible in the future to compile Haxe to C instead of Lua, gaining stability and performance (and loosing a few hundreds of KB if Lua runtime is excluded). Or integrating the Hashlink Haxe VM as an extension.
Unity has a similar tool that compiles C# code into C.
Haxe is not popular only because of Dead Cells. Itâs popular because of the Flash legacy and many other frameworks using it. Dead Cells uses the heaps engine, which I am currently using on my job, itâs a very interesting, but niche engine, very unpopular. I think I am the only person from the community in a few years who managed to run heaps on Android, because the old sample Android project was outdated and never finished.
So to sum it up again. Iâd really like to see in Defold a statically typed language as a first class language and a friendlier IDE, easy to extend by community, like Godotâs IDE.