haXe - универсальный объектно-ориентированный язык программирования высокого уровня.
Универсальность в том, что код на одном языке можно компилировать для нескольких платформ:
- Flash - swf для flash-плеера от 6 до 10+ версия, использующие либо "старое" API для Flash<8 (AS2) либо новое для Flash9+/AS3. haXe предлагает очень хорошую производительность и языковые возможности для Flash разработки.
- JavaScript - клиентские скрипты .js в т.ч. использующие технологию Ajax. Полный доступ к типизированному DOM API браузера с поддержкой автодополнения, а все зависимости разрешаются во время компиляции.
- NekoVM - компилированные программы, исполняемые виртуальной машиной neko, которые могут использоваться как серверные файлы для динамических веб-приложений (используя mod_neko для Apache) или как основа программ для командной строки или рабочего стола (NekoVM может быть включенаи расширена другими DLL)).
- PHP - Можно компилировать haXe программы в файлы .php. Это позволяет использовать высокоуровневый строго-типизированный язык - haXe, сохраняя при этом полную совместимость с имеющейся серверной платформой и библиотеками.
- C++ - Теперь можно генерировать и C++ код из ваших haXe программ, с необходимыми make-файлами. Это может быть удобным например для разработки iPhone приложений.
Основная идея haXe в том, чтобы дать разработчику выбор лучшей платформы для его задачи. Обычно это нелегко сделать, потому что каждая новая платформа идет со своим собственным языком. haXe же позволяет писать на одном языке код для многих платформ, предоставляя вам:
- стандартный язык с множеством хороших возможностей
- стандартную библиотеку (включая Date, Xml, Math...) которая работает одинаково для всех платформ
- специфичные для платформ библиотеки: весь API каждой конкретной платформы доступен из haXe
Кроме того язык является открытым (open source) и кросс-платформенным. С помощью haXe и связанных с ним технологий (Neko, SWHX, SysTools, SPOD и т.д.) можно создавать приложения, способные работать под Windows, Mac OS или Linux.
Таким образом, на одном языке можно писать как клиентские, так и серверные программы для web, а также настольные приложения для любых платформ.