Supported Programming Languages
Thanks to the cross-platform nature of OpenFL, developers can choose among multiple supported programming languages. OpenFL is a library ideal for game development, data visualization, and other forms of creative expression though programming. The compilation targets available with OpenFL range from desktop apps, mobile apps, to deploying on the web.
Haxe (All targets)
OpenFL is built using Haxe — an open source, high-level, strictly-typed programming language with a fast optimizing compiler. For maximum reach to all supported compilation targets, developers can choose to build their OpenFL project with Haxe too.
With Haxe, OpenFL projects can be cross-compiled to the following targets:
- Native C++ desktop apps on Windows, macOS, and Linux
- Native C++ mobile apps on iOS and Android
- JavaScript for deploying to web browsers or Electron desktop apps
- HashLink desktop apps, using either JIT bytecode or compiled as native C
- SWF for the Adobe AIR runtime by HARMAN
JavaScript, TypeScript, and more (Web targets only)
Developers targeting the web only can install the OpenFL npm package, if they have Node.js installed. This package contains the OpenFL library pre-compiled from Haxe into JavaScript modules, and it includes type definitions (sometimes called externs) for various compile-to-JS languages, including TypeScript, ActionScript 3.0 with Apache Royale, and Haxe. Supports bundlers like Webpack and Vite.
With the OpenFL npm package, projects can be integrated anywhere that supports HTML and JavaScript:
Want to give OpenFL a try?
Get started by downloading OpenFL, checking out the list of features in OpenFL, or diving into the OpenFL Developer’s Guide.