Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Technical details  



1.1  OpenFL  





1.2  Lime  





1.3  Haxe  





1.4  Starling  







2 References  





3 See also  














OpenFL






العربية
کوردی
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


OpenFL
Developer(s)OpenFL Contributors
Initial release30 May 2013; 11 years ago (2013-05-30)[1]
Stable release

9.3.3[2] Edit this on Wikidata / 13 March 2024; 4 months ago (13 March 2024)

Repository
Written inHaxe
Operating systemMicrosoft Windows, macOS, Linux[3][1]
PlatformMicrosoft Windows, macOS, Linux, iOS, Android, Flash Player, HTML5[3][1]
TypeSoftware framework
LicenseMIT License[4]
Websitewww.openfl.org Edit this at Wikidata

OpenFL is a free and open-source software framework and platform for the creation of multi-platform applications and video games.[5][6] OpenFL applications can be written in Haxe, JavaScript (EcmaScript 5 or 6+), or TypeScript,[7] 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.[8]

The most popular editors used for Haxe and OpenFL development[9] are:

OpenFL contains Haxe ports of major graphical libraries such as Away3D,[11][12][13] Starling,[14][15] Babylon.js,[16] Adobe Flash and DragonBones.[17][18] 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,[19] including the BAFTA-award-winning game Papers, Please, Rymdkapsel, Lightbot, Friday Night Funkin', and Madden NFL Mobile.

OpenFL was created by Joshua Granick and is actively administrated and maintained by software engineer, board member and co-owner, Chris Speciale.[20]

Technical details

[edit]

OpenFL

[edit]

OpenFL is designed to fully mirror the Flash API.[1][6] SWF files created with Adobe Flash Professional or other authoring tools may be used in OpenFL programs.[6]

OpenFL supports rendering in OpenGL, Cairo, Canvas, SVG and even HTML5 DOM. In the browser, WebGL is the default renderer but if unavailable then canvas (CPU rendering) is used.[21] Certain features (shape.graphicsorbitmapData.draw) will use CPU rendering, but the display list remains GPU accelerated as far as possible.[21]

Lime

[edit]

OpenFL uses the Lime library for low-level rendering. Lime provides hardware-accelerated renderingofvector graphics on all supported platforms.[22][21]

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.[21] 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.[21]

Haxe

[edit]

Haxe is a high-level cross-platform multi-paradigm programming language and compiler that can produce applications and source code, for many different computing platforms, from one code-base.[23][24][25][26] It is free and open-source software, distributed under the GNU General Public License (GPL) 2.0, and the standard library under the MIT License.

Haxe includes a set of common functions that are supported across all platforms, such as numeric data types, text, arrays, binary and some common file formats.[24][27] Haxe also includes platform-specific application programming interface (API) for Adobe Flash, C++, PHP and other languages.[24][28]

Haxe originated with the idea of supporting client-side and server-side programming in one language, and simplifying the communication logic between them.[29][30][31] Code written in the Haxe language can be source-to-source compiled into ActionScript 3, JavaScript, Java, C++, C#, PHP, Python, Lua[32] and Node.js.[24][27][33][34] Haxe can also directly compile SWF, HashLink and NekoVM bytecode.

Starling

[edit]

The Haxe port of the Starling Framework runs on Stage3D and supports GPU-accelerated rendering of vector graphics.[21] It uses a custom Stage3D implementation, and does not require the OpenFL display list to work.[21][35]

References

[edit]
  1. ^ a b c d "Introducing OpenFL". Joshua Granick Blog. 30 May 2013. Archived from the original on 2014-10-02.
  • ^ "Release 9.3.3". 13 March 2024. Retrieved 22 March 2024.
  • ^ a b "openfl.org". Archived from the original on 2014-10-26.
  • ^ "LICENSE.md". Github. Archived from the original on 2017-03-30.
  • ^ "README.md". Github. Archived from the original on 2015-08-13.
  • ^ a b c Doucet, Lars (2014-03-18). "Flash is dead, long live OpenFL!". Gamasutra. Archived from the original on 2015-08-30.
  • ^ "OpenFL ReadMe". Github. Archived from the original on 2018-04-27.
  • ^ "OpenFL ReadMe". Github. Archived from the original on 2018-04-27.
  • ^ "openfl/openfl". GitHub. Archived from the original on 27 April 2018. Retrieved 27 April 2018.
  • ^ Haxe Support Archived 2015-07-06 at the Wayback Machine, FlashDevelop Wiki
  • ^ "Home > Away3D". away3d.com. Archived from the original on 19 November 2010. Retrieved 27 April 2018.
  • ^ Away Foundation roadmap 2014 Archived 2016-03-06 at the Wayback Machine, Away3D Foundation
  • ^ away3d 1.2.0 Archived 2016-03-06 at the Wayback Machine, Ported to OpenFL 2.x/Haxe, Haxelib
  • ^ Starling Framework Archived 2018-01-02 at the Wayback Machine, Gamua
  • ^ openfl/starling Archived 2017-03-30 at the Wayback Machine, The "Cross-Platform Game Engine", a popular Stage3D framework
  • ^ BabylonJS Archived 2018-01-01 at the Wayback Machine, 3D engine based on WebGL/Web Audio and JavaScript
  • ^ DragonBones Archived 2017-12-30 at the Wayback Machine, Character Rigging Platform
  • ^ openfl/dragonbones Archived 2018-04-27 at the Wayback Machine, Runtime support for DragonBones skeletal animation
  • ^ "Showcase". www.openfl.org. Archived from the original on 26 December 2017. Retrieved 27 April 2018.
  • ^ "Administrative Organization Changes". OpenFL Community. 2022-04-26. Retrieved 2022-11-17.
  • ^ a b c d e f g Getting started with Haxe and Starling Archived 2017-12-27 at the Wayback Machine, OpenFL Community, Dec 2017
  • ^ Benefits of using starling over openfl? Archived 2017-12-27 at the Wayback Machine, OpenFL Community
  • ^ "Nicolas' announcement of spelling change on Haxe official mail list".
  • ^ a b c d Ponticelli, Franco (2008-02-11). Professional haXe and Neko. Wiley. ISBN 978-0470122136.
  • ^ Ivanov, Michael (2011-05-24). Away3D 3.6 Cookbook. Packt Publishing Ltd. ISBN 978-1849512817.
  • ^ Doucet, Lars (2015-06-03). "Haxe/OpenFL for home game consoles". Gamasutra. Archived from the original on 2015-09-08.
  • ^ a b Introduction to the Haxe Standard Library Archived 2015-08-14 at the Wayback Machine, Haxe Docs
  • ^ Target Specific APIs, Introduction to the Haxe Standard Library Archived 2015-08-14 at the Wayback Machine, Haxe Docs
  • ^ "Haxe Interview". Io Programmo. 2009-04-01: 1–6. Archived from the original on 2015-12-08. {{cite journal}}: Cite journal requires |journal= (help)
  • ^ Grden, John; Mineault, Patrick; Balkan, Aral; Hughes, Marc; Arnold, Wade (2008-07-16). The Essential Guide to Open Source Flash Development. Apress. p. Chapter 9 (Using Haxe). ISBN 978-1430209942.
  • ^ Fisher, Matt (2013-01-01). HTML5 for Flash Developers. Packt Publishing Ltd. ISBN 978-1849693332.
  • ^ "Hello Lua! - Haxe". Archived from the original on 2016-08-06. Retrieved 2016-07-09.
  • ^ "hxnodejs (4.0.9)". Archived from the original on 2016-06-18. Retrieved 2016-07-09.
  • ^ Haxe, iPhone & C++ At Last Archived 2012-04-15 at the Wayback Machine, GameHaxe website
  • ^ Starling for OpenFL Archived 2017-03-30 at the Wayback Machine, "The "Cross-Platform Game Engine", Github
  • See also

    [edit]
    Retrieved from "https://en.wikipedia.org/w/index.php?title=OpenFL&oldid=1202429543"

    Categories: 
    Software using the MIT license
    Software frameworks
    Hidden categories: 
    Webarchive template wayback links
    CS1 errors: missing periodical
    Articles with short description
    Short description is different from Wikidata
     



    This page was last edited on 2 February 2024, at 19:12 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki