Содержание
Flex – это фреймворк для создания RIA и корпоративных приложений. В зависимости от Ваших целей и типа проекта, с помощью Flex могут быть разработаны Web- и десктоп-приложения (с помощью AIR) или их связка.
На данный момент выпущена четвертая версия Flex SDK. Flex 4 включает в себя три языка: MXML, ActionScript и FXG — каждый их них служит для определенных целей. Далее рассматривается каждый из них на примере.
MXML
MXML используется для организации пользовательского интерфейса и компонентов, составляющих макет приложения. Значение акронима точно неизвестно, некоторые предполагают, что название произошло от «Maximum eXperience», а другие – «Macromedia XML».
Вот небольшой пример синтаксиса:
<s:VGroup>
<s:TextInput id="inputTI"/>
<s:Button label="Refresh" click="refreshOutput()"/>
<s:TextInput id="outputTI"/>
</s:VGroup>
Контейнер VGroup содержит два поля для ввода и кнопку, событие «нажатия на кнопку» вызывает функцию ActionScript
ActionScript
ActionScript используется непосредственно для программирования тех или иных действий и событий.
private function refreshOutput():void
{
outputTI.text = inputTI.text;
inputTI.text = "";
}
Эта ActionScript функция переносит текст из одного поля ввода в другое.
Flash XML Graphics (FXG)
FXG — это XML подобный язык обмена графикой между различными продуктами Adobe. FXG-код может быть описан как самим программистом, так и с помощью специального программного обеспечения – Adobe Illustrator и Adobe Photoshop. Для этого графический файл экспортируется в FXG-файл, а затем используется во Flex-приложении.
Это очень удобный подход. Ниже приведенный часть кода на FXG:
<s:Group id="container" horizontalCenter="0" verticalCenter="0">
<s:Rect height="100%" width="100%">
<s:fill>
<s:SolidColor color="#209910"/>
</s:fill>
<s:stroke>
<s:SolidColorStroke color="#000000" weight="2"/>
</s:stroke>
</s:Rect>
</s:Group>
В этом коде описывается прямоугольник с заливкой.
Flex – это современный гибридный фреймворк
Изучить Flex будет проще веб-разработчикам уже знакомым с HTML и JavaScript. MXML — это язык разметки, а ActionScript — это скриптовый язык.
Flex – это Flash
Flex приложения, как и другой flash-контент, компилируются в SWF файл. Скомпилированные SWF файлы воспроизводит и отображает на экране Flash Player.
С помощью Flex можно создавать приложения малого размера для их быстрой загрузки и запуска на компьютерах с различными операционными системами. Оценить количество компьютеров на которых установлен Flash Player можно по следующей диаграмме:
Flex – это Flex SDK
Flex Software Development Kit (SDK) содержит большую библиотеку компонентов пользовательского интерфейса, компилятор и документацию необходимую для разработки.
Благодаря Flex разработчики могут использовать уже готовые элементы пользовательского интерфейса и бесплатный компилятор. Но если использовать Flash Builder, то разработка становится более комфортабельной и удобной. Я бы рекомендовал начать свой путь именно с этой IDE. Adobe Flash Builder имеет 60-ти дневный пробный период. А если Вы студент или безработный, то можно получить лицензию бесплатно, я уже писал о об этом — Как бесплатно получить лицензию на Adobe Flash Builder 4 студенту. К тому же, Вы в любой момент можете перейти к другой IDE (например, Flash Develop) или вообще использовать компилятор из командной строки.
Несколько слов о AIR
Adobe Integrated Runtime (AIR) – это решение позволяющее запускать веб-приложения на десктоп-системах. К плюсам этой технологии можно отнести работу в off-line режиме, использование drag-and-drop, буфера обмена и т.д. При этом, веб-разработчикам не нужно изучать java или C#.
Сейчас AIR поддерживает три платформы: Windows, Mac и Linux. В разработках можно использовать JavaScript и html.
Зачем использовать Flex?
Изначально, Flex разрабатывался для упрощения разработки веб-приложений для Flash плеера. Но сейчас с помощью этого мощного фреймворка можно создавать и настольные приложения.
Использования Flex для создания приложений
Богатая библиотека настраиваемых компонентов сделала Flex хорошим инструментом для относительно быстрой разработки и распространения как веб-, так и десктоп-приложений.
Например, можно реализовать почтовый сервис и клиент к нему для запуска на локальном компьютере. При этом, исходный код не будет сильно изменен. На это способен Flex.
Интерактивность
Flex позволяет создавать по истине интерактивные приложения. Событийная модель и компоненты со встроенными методами позволяют создавать красивые визуальные эффекты.
Быстрая скорость разработки
Flex – это быстрый способ создания интерактивных и стильных (с использованием тем оформления) приложений. Конечно, всего это можно добиться, используя традиционную Flash IDE, но с Flex на это уходит меньше времени, особенно при использовании Flash Builder`а.
Стилизация приложений
Flex поддерживает разделение дизайна и контента приложения, позволяя применять внешние стили. Вы сможете сделать быстрый редизайн приложения или применять темы оформления.
Flex поддерживает паттерн проектирования Model-View-Controller (MVC). Существуют бесплатные библиотеки (Cairngorm, swiz), которые упрощают реализацию MVC.
Открытость
Flex SDK полностью бесплатен. Вы можете писать код в обычном текстовом редакторе и компилировать его из командной строки с помощью консольного компилятора.
Adobe Flex SDK поставляется в исходных кодах. Вы можете изучать и модифицировать исходный код и использовать в своих приложениях. Такой подход дал толчок для развития множества бесплатных расширенных компонентов, которые созданы пользователями это фреймворка. Существуют даже руководства по созданию собственных компонентов.
Обмен данными
Flex имеет встроенную поддержку XML. Он также поддерживает Action Message Format (AMF), что позволяет обмениваться сжатыми двоичными данными по сети с Java или ColdFusion серверами. Есть возможность использования AMFPHP для взаимодействия с серверными php-скриптами.
Для чего не подойдет Flex
Flex не подходит для создания анимации как в Flash IDE с использованием Timeline.
Flex не подойдет для проектов в которых используется много форматированного текста, для них лучше использовать HTML/Ajax
Выводы
На данный момент Flex является наиболее распространенных решением для создания RIA приложений. С Flex, пользовательский интерфейс может быть создан с помощью языка разметки MXML и CSS, а запрограммирован с помощью ActionScript, тем самым, разделив логику приложения с его дизайном. Это упрощает взаимодействие программиста и дизайнера.