Haxe Roundup № 331

by Skial Bainn published on

Let’s start off with a thread that’s just starting over on the mailing list, with the outcome likely to affect every single Haxe developer using a framework.

The thread is Sharing between frameworks, started by Hugh Sanderson, author of the HXCPP target, NME and father of OpenFL, proposes the following:

So what I am proposing is defining a framework-neutral specification or a config file plus a directory layout for this data. The idea is that the individual framework tools can either convert this specification into its native format (.nmml/KhaMake whatever), or read the spec directly. It may also require some code-gen (eg, generate hooks, maybe JNI calls). A slight variation on this would be add an additional “frameworks” directory where other frameworks can pull-request their custom build-files, but I think that this could be more work.

haxe openfl friends!
Hello! We are FRIENDS! by CHAU Guillaume (@Akryum).

Three more WWX2015 video’s have been posted online by the Silex Labs team:

Robert’s talk is one of my favorites from WWX2015, partly because I knew very little about Kha, but also the macro powered networked multiplayer announcement, the various underlying tools and cheekily beating OpenFL to export to consoles via its new export to Unity feature.

haxe kha ide editor prototype social
Lubos Lenco (@luboslenco) creating stand alone Kha editor!

Ian Harrigan tweeted this week a picture of HaxeUI’s v2 Flambe support , showing scrollview support “working as expected”. Ian also mentions the next two potential targets for HaxeUI might be Kha and luxe.

There has been another high profile Flash developer switch to Haxe, Bennet Foddy has ported QWOP over to Haxe using luxe. Bennet has written up over on the snõwkit community site Porting QWOP from Flash to Luxe.

Browser hassles aside, this was a great experience. Luxe is still in alpha, but I strongly recommend it as a platform for porting games to HTML5 or native targets from other systems, and for writing 2D games in general. I don’t think my needs are unique: I want a flexible, powerful multiplatform engine that builds small and lets me work clean. Luxe is that.

luxe snowkit haxe westport independent
@0010_Games Westport Independent pixel art using Luxe.

Lars Doucet is collecting information for an upcoming article he is working and needs your help. If you’re a Flash developer whos moving or moved to Haxe, consider filling in his form below.

Back in issue № 324, Dmitry Hryppa released his first set of BunnyMark benchmark data implemented in various frameworks, OpenFL, Kha, MonoGame, XNA are just some of them. He has released his latest set of benchmarketing data including NME which completely floors OpenFL. Between the two article releases Kha has gone from 131K to 200K. Until Dmitry releases the source I expect something funky is going on with the OpenFL implementation, as these numbers are for native performance and not for HTML5.

Vadim has for awhile been tweeting previews of him using Haxe to generate PICO-8 code. Well, Vadim has released hxpico8, his new Haxe target. In his Introducing HxPico8 Vadim takes you through the reasoning behind creating the hxpico8 target, the technical challenges involving its creation and concludes with…

hxpico8 allows [you] to leverage the power of Haxe for creating PICO-8 applications while maintaining control over the output size and structure. The compiler permits various measures to be taken for optimizing output size and performance while keeping the actual source code tidy. A number of examples (along with compiled files for comparison) can be found in the according repository.

Niall Weedon continues to improve angular2haxe by recently adding build macros which I assume process components at compile time which in turn help reduce run time setup. It’s recently become available from HaxeLib.

Timothy Farrel has published two libraries for use with the Haxe JavaScript target, es6-externs and es6-coretypes. es6-externs provides type definitions for ES6 data structures and is used by es6-coretypes, which replaces Haxe coretypes with ES6 compatible types, producing a smaller, cleaner JavaScript output.

Andy Li has written an incredibly in-depth article on TypeScript vs Haxe, in which Andy does a great job comparing nearly everything in both languages. One point that caught my attention, which I think is a great idea and adds extra weight to his words, was that Andy took and completed a MOOC course from edX titled Introduction to TypeScript.

Also a raytracer example from the TypeScript home page was ported to Haxe , then posted to try.haxe.org. When compiled to JavaScript, it renders twice as fast as TypeScripts, “probably because [of the use of] abstracts and inlines”.

Every library mentioned in this issue can be used with Haxe Watchify by Luca Mezzalira who has added the ability to monitor the build process from a remote browser, maybe on your phone?

PeyTy’s Alt Haxe project, apparently can tokenize “1 million lines of code per second”. I actually have no idea if this is faster than the current compiler, which is already insanely fast.

To finish this weeks roundup off, in last week’s issue we had Citrus Engine state they are using Haxe for their JavaScript backend, now we have Atomic Game Engine use Haxe for the very same reason.