Flash — удивительная платформа. Настолько удивительная, что никакая другая технология не может вытеснить Flash с позиции самой популярной мультимедиа платформы для веб, и найти жизнеспособного конкурента очень сложно. Устаревшее заявление — в настоящее время уже появились конкуренты. Что ж, книга пишется много месяцев, а ситуация меняется быстро. Благодаря способности работать на разных машинах и операционных системах, можно уверенно сказать, что скоро Flash будет распространен повсеместно, несмотря на угрозу со стороны Microsoft. Можно уверенно сказать, что это уже случилось.
Flash IDE, основной инструмент для разработчиков, создающих flash-фильмы, имеет собственный компилятор, так же как и Flex Builder — новый инструмент от Adobe. Эти инструменты — предвесники коммерческой flash-разработки. Авторы говорят так, как будто коммерческой флэш-разработки еще нет, но вот-вот появится. Между тем, она уже давно существует, а сейчас развивается очень активно, привлекая все больше разработчиков. Но они не обязательны для создания Flash-приложения.
С момента появления ActionScript2.0 — скриптового языка для flash-фильмов — разработчики получили возможность создавать flash-приложения, используя чистый код. К сожалению, Flash IDE не является подходящей средой для создания flash-приложений таким способом (чистым кодом), она рассчитана главным образом на дизайнеров. Flex предлагает лучшее решение, но все же имеет недостатки. К сожалению не названы, а было бы очень интересно узнать мнение авторов о недостатках Flex.
Если рассмотреть оба инструмента — Flash IDE и Flex, вместе с языками, которые они используют — ActionScript 1 и 2 во Flash IDE, и MXML и ActionScript 3 во Flex Builder — вы увидите, что две очень разные программы и разные языки компилируются в одну платформу. Хотя Flash IDE компилируется во Flash-фильм 9-й версии и ниже, а Flex Builder компилируется только во Flash-фильм 9-й версии, обе они делают одно и тоже. haXe выполняет ту же задачу по компиляции исходного кода во Flash байт-код, так же как и Flash IDE и Flex Builder, но haXe может быть скомпилирован во Flash-фильм от 6-й до 9-й версии.
haXe делает все это возможным, благодаря языку, который мало связан с байт-кодом, и поэтому он может поддерживать много платформ. haXe нужно только определить эквивалентные структуры данных для каждой платформы, и способ, как трансформировать их в байт-код.
Flash swf файл, одна из "целей" haXe, представляет собой документ, содержащий серию кодов в виде байтов. Каждый байт представляет медиа-объект, функцию, переменную или свойство, составляющие содержание фильма. Он интерпретируется виртуальной машиной как содержание или функциональность фильма. При компиляции во Flash, haXe генерирует такой же swf-файл, как и официальный компилятор Flash от Adobe. Но, конечно, некоторые функции библиотеке haXe могут не поддерживаться, если компилируется фильм более старой версии. Версией компилируемого фильма можно управлять, задавая параметры компилятора. Также с помощью параметров задается целевая платформа.
Для тех, кто использовал компилятор MTASC, созданный Николасом Каннассье для ActionScript 2, haXe выступает в роли преемника. Работа над MTASC теперь сводится только к исправлению ошибок.
Несколько лет назад, когда появился MTASC (Motion-Twin ActionScript Compiler), многие разработчики увидели для себя возможность войти в мир Flash. Прежде разработчики жаловались, что Flash IDE ориентирована на дизайнеров и слишком мало средств предоставляет разработчикам. MTASC изменил ситуацию, предложив разработку с использованием чистого кода, что было привычно для разработчиков.
haXe следует тем же путем, ориентированным на разработчиков, предоставляя мощный, но удобный синтаксис. Он также предлагает дизайнерам попытаться войти в мир разработчиков.