Haxe is an open-source strictly typed programming language, that transpiles into multiple programming languages. You can use Haxe to target many different platforms, like Java, Javascript, PHP, Python, Actionscript 3 or Flash SWF. It also supports transpilation to C++, C# or Lua.
You can use the same code for frontend and backend logic (e.g. Javascript for frontend and PHP for backend) without having to use the same target language. Data structures, algorithms, input validation can all come from the same source code.
Haxe comes with a standard library that provides a uniform API accross all supported targets platform, while also enabling easy access to native features of a specific platform.
SpecsUpdate
Ranked in these QuestionsQuestion Ranking
Pros
Pro Checks types at compile time
Pro Access native features of target platform
Whenever you need to use target specific code (e.g. there is no Haxe library or extern definitions), you can embed fragments as untyped code in your Haxe code.
Pro Transpiles to Javascript, PHP, Python and many other languages
Pro Dead code elimination
Removes unused types and methods during transpilation.
Pro Checks syntax at compile time
Pro Support multiple different platforms from one source
Pro Easy sharing of code accross multiple target platforms
Pro Provides an exit strategy for Flash developers through OpenFl
OpenFl is a library written in Haxe, that duplicates the Flash API, by providing a parallel implementation.
Haxe's syntax has a lot of similarities with Actionscript 3.
Flash developers can easily migrate their code to Haxe while still using and targeting Flash, in addition to unlocking all the new targets supported by Haxe / OpenFl.