Что такое Haxe

Haxe - это набор инструментов для разработки, основанный на современном, высокоуровневом языке программирования со строгой типизацией, а также на кросс-компиляторе, кросс-платформенной стандартной библиотеке и на способах использования нативных инструментов для разных платформ.

Кроме того, и язык и практически все основные инcтрументы для разработки на нём, являются открытыми (open source).

Универсальность Haxe в том, что код на одном языке можно компилировать для множества различных платформ или генерировать из него программы, которые компилируются или используются этими платформами нативно:

  • Flash - компиляция в swf с байт-кодом для flash-плеера. Haxe предлагает очень хорошую производительность и языковые возможности для Flash разработки. Также из haXe кода можно генерировать код AS3 с помощью ключа -as3 out
  • JavaScript - генерация JS кода для любых платформ, где он используется, включая NodeJS. Полный доступ к типизированному DOM API браузера с поддержкой автодополнения, а все зависимости разрешаются во время компиляции.
  • NekoVM - компилируемые программы, исполняемые виртуальной машиной neko, которые могут использоваться как серверные файлы для динамических веб-приложений (используя mod_neko для Apache) или как основа программ для командной строки или рабочего стола (NekoVM может быть расширена другими DLL)).
  • PHP - можно генерировать код на языке PHP. Это позволяет использовать высокоуровневый строго-типизированный язык - Haxe, сохраняя при этом полную совместимость с имеющейся серверной платформой и библиотеками.
  • C++ - Теперь можно генерировать и C++ код из ваших Haxe программ, с необходимыми make-файлами. Эта целевая платформа активно используется для создания десктопных и мобильных приложений.
  • C# и Java - начиная с версии 2.10 добавились целевые платформы C# и Java. В их случае также из Haxe генерируется исходный код на этих языках, который затем компилируется.
  • Python - начиная с версии 3.2.0 добавилась возможность генеровать код на языке Python.
  • Lua - начиная с версии 3.3 добавилась возможность генерации скиптов на Lua.

Основная идея Haxe в том, чтобы дать разработчику выбор лучшей платформы для его задачи. Обычно это нелегко сделать, потому что каждая новая платформа идет со своим собственным языком. Haxe же позволяет писать на одном языке код для многих платформ, предоставляя:

  • стандартный язык с множеством современных возможностей
  • стандартную библиотеку (включая Date, Xml, Math...) которая работает одинаково для всех платформ
  • специфичные для платформ библиотеки: весь API каждой конкретной платформы доступен из Haxe

Таким образом, на одном языке можно писать как клиентские, так и серверные программы для web, а также мобильные и десктопные приложения для любых платформ.

Haxelib - менеджер пакетов 

Для установки и управления библиотеками, у Haxe есть очень удобный и мощный инструмент - Haxelib - самый простой способ находить библиотеки и код для ваших проектов и лучшее место, где можно поделиться своими библиотеками с другими хаксерами (git-репозитории можно тоже подключить к нему). Можно сказать, что это менеджер пакетов для Haxe, аналог npm, RubyGems и т.д.

Попробуйте Haxe!

Можно легко и быстро попробовать Haxe, ничего не устанавливая, с помощью онлайн сервиса Try Haxe!, который поможет и написать код с помощью удобного редактора и скомпилирует его и покажет результат (на данный момент для JavaScript и Flash, но для понимания принципа этого более чем достаточно).

Загрузить и установить Haxe можно со страницы установка Haxe на официальном сайте.
Там же есть инструкции по ручной установке и сборке из исходников, если это необходимо.