What is Haxe?

Haxe logo

Lets get the Wikipedia description first:

Haxe is an open source high-level multi-platform programming language and compiler that can produce applications and source code for many different platforms from a single code-base.

Haxe includes a set of common functionality that is supported across all platforms, such as numeric data types, text, arrays, binary and some common file formats. Haxe also includes platform-specific API for Adobe Flash, C++, PHP and other languages.

Code written in the Haxe language can be source-to-source compiled into ActionScript 3 code, JavaScript programs, Java, C# , C++ standalone applications, Python, PHP, Apache CGI, and Node.js server-side applications.

From wikipedia

And the official description:

Haxe consists of a high-level, open source programming language and a compiler. It allows compilation of programs, written using an ECMAScript-oriented syntax, to multiple target languages. Employing proper abstraction, it is possible to maintain a single code-base which compiles to multiple targets.

Haxe is strongly typed but the typing system can be subverted where required. Utilizing type information, the Haxe type system can detect errors at compile-time which would only be noticeable at run-time in the target language. Furthermore, type information can be used by the target generators to generate optimized and robust code.

From haxe.org - manual


I have though long if I wanted to add a personal note to the "What is Haxe" section. And what would it add? But I think it will give context why, or who is using Haxe.

I was an ActionScript developer, but we can say that language is dead. There is a part of me that could rant about that, but it's easier just to say "let move on".

I originally studied to be a graphic designer. But discovered that I could do animation pretty good. I started using Flash as an animator and learned how to program in Flash. Later in a IDE (SE|PY written in Python if I'm not mistaken). I started to experiment with MTASC (which is the Haxe predecessor) because it compiled faster then Flash did.

Then Nicolas stopped working on MTASC and focused on Haxe. He lost me there, I was to junior-dev to understand what he was doing, and at the time nobody around me was interested in it.

Somewhere it must have grabbed my attention again! And I using it (for hobby projects) for x years (probably less than 10 years, but more than 5 years)

From a ActionScript background it's not difficult at all to work with Haxe. And I guess the same is for JavaScript developers.

I love the fact that I have one language and with a little work you can export to different targets.

I can create a PHP backend without writing PHP (I have to figure out some stuff that you don't have in ActionScript)

With Openfl (written on top of Haxe) I can create IOS, Android and html5 applications in a short time.

I'm focused on JavaScript and NodeJs for the time being but that could change.

My two cents

My primary reasons to write this documentation is the fact that the focus of Haxe seems to be on games. This may not be a conscious decision. It's not strange because Nicolas (original creator of Haxe) earns his money with games.

I think it's a mistake from the HaxeFoundation to leave this impression as-is! If Haxe wants to attract more developer. Become mainstream it should focus (more) on JavaScript target.

We (Haxe) need more people that speak up, about other things then games!

JavaScript developers should be able to learn Haxe. And they will enjoy working with Haxe.

It's shouldn't be difficult to convince JavaScript developers. Especially the ones that tried Coffeescript of Typescript.

But it should be more visible, more prominent and more documented to help you with the transition. I hope this documentation will help (a little).

results matching ""

    No results matching ""