Status of Starling Framework + OpenFL

We recently heard that Adobe dropped funding for Starling Framework as well as Feathers UI.

Some may be wondering what the current status is of using Starling Framework and OpenFL together. You may know that Adobe has announced 2020 as the EOL for Flash Player (and has not announced an EOL date for AIR) but OpenFL does not require Flash Player, so it is unshaken by Adobe’s choices.

There are three different ways to use Starling Framework and OpenFL together:

  1. Use Starling Framework and OpenFL together using the Haxe programming language. You can compile to Flash Player, AIR, HTML5 JavaScript and to native C++ for mobile, desktop and console targets; all from the same source code.
  2. Use Starling Framework on NPM. You can choose either plain JavaScript, or a compile-to-JavaScript language and publish to HTML5. We have samples available using ES5 JavaScript, ES6 JavaScript, Haxe, TypeScript and (beta) ActionScript 3.0.
  3. Use OpenFL on NPM, then using Apache Royale with the ActionScript 3.0 version of Starling Framework. This workflow is close to running, but we have some open issues with the Royale team to try and help get this working.

An older version of Feathers has been ported to Haxe, which would work with either workflow 1 above, and could be adapted for workflow 2 above with work.

If Apache Royale continues to mature, it may be possible to run the ActionScript 3.0 of Feathers UI over OpenFL and Starling without porting to another language.

We would love to work with any developers interested in improving or modernizing any of the above workflows. OpenFL is here to help serve your needs!

10 Likes

Thanks for the writeup. I am a long time AS3 user (pre-Starling) returning to game dev and just heard the news about Adobe.

So is this basically a direct port of the current version of Starling in the Haxe language? Looks interesting. Trying to figure out which route I should take for future projects.

You can use OpenFL, with or without Starling. Both are GPU accelerated, the best performance for game development usually comes from batching, Starling has the QuadBatch API, while there is the Tilemap API in OpenFL.

The library you linked is a hand-made Starling port to Haxe. If you change the indent by one, the two versions of the library are actually quite similar line vs line.

There are speed improvements that could be made by using HTML5 typed arrays instead of Vector in Starling’s internals, but we wanted to be true to Starling’s AS3 code for now. We also have a way to compile it back as an NPM library for use as a JavaScript library rather than using Haxe :slight_smile:

2 Likes

The commitment from the OpenFL team is encouraging Joshua. I love developing with Adobe AIR and look forward to keeping it in my toolkit alongside Haxe/OpenFL and a few other open source options.

Adobe being a corporate entity exposes AIR to those forces, for better and for worse. For the time being, seemingly for the worse.

Many seem to think Unity is the answer, but it’s an entirely different development paradigm and one that’s susceptible to exactly the same corporate whims Adobe AIR is subject to. So no, I’m not itching to spend time with it.

OpenFL is a welcome and much needed additional option for those of us who love working with the Flash API, so thank you for your hard work Joshua and of those who support the project.

2 Likes