Особенности
Здесь приведен список ключевых особенностей языка. Не пугайтесь того, что он слишком длинный или сложный - вам не потребуется изучить всё, чтобы программировать на 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 бинарные файлы.
Особенности компилятора
- Режим отладки (включает стек вызовов для JavaScript и Flash 6-8)
- трассировка с номером строки и файлом
- встроенные (inline) методы и переменные
- RTTI - информация времени выполнения о типе
- Оптимизированные дженерики (generics) (для Flash9)
- Внешние файлы ресурсов
- Условная компиляция
- Генерирует документацию (and types - "и типы" или "и выводит"? прим.пер.) в формате XML
Библиотеки и утилиты
- Поддержка Firebug
- Кроссплатформенная поддержка XML
- Кроссплатформенная сериализация в формате, совместимом с web
- Кроссплатформенное взаимодействие с помощью Haxe Remoting Tutorials
- Создание десктоп-приложений с помощью ScreenweaverHX
- поддержка Юнит-тестирования
Особенности языка
- Строготипизированный язык
- Методы и функции являются объектами первого класса (замыкания)
- Регулярные выражения
- Высокоуровневая система типов, включающая :
- классы и интерфейсы
- перечисления (enum)
- функциональные типы
- анонимные типы (структуры)
- динамические переменные
- Перечисления
- необязательные параметры конструктора (как в ML)
- параметры типа (полиморфизм)
- Автоматический вывод типа данных : необязательно задавать тип локальным переменным
- Параметры типа (генерики) c необязательными ограничениями (constraints)
- Система модулей : пакеты + приватные поля классов
- Структурная субтипизация (утиная типизация) используя вывод типа и анонимные типы
- Полиморфные методы
version #13727, modified 2012-04-15 08:34:37 by elyon