With Spotlight: JavaScript fast approaching, we thought we’d offer you with a quick look into one of the event’s sessions, HAXE + JS == <3, presented by Mikko Haapoja. In this interview he talks about the inception, basic features and targeted audience for programming language, Haxe.

Can you tell us a little bit about your upcoming session, HAXE + JS == <3, at this year's Spotlight: JavaScript? How did you get involved with FITC?

I got involved with FITC in 2010 at FITC Toronto. Shawn contacted me to speak in the Cool Shit Hour (it was quite the honour) and a few weeks later he asked me to do a full session on a 3D engine I was building at the time. Since then I've spoken at FITC 2011, FITC Screens, and now, FITC Spotlight: JavaScript.

I think the Haxe +JS session is going to be a lot of fun. I'm going to walk through and talk about how Haxe can improve development of large-scale JS applications and websites. I'll also talk about how to deploy to multiple mobile platforms using Haxe such as Flash, iOS, and maybe some others.

When was Haxe created?

A lot of people think that Haxe is super new and, therefore, they don't fully trust it as a viable platform to develop on. In actuality, Haxe was started in 2005 with a 1.0 release in 2006. For 6 years they've been building a pretty solid platform. There's quite a few highly motivated people working on the Haxe project and they're doing a really great job.

Can you tell us in detail why you recommend adopting Haxe?

The first time you compile a multi platform application in Haxe you'll know exactly why you'll like Haxe.

It seems super magical when you create a Haxe project and you're able to compile a HTML/JS project and a Flash project from the same codebase. All those funny Twitter wars about which platform is better just suddenly seems so trivial.

Then, of course, if you're using a library like NME with Haxe deploying to multiple platforms is way too easy.

What are some of your favourite features of Haxe?

My favourite feature is obviously being able to deploy to multiple platforms from the same codebase, however, there are a few language-specific features I love.

My favourite Haxe language feature is conditional compilation. This is something I've really wanted when developing Air applications. It just makes your life so much easier when you're trying to hit multiple targets.

Second favourite is method and variable inlining. The reason why I like this feature is that with it you can basically code the exact same way you would regularly, however you'll see slight performance improvements because of it. It makes code optimization a lot cleaner.

Third favourite is typed function variables. In JS/AS3 you can pass functions as variables, however you never know on the receiving end what the function parameters should be. I think if this kind of feature was implemented into AS3 the event model could be completely different (I'm not a big fan of the AS3 event model).

Who else do you think would benefit from using Haxe?

I think JS developers can benefit from the "strictness" of Haxe. Right off the bat JS developers will get proper code completion in editors because it's a lot easier to develop a nice code editor around a strictly typed language.

I think anyone who’s trying to hit multiple platforms from one codebase will see what it's like to work with a language that was designed for multi-platform development from the beginning.

If you’re interested in learning more about Haxe or JavaScript, check out Spotlight: JavaScript on Saturday, March 24!

Connect with Mikkoh Haapoja online @Mikkoh