Haxe

Haxe
ParadigmMulti-paradigm
DeveloperHaxe Foundation
First appearedNovember 14, 2005 (2005-11-14)
Stable release
4.3.4[1] Edit this on Wikidata / 4 March 2024 (4 March 2024)
Typing disciplineStatic, dynamic via annotations, nominal
Implementation languageOCaml
PlatformIA-32, x86-64, AArch64, armel, armhf, mips, mips64el, mipsel, ppc64el, s390x
OSAndroid, iOS; Linux, macOS, Windows
LicenseGPL 2.0, library: MIT
Filename extensions.hx, .hxml
Websitehaxe.org Edit this at Wikidata
Influenced by
ECMAScript, JavaScript, ActionScript, OCaml, Java, C++, PHP, C#, Python, Lua, NekoVM

Haxe is a high-level cross-platform programming language and compiler that can produce applications and source code for many different computing platforms from one code-base. It is free and open-source software, released under the MIT License.[2] The compiler, written in OCaml, is released under the GNU General Public License (GPL) version 2.

Haxe includes a set of features and a standard library[3] supported across all platforms, like numeric data types, strings, arrays, maps, binary, reflection, maths, Hypertext Transfer Protocol (HTTP), file system and common file formats. Haxe also includes platform-specific API's for each compiler target.[4] Kha, OpenFL and Heaps.io are popular Haxe frameworks that enable creating multi-platform content from one codebase.[5]

Haxe originated[6] 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 compiled into JavaScript, C++, Java, JVM, PHP, C#, Python, Lua[7] and Node.js.[8] Haxe can also directly compile SWF, HashLink, and NekoVM bytecode and also runs in interpreted mode.[9]

Haxe supports externs (definition files) that can contain type information of existing libraries to describe target-specific interaction in a type-safe manner, like C++ header files can describe the structure of existing object files. This enables to use the values defined in the files as if they were statically typed Haxe entities. Beside externs, other solutions exist to access each platform's native capabilities.

Many popular IDEs and source code editors have support available for Haxe development.[10] No particular development environment or tool set is officially recommended by the Haxe Foundation, although VS Code, IntelliJ IDEA and HaxeDevelop have the most support for Haxe development. The core functionalities of syntax highlighting, code completion, refactoring, debugging, etc. are available to various degrees.

  1. ^ "Release 4.3.4". 4 March 2024. Retrieved 16 March 2024.
  2. ^ "Open Source licence Haxe".
  3. ^ Introduction to the Haxe Standard Library, Haxe Docs
  4. ^ Target Specific APIs, Introduction to the Haxe Standard Library, Haxe Docs
  5. ^ Doucet, Lars (2014-06-24). "Dear Adobe: Support Haxe, save your Tools". Gamasutra.
  6. ^ "Haxe Interview". Io Programmo. 2009-04-01: 1–6. {{cite journal}}: Cite journal requires |journal= (help)
  7. ^ "Hello Lua! - Haxe".
  8. ^ "hxnodejs".
  9. ^ "Compiler Targets". Haxe. Retrieved 2021-11-05.
  10. ^ List of IDEs supporting Haxe, Haxe Foundation

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne