[HN Gopher] Haxe 4.3
___________________________________________________________________
Haxe 4.3
Author : MokaAkashiya
Score : 104 points
Date : 2023-04-07 17:29 UTC (2 days ago)
(HTM) web link (haxe.org)
(TXT) w3m dump (haxe.org)
| qsort wrote:
| Does anyone have a good non-gaming use case for Haxe? It feels
| very nice to have multiple compilation targets and the language
| is great, but I never found an excuse to use it.
| internetter wrote:
| Maybe some library for codebases in multiple languages at a
| company? I wonder what the performance story is...
| hyuuu wrote:
| same here, it's a forever top of mind but never to be
| practically used. The thought of having one language but can
| dish out frontend in JS, backend in python, jobs in C has been
| a dream of mine.
| JoeyJoJoJr wrote:
| I'd say it's pretty good for touch screen kiosks, digital
| signage, and certain interactive creative works.
| catach wrote:
| A statically typed javascript with pattern matching can be
| nice.
| vr46 wrote:
| It was used for Smart TVs quite a bit.
| Hi_Everyone wrote:
| The creator of http://haxeui.org/ makes a lot of (closed)
| projects for the health sector. I personally like to use to
| make some wxwidgets utilities apps with it. (And being able the
| html5 js target and android/ios (with openfl) target.
| MokaAkashiya wrote:
| There is also review of new features
| https://www.elitemastereric.com/Haxe-430/
| klibertp wrote:
| Last time I checked on master - 2-3 months ago - ?. was
| implemented, but ?? was still missing. Good to see the
| implementation finalized. I also saw `overload` for inlines,
| that's really nice, having to expose functions taking Any and
| dispatching on dynamic type was one of the pain points in Haxe
| for me. A shame it's only for inline functions for now. Local
| static vars is something I didn't see, it looks like static
| variables in functions in C, right? I'm not quite sure how
| useful that would be. I guess the scopes are not shared, so
| `static var instance` in one method is different than
| `instance` declared the same way in another function. Still,
| the properties with getters also work. Better errors are always
| welcome, custom defines... I know I wanted these at some point,
| but can't recall right now what for. Stdlib got a bit more of
| concurrency support with Condition and Semaphore - good, my
| target doesn't do threading, but has coroutines, so having more
| options to control concurrency is nice.
|
| All in all, very nice release with null-related operators being
| the feature I missed the most. I'm not sure about default type
| parameters, and numerical suffixes don't matter on my platform
| (everything is a double on runtime), but numerical separators
| are nice. Steadily, Haxe gets easier to use and safer. Macros
| are becoming more ergonomic, too, which is great, as they're
| essential to effective Haxe programming.
| 542458 wrote:
| Good post. That safe navigation operator is very cool and
| something I wish you could do in JS.
| zhawn wrote:
| Not sure if I'm missing some sarcasm but JavaScript has had
| the equivalent Optional chaining operator for years now
|
| https://developer.mozilla.org/en-
| US/docs/Web/JavaScript/Refe...
| 542458 wrote:
| No, I honestly didn't know about it! I should have googled
| it before making my comment... Thanks for letting me know.
| johnfn wrote:
| You can!
|
| https://developer.mozilla.org/en-
| US/docs/Web/JavaScript/Refe...
| _benj wrote:
| I'm very curious about Haxe. From using ldtk and looking into
| haxeui and openfl, it looks like it could be good for multi
| platform gui apps. I've used godot for that purpose before but
| all the game stuff and limited libraries gets in the way of
| making it easy for gui development.
|
| And seems like with hashlink I can compile to a single binary
| instead of the nightmare of electron or Python gui apps packaging
| fayten wrote:
| I really love Haxe. A truly multi-paradigm language with good
| support for GADTs, OOP, structural and nominal types, lambdas,
| and a lot of practical sugar on top. The macro system and
| abstract types add enormous flexibility that I miss when going
| back to C# or Java.
|
| The language is a bit verbose, but I prefer it and generally add
| type annotations instead of using type inference (unless I'm
| dealing with a super gnarly generic type).
|
| The language shines in the graphics space since some of the Flash
| community gravitated to Haxe. I've found that it works great as a
| client/server language similar to a typescript frontend/backend
| stack. The benefit with Haxe is that the backend isn't limited to
| Node, it can run on JVM, bare metal with C++, Openresty with Lua,
| and anywhere Python runs. It's pretty easy to implement F# style
| type providers with the macro system as well.
|
| There is also a C# target, however, there are talks of
| deprecating. Hopefully we will see a revival with Reflaxe,
| another way to make new targets, or maybe even a CLR target.
| https://github.com/RobertBorghese/reflaxe
|
| Lastly, I'm very excited about Ammer the universal FFI for Haxe
| by Aurel. https://aurel300.github.io/ammer/ My hope is that the
| community will rally around Ammer and bring in a lot of native
| libraries to all targets.
| sieabahlpark wrote:
| I looked at Haxe but have trouble figuring out what real benefits
| it would have over something like Godot at this point.
| Dwedit wrote:
| Dead Cells was written in Haxe.
| skywal_l wrote:
| Paper Please too.
| rickstanley wrote:
| To add to this, the creator also used Haxe to port to
| Unity: https://dukope.com/devlogs/papers-please/mobile/
| Herval_freire wrote:
| I mean it's like why does one brand of automobiles is better
| than another brand of automobiles? Should we just have one
| brand?
| karpierz wrote:
| Haxe has been, and continues to be, used to ship commercially
| successful games.
| hutzlibu wrote:
| Could you share some examples?
| roblabla wrote:
| Dead cells is the most recent and prominent example.
| paraboul wrote:
| All games by Shiro games (founded by Nicolas Cannasse,
| creator of Haxe) :
| https://en.wikipedia.org/wiki/Shiro_Games
| illiarian wrote:
| Oh wow. _Dune: Spice Wars_ is also in Haxe:
| https://www.youtube.com/watch?v=pZcKyqLcjzc
| [deleted]
| karpierz wrote:
| Dead Cells, Papers Please, Dicey Dungeons
| rickstanley wrote:
| Northgard, not an _amazing_ game to me, but successful
| nonetheless.
| capableweb wrote:
| Being able to cross-transpile (cross-compilation basically) to
| other languages is a huge selling point. You can, in one
| language, output libraries that are compatible with:
| JavaScript, Flash, Neko, PHP, C++, Cppia, Java, JVM, C#,
| Python, Lua, HashLink
|
| For example, wanna deploy a validation library that checks
| something and have it available in a ton of language directly?
| Using Haxe, you can get this very cheap.
| klibertp wrote:
| In practice, this is hard. The problem is that you need to
| either have all the functionality you use written in Haxe -
| which is rarely if ever possible - or you have externs to
| equivalent libraries _on all platforms_. The libraries
| produced will also need to be interfaced from outside
| somehow, and for some of the targets you 'll have to write
| additional wrappers for your lib. It's really hard to pull
| off when targeting more than 2-3 targets.
|
| Another commenter linked to Ammer[1], a universal FFI
| framework (apparently, it's my first time seeing it) - it
| might be just the thing needed to make multiplatform Haxe
| libraries way easier to write and distribute. I'd welcome
| that :)
|
| [1] https://aurel300.github.io/ammer/
| armchairhacker wrote:
| Haxe + https://heaps.io/ (game engine) + https://ldtk.io/
| (level editor) presumably gets you most of the features Godot
| has (though I don't know because I don't really do game-dev)
|
| More importantly the language and IDE support are a lot better
| than GDScript.
|
| And as others mentioned, Haxe is cross-platform. But not
| "cross-platform" like some languages claim to be: it's been
| cross-platform ever since the early days and is very battle-
| tested
| JoeyJoJoJr wrote:
| Haxe appeals to a lot of Flash game developers that would
| prefer to rely more heavily on code than a full blown game
| engine. A lot of people really like the "display list" (scene
| graph) API of Flash and a bunch of Haxe libraries follow
| similar patterns.
| canadianfella wrote:
| [dead]
| MineBill wrote:
| Haxe is a programming language and Godot a game engine?
| awinter-py wrote:
| super interesting that a big part of the lift here is
| buildsystems + targeting different platforms
|
| I've tried tauri + neutralino this year (both electron
| alternatives), and they depend immensely on buildsystems +
| platform targeting. flutter + react native play in this space too
| Dwedit wrote:
| For those unfamiliar with Haxe, imagine Actionscript, but without
| tying it to Flash Player.
___________________________________________________________________
(page generated 2023-04-09 23:01 UTC)