Sunday, October 08, 2006

HAXE :: Web oriented universal language

Introduction

haXe is a high-level object-oriented programming language mainly focused on helping programers develop Websites and Web applications. haXe has been designed to be easily portable across several platforms. The haXe compiler supports the following platforms :

  • JavaScript : you can generate a single .js file from a set of haXe classes. You can access browser DHTML API as well as crossbrowser APIs such as Xml, Date or XmlHttpRequest... haXe is one of the best available languages to develop middle and large scale AJAX Web Applications.
  • Flash : haXe can compile a SWF file for Flash Players 6 to 9. The language has great features and is at the same time both strict and dynamic. Using haXe increases productivity compared to ActionScript. All the Flash APIs are available unchanged in haXe so you will quickly get used to the language, and porting your existing code to haXe will be easy.
  • Neko : haXe can compile bytecode that runs on the Neko Virtual Machine. An haXe program can then be run into the Apache web server (using mod_neko). This allows you to develop the server-side of your website using haXe. haXe has access to all Neko libraries such as filesystem, network, databases... and much more. Since it can easily be extended with additional libraries, haXe can be used to develop full-fledged desktop applications.

haXe Features

The haXe Syntax is similar to the one used in Java/JavaScript/ActionScript, so it’s very easy to learn and get used to haXe. haXe can also integrate easily in your favorite editor or IDE.

The haXe Type System is strictly typed, enabling the compiler to detect most errors at compile-time. At the same time, it’s very different from classic strictly typed languages since you don’t have to write types everywhere in your program, thanks to type inference. It makes you feel like you are programming in a dynamically typed language while you are getting the security of a strictly typed language. The best of both worlds.

The haXe Standard Library, including Date, XML, data structures... is specified to behave the same across all platforms. This enables you to share and reuse code logic between different platforms without needing to rewrite the same thing again and again.

haXe is easily Extensible : you can add additional libraries and wrappers for platform-specific features. Thanks to conditional compilation you can have different implementation for a given API depending on the platform you want to compile to.

haXe has a Remoting library that provides cross platform serialization and RPC, enabling you to directly call methods between platforms. For example calls may be made between the client and the server or between different client modules. Everything is handled transparently.

haXe can be used to develop portable Desktop applications by using SWHX.

haXe is Open Source software and has an active and enthusiastic Community which supports the language by developing content and additional libraries.

Conclusion

haXe is a Toolbox for the web developer. Since the compiler has support for several platforms you can choose the most suitable one to get your job done without having to learn and use a new language everytime. Although using haXe on both the client and server simplifies things thereby boosting productivity, haXe may be used exclusively on the client or the server. You can use haXe where it makes sense for you.

Want to learn more ?

Read the haXe Documentation and have a look at the Language Reference. If you have any questions or remarks, don’t hesitate to join the haXe Community.


from : http://www.haxe.org/intro

0 Comments:

Post a Comment

<< Home