OpenFL is a free and open-source software framework and platform for the creation of multi-platform applications and video games. OpenFL applications can be written in Haxe, JavaScript (EcmaScript 5 or 6+), or TypeScript, and may be published as standalone applications for several targets including iOS, Android, HTML5 (choice of Canvas, WebGL, SVG or DOM), Windows, macOS, Linux, WebAssembly, Flash, AIR, PlayStation 4, PlayStation 3, PlayStation Vita, Xbox One, Wii U, TiVo, Raspberry Pi, and Node.js.
The most popular editors used for Haxe and OpenFL development are:
OpenFL contains Haxe ports of major graphical libraries such as Away3D, Away Foundation roadmap 2014 , Away3D Foundation away3d 1.2.0 , Ported to OpenFL 2.x/Haxe, Starling, Starling Framework , Gamua openfl/starling , The "Cross-Platform Game Engine", a popular Stage3D framework Babylon.js, BabylonJS , 3D engine based on WebGL/Web Audio and JavaScript Adobe Flash and DragonBones. DragonBones , Character Rigging Platform openfl/dragonbones , Runtime support for DragonBones skeletal animation Due to the multi-platform nature of OpenFL, such libraries usually run on multiple platforms such as HTML5, Adobe AIR and Android/iOS.
More than 500 video games have been developed with OpenFL, including Papers, Please, Rymdkapsel, Lightbot, Friday Night Funkin', and Madden NFL Mobile.
OpenFL was created by Joshua Granick and is currently administered and maintained by Chris Speciale, software engineer, board member, and co-owner.
OpenFL supports rendering in OpenGL, Cairo, Canvas element, SVG and even HTML5 DOM. In the browser, WebGL is the default renderer but if unavailable then canvas (CPU rendering) is used. Certain features (shape.graphics or bitmapData.draw) will use CPU rendering, but the display list remains GPU accelerated as far as possible.
Lime is a library designed to provide a consistent "blank canvas" environment on all supported targets, including Flash Player, HTML5, Microsoft Windows, macOS, Linux, iOS, Android, consoles, set-top boxes and other systems. Lime is a cross-platform graphics, sound, input and windowing library, which means OpenFL can focus on being a Flash API, and not handling all these specifics. Lime also includes command-line tools.
Haxe includes a set of common functions that are supported Cross-platform, such as numeric data types, text, arrays, Binary file and some common . Introduction to the Haxe Standard Library , Haxe Docs Haxe also includes platform-specific application programming interface (API) for Adobe Flash, C++, PHP and other languages. Target Specific APIs, Introduction to the Haxe Standard Library , Haxe Docs
Haxe originated with the idea of supporting client-side and server-side programming in one language, and simplifying the communication logic between them. Code written in the Haxe language can be source-to-source compiled into ActionScript 3, JavaScript, Java, C++, C#, PHP, Python, Lua and Node.js. Haxe, iPhone & C++ At Last , GameHaxe website Haxe can also directly compile SWF, HashLink and NekoVM bytecode.
|
|