Особенности

Здесь приведен список ключевых особенностей языка. Не пугайтесь того, что он слишком длинный или сложный - вам не потребуется изучить всё, чтобы программировать на Haxe.

Поддерживаемые платформы

  • Может компилироваться в JavaScript, генерируя отдельный .js файл
  • Может компилироваться в Flash 6-8, генерируя отдельный .swf файл
  • Может компилироваться в Flash 9-10 / Tamarin, генерируя отдельный .swf файл
    • оптимизированая арифметика целых чисел
    • автоматическое приведение типа для типизированных массивов
  • Может компилироваться в .swf файл, который может быть использован как пакет для приложения Adobe AIR.
  • Может компилироваться в NekoVM, генерируя отдельный .n файл с байткодом
    • может быть запущен из командной строки
    • может быть запущен как модуль Apache Web server (через mod_neko или mod_tora)
  • Может компилироваться в исходный код AS3
  • Может компилироваться в PHP 5
  • Может компилироваться в исходный код C++, который, в свою очередь, может быть скомпилирован в native бинарные файлы.

Особенности компилятора

Библиотеки и утилиты

  • Поддержка Firebug
  • Кроссплатформенная поддержка XML
  • Кроссплатформенная сериализация в формате, совместимом с web
  • Кроссплатформенное взаимодействие с помощью Haxe Remoting Tutorials
  • Создание десктоп-приложений с помощью ScreenweaverHX
  • поддержка Юнит-тестирования

Особенности языка

  • Строготипизированный язык
  • Методы и функции являются объектами первого класса (замыкания)
  • Регулярные выражения
  • Высокоуровневая система типов, включающая :
    • классы и интерфейсы
    • перечисления (enum)
    • функциональные типы
    • анонимные типы (структуры)
    • динамические переменные
  • Перечисления
    • необязательные параметры конструктора (как в ML)
    • параметры типа (полиморфизм)
  • Автоматический вывод типа данных : необязательно задавать тип локальным переменным
  • Параметры типа (генерики) c необязательными ограничениями (constraints)
  • Система модулей : пакеты + приватные поля классов
  • Структурная субтипизация (утиная типизация) используя вывод типа и анонимные типы
  • Полиморфные методы
version #13727, modified 2012-04-15 08:34:37 by elyon