
- •16. Rich Internet application
- •16.1. Введение в ria
- •16.1.1. Общие сведения
- •16.1.2. Ключевые термины
- •16.2. Технологии ria
- •16.2.1. Технологии Adobe
- •16.2.1.1. Adobe Flash
- •16.2.1.2. Adobe Flex
- •16.2.1.3. Adobe Air
- •16.2.2. Ajax
- •16.2.3. Технологии Microsoft
- •16.2.3.1. ActiveX
- •16.2.3.2. Технология wpf
- •16.2.3.3. Технология Silverlight
- •16.2.4. Технологии Oracle (Sun)
- •16.2.4.1. Технология JavaFx
- •16.2.5. Другие технологии
- •16.2.7. Сравнение технологий
- •16.2.8. Ключевые термины
- •16.3. Примеры ria-приложений
- •16.3.1. Технологии Adobe
- •16.3.2. Технология Ajax
- •16.3.3. Технологии Microsoft
- •16.4. Краткие итоги
16.2.1.2. Adobe Flex
Adobe Flex также позволяет разрабатывать приложения на базе Flash-платформы, но без применения временной шкалы [5]. Вместо этого появляется язык разметки MXML, дающий возможность в декларативной форме задавать изменения состояний и переходы между ними. Adobe Flex предназначен исключительно для разработчиков. С его помощью создаются сложные интернет-приложения для бизнес-задач и для повседневного применения. Вся разработка во Flex ориентирована на применение готового набора расширяемых компонентов, подходящих почти для всех задач. CSS позволяет гибко настраивать внешний вид, как отдельных компонентов, так и всего приложения. Связывание данных помогает отображать измененную информацию практически без единой строки кода.
Flex приложение может компилироваться на сервере (для этого потребуется mod_flex.so или mod_flex.dll в зависимости от ОС и веб-сервера), а может – из IDE или непосредственно из командной строки с помощью компилятора mxmlc (начиная с Flex 2). Как и во Flash, результатом является файл swf, исполняемый Flash Player [9].
Принцип работы Flex показан на рис. 16.8 [10].
Рис. 16.8. Принцип работы Flex
Flex – это большой набор классов (Flex SDK), содержащий многие не вошедшие во Flash компоненты. Достоинства Flex тесно связаны с его спецификой, MXML. Например, Flex компоненты для построения графиков сделаны удобными для использования и выглядят очень приемлемо для использования "как есть".
Основными преимуществами технологии Flex являются [4]:
быстрый цикл освоения и разработки;
развитое community;
много учебных материалов и документации;
интеграция с дизайнерскими инструментами от Adobe;
надежная простая и эффективная платформа.
Основными недостатками технологии Flex являются [4]:
предрассудок "Flex это для мультиков", несмотря на надуманность и не серьезность одна из очень серьезных проблем;
существенные (по сравнению с Java) ограничения "песочницы";
многие разработчики акцентированы на визуализации, как следствие плохой серверный код.
Бесплатный инструментарий Adobe Flex SDK предлагается с июня 2006 г. Он содержит все необходимое для построения эффективных Flex-программ, включая компилятор MXML и библиотеки ActionScript 3.0.
Kомпания Adobe решила открыть исходный код среды Flex к концу 2007 года и начать распространение этого продукта на условиях Mozilla Public License (MPL).
Интегрированная среда разработки Flex Builder 3, которая обеспечивает более высокую производительность, создана на свободно распространяемой платформе разработки Eclipse. Поскольку многие разработчики уже используют Eclipse при программировании на Java, Flex Builder 3 предоставляет им знакомую среду для создания и Java-приложений, и полнофункциональных клиентов (рис. 16.9).
Рис. 16.9. Adobe Flex Builder 3
Источник: Adobe Flex Builder 3 [11]
Кроме того, возможна разработка Flex (ActionScript 3) проектов с помощью средств OpenSource – в частности, FlashDevelop (Windows), axdt, flex2ant (оба последних средства являются плагинами Eclipse и кроссплатформенны, однако по удобству работы с ними значительно уступают FlashDevelop).
Flex 2, помимо скорости разработки, предоставляет полные мультимедийные возможности платформы Flash: включая потоковое видео, звук (в том числе и программный), бинарные сокеты и большое число прочих новых возможностей ActionScript 3.
Благодаря Flex 2, веб-сервисы могут использоваться для связи с сервером при частом обращении к данным при небольшой полезной нагрузке. Для более ресурсоемких приложений Adobe предлагает программное обеспечение Flex Data Services 2 Express, которое может поддерживать связь между источником данных и уровнем представления. Flex Data Services 2 способен передавать данные с сервера на клиент. Серверный компонент может, например, извлечь данные из серверного приложения SAP и переслать их клиенту. Теперь функции Flex Presentation Server встроены в Flex Data Services.
Еще одно неоспоримое достоинство технологии Flex, тесно связанное с достоинствами ActionScript 3 – это возможность OpenSource разработки Flash-проектов без использования Adobe Flash IDE, с помощью "чистого" программирования. При этом Flash-разработка становится принципиально доступна в том числе и на платформе Linux.