Aviva Directory » Computers & Internet » Programming » Haxe

Haxe is a cross-platform, multi-paradigm programming language that includes a standard library that remains the same, regardless of the platform.

Designed in 2005, The original purpose of the Haxe compiler was to encompass several web technologies under a single language. Supporting Flash, JavaScript, and Neko, web developers could use the Haxe compiler to target all three technologies without having to learn a new syntax. Given that Haxe, Flash, JavaScript, and Neko could function on Windows, macOS, and Linux, there was no need for anyone to change their preferred operating system. With an emphasis on Neko, Haxe could be further enhanced without the need to modify the compiler in any way.

Support for PHP, C++, C#, and Java were added by 2012.

Designed for web applications, Haxe can be used to directly target mobile devices like iOS and Android, but it can also be used to write applications for Linux, macOS, and Windows desktop machines.

The lead designer of Haxe was Nicolas Cannasse. The language was originally intended to be written as HaXe, although, in recent years, it is more common for it to be written as Haxe. The language is a successor to MTASC, and ActionScript compiler also designed by Cannasse.

The key feature of the language is that it can produce applications and source code for several computing platforms from one codebase. It includes a set of common functions supported across all platforms, as well as a platform-specific application programming interface (API) for several languages, and frameworks that allow the creation of multi-platform content from a single codebase. Code written in Haxe can be source-to-source compiled in ActionScript, C#, C++, Java, JavaScript, Lua, PHP, Python, and Node.js. It can also compile directly to HashLink, Neko, and SWF bytecode.

The strategy of compiling to multiple source code languages is known as the write once, run anywhere paradigm. It permits programmers to choose the best platform for the particular project they have in mind. Most Haxe programs will run in the same manner on all platforms, although programmers have the option to specify platform-specific code, and can use conditional compilation to prevent it from compiling on other platforms.

Several IDEs and code editors have support for Haxe. Although the Haxe Foundation officially endorse any particular tool, VS Code and IntelliJ IDEA have extensions for Haxe, and are frequently used.

Haxe is object-oriented, statically-typed, and it supports functional programming. Where most programming languages force a user to program in a certain fashion, Haxe offers a hybrid nature of many features and is designed to produce the best of each.

With Haxe, the boundaries between developers within a team are lowered, and collaboration is easier. Given a common language, projects can be built rapidly, with fewer errors and platform concerns, and they are easier to maintain since all members of the team understand the syntax. Classes designed for one technology can be used to compile for other technologies, and this stretches the existing technologies to their fullest capacities.

Topics related to the Haxe programming language are the focus of resources listed in this guide. IDEs, editors, compilers, and other tools designed to facilitate programming in Haxe are appropriate for this category, as are Haxe user groups, forums, tutorials, or guides.



Recommended Resources

Search for Haxe on Google, Bing, or Yahoo!