Flash is gone, what now?

Flash is gone, what now?

Adobe has finally announced the end of the Flash Player in 2020. This has been a long time coming after Mr Jobs declared that Flash shall not run iOS. As painful as it was at the time, it was the right thing to do. Flash is not suited to run on mobile browsers. It’s better suited packaged up with AIR (Adobe Integrated Runtime) as standalone app. The tooling and build pipeline is very accessible to newcomers and AIR still offers an attractive solution to mobile games. Adobe has committed themselves to continue down this avenue by giving a sneak peak into their AIR roadmap. That said, AIR isn’t what I want to talk about.

Back in 2013 I decided to steer KI’s browser based applications and games into “plugin-less” solutions, which basically means no Flash Player. I spent a few weeks trying out various solutions (CreateJS, TypeScript, CoffeeScript, Haxe, etc). I had a few goals in mind, but the big ones were: Try to avoid large pure JS code bases and ease the conversion of old AS3 code into the new platform code.

After many discussions, tests and samples we decided to go with Haxe + OpenFL. After the entire internet’s “FLASH IS DEAD” phase, I realized something; pinning your career and business value on proprietary technology isn’t always the smartest thing to do. Especially in today’s ever evolving landscape.

This is where Haxe comes in, Haxe is a programming language that compiles to other languages / platforms. This adds a very nice layer of abstraction from the target platform. For example, a game written in AS3 can only be compiled and used on Adobe’s platforms whereas the same game written in Haxe can be compiled to JS (for plugin-less browser use) or C++ or any of the 11 languages Haxe supports.

It gets better, OpenFL adds yet another layer of abstraction between your Haxe code and target platform. It provides a unified API that mimics the Flash API. Simply put, if I put an image on screen, I’ll get the same result on all 8 OpenFL supported platforms. This includes, HTML5, Flash, iOS, Android, Windows, Mac and Linux.

It’s easy to see the value in this approach. When (not if) tomorrow’s technology / platform comes around, our code bases will be ready. In fact, we embrace it, looking at you Web Assembly.

We’ve had great success with our Haxe based projects (PJ Masks, Peppa Pig, Ben & Holly to name a few) and haven’t looked back since.

Filippo Gregoretti

Bridging the gaps between arts, music, storytelling, performance and algorithms since the '80s.

6y

Sounds very promising. But is it truly cross-platform? Seamless export and experience for all these platforms?

Like
Reply

Sure, I have decided after that note that flash will be dead since 2020, very similar decisions. Started to focus on OpenFL as well, did same steps as you. Tested it on HTML5, even some special FX (with Actuate ) worked here, but not everything, like eg. shadows (filters) on flash tiles. And i saw that they as well supporting Android, iOS with what possible to cover a lot of users.... Just as well, started to wonder that maybe needed some unified, cross platform gaming platform, but it shall be free or opensource, to prevent end or dead of it and after this to develop games for every platform without relationship to real hardware, CPU, various OS versions and so on. And that forever game developers forgot about these issues... Like some game doesn't work in higher version of Windows or on some new video card (like such thing was fate of 3dfx, that old games for it don't work on recent video cards at all) and so on... Why to not make unified platform just for games., and best if that was opensource . Steam OS tried to do something with it, but still i don't see enough popularity of it as they monetized everything what was very big mistake, like to buy computer to have SteamOS & so on... They needed to make that OS free and to spread around, in this way stealing many users from Windows OS... Just interesting what youtube will do about it. As youtube is giant, so can do some influence. As they probably won't be happy with only HTML5 features and they probably even capable to create new technology if needed... As they wish to show advertising on their videos and in case of HTML or JS them will be very easy killed with various browsers AD block plugins... What will do significant impact for their business.

Robert Fell

Gamification / Branded Games / Serious Games / Event Games

7y

Haxe for the win yes, but perhaps mimicking an outgoing technology's API (such as OpenFL's relationship with Flash) should be kept to a minimum / segregated? I recall Steve's letter highlighted the most important reason to block Flash was to reduce the number of third party layers in the software development lifecycle. He mentioned how it hinders roll out and utilisation of new or platform specific features thereby reducing adoption to lowest common denominators and slowing innovation progress.

Lucas Junqueira

Sócio/desenvolvedor em Exato Soluções Empresariais

7y

I totally agree. OpenFL+HAXE is, indeed, a fine solution. It does lack some important features that still keep me going back to AIR while creating apps (developing with OpenFL and exporting to AIR), like the video codec issue, but it sure is a great solution.

Jeremias Eichelbaum

Applied Research | Machine Learning at Microsoft

7y

"pinning your career and business value on proprietary technology isn’t always the smartest thing to do". Fun fact about that: Up to this day I still see well payed job offers for AS3, Fortran, Delphi, (you name any old language here) developers, because money is the only incentive they can offer. So for some it can be quite a valuable decision. On a different note: Kudos to migrating to a new technology, I had my fair share of issues, trying to convince employers to move onto a new stacks, even if it was obvious that is was advantageous.

To view or add a comment, sign in

Insights from the community

Others also viewed

Explore topics