Adobe Flex
Последнее изменение этой страницы: 12:41, 20 декабря 2017.
Разработчики: | Apache Software Foundation and Adobe Systems |
---|---|
Выпущена: | June 20, 2004 |
Постоянный выпуск: | 4.15.0 / 11 January 2016 года |
Состояние разработки: | Active |
Написана на: | ActionScript, Java (programming language) |
Операционная система: | Windows, macOS, Linux, Android (operating system), iOS, BlackBerry Tablet OS |
Локализация: | Various between websites |
Тип ПО: | Software development kit application |
Лицензия: | Apache License version 2.0 |
Веб-сайт | Apache Flex and Adobe Flex |
Adobe Flex (или Apache Flex) - комплект средств разработки (SDK (Software Development Kit)) для создания кросс-платформенных насыщенных интернет-приложений (Rich Internet Applications) на основе Flash. [Источник 1]
Adobe Flex – это сравнительно новая и весьма продвинутая платформа для разработки тонких Web-приложений, основанная на технологии Adobe Flash. Среда разработки представляет собой бесплатный SDK, плюс плагин Eclipse IDE для визуального редактирования и отладки. Для выполнения кода (как и прежде, содержащегося в .swf-файлах) требуется Flash Player 9.[Источник 2]
Flex расширяет базовые возможности flash, позволяя описывать интерфейс приложения на XML (eXtensible Markup Language) языке. Логика приложения пишется на ActionScript3. Результатом компиляции является SWF файл предназначенный для выполнения в браузере (На платформе Adobe Flash Player), или как самостоятельное приложение (на платформе AIR).
Flex-приложение может компилироваться на сервере (для этого потребуется mod_flex.so или mod_flex.dll в зависимости от ОС и веб-сервера), а может — из IDE или непосредственно из командной строки с помощью компилятора mxmlc (начиная с Flex 2), как и во Flash, результатом является файл swf, исполняемый в Flash Player.
Содержание
Отличия Flex от Flash
Flex framework имеет локализацию и стилизацию приложения, а так же включает возможности разработки модульного приложения, встроенные валидаторы и форматоры текстовых полей, т.е. практически все инструменты, которые так нужны большинству разработчиков приложений, работающих online.
Flex SDK существенно расширяет стандартный возможности Flash технологии, позволяя свободно описывать интерфейс создаваемого приложения на языке XML (eXtensible Markup Language), ускоряя и упрощая при этом весь процесс разработки веб-приложений. Вся бизнес логика приложения пишется на языке программирования ActionScript. Результатом компиляции созданного проекта является SWF файл, предназначенный для исполнения в веб-браузере (на основе Flash Player) или как полностью самостоятельное полноценное настольное приложение (на базе AIR). Flex приложение может свободно компилироваться и на веб-сервере Apache, только для этого потребуется дополнительный модуль mod_flex so или mod_flex dll в зависимости от операционной системы и веб-сервера, а может — из непосредственно IDE или даже из самой командной строки при помощи компилятора mxmlc. Опять же, как и во Flash, результатом будет файл типа swf, легко исполняемый во Flash Player.[Источник 3]
Инструменты для работы с анимацией и графикой используют базовые возможности flash. Поэтому баннеры и медийная реклама делаются без использования flex.
Flex не предоставляет таких средств, как рисование векторных изображений и анимации.[1] Предполагается, что при необходимости использования .swf-анимаций в качестве элементов оформления, разработчик импортирует готовые анимации из Flash. Однако в Flex предусмотрен набор стандартных эффектов, таких как движение, размывание, изменение цвета или альфа-канала и т.п. Также имеются средства группировки эффектов, с параллельным или последовательным выполнением, с возможностью вложения групп. Эффекты удобно использовать, например, для анимации выпадающих меню.[Источник 4]
Достоинства
Flex, помимо скорости разработки, предоставляет полные мультимедийные возможности Flash Platform:
- потоковое мультимедиа;
- возможность получить доступ к веб-камере и микрофону пользователя;
- бинарные сокеты;
- обширные возможности сетевых коммуникаций (HTTP-запросы, веб-сервисы, встроенный формат сериализации AMF);
- оперирование координатами трехмерного пространства;
- возможности использования встроенных фильтров (таких как расфокусировка, падающая тень и др.) и написание собственных.[Источник 5]
Благодаря Flex, веб-сервисы могут использоваться для связи с сервером при частом обращении к данным при небольшой полезной нагрузке. Для более ресурсоемких приложений Adobe предлагает программное обеспечение Flex Data Services 2 Express, которое может поддерживать связь между источником данных и уровнем представления. Flex Data Services 2 способен передавать данные с сервера на клиент. Серверный компонент может, например, извлечь данные из серверного приложения SAP и переслать их клиенту. Теперь функции Flex Presentation Server встроены в Flex Data Services.
Ещё одно неоспоримое достоинство технологии Flex, тесно связанное с достоинствами ActionScript 3 — это возможность OpenSource разработки Flash-проектов без использования Adobe Flash Professional, с помощью «чистого» программирования. При этом Flash-разработка становится принципиально доступна в том числе и на Unix-платформах.
Недостатки
Работа flex-framework основана на относительно большом количестве собственного AS3-кода. Для примерной оценки: стандартный набор классов, включаемый по умолчанию в каждое разрабатываемое flex-приложение, занимает более 700 килобайт в итоговом swf-файле. Таким образом, общий объём кода, необходимый для исполнения flex-приложения, заметно увеличивается. В более поздних версиях флеш-плеера реализован механизм, который даёт возможность использовать классы flex, не включая их в каждый отдельный swf. При первом запуске такого swf, флеш-плеер подгрузит необходимые файлы с официального сайта в отведённый для этого кэш флеш-плеера. Однако, подгрузка дополнительных файлов из внешнего источника в некоторых случаях является неприемлемой или нежелательной. В этом случае, компоненты flex-framework должны быть скомпилированы и добавлены непосредственно в swf-файл, что заметно увеличивает размер swf-файла, если речь идёт о "легковесных" приложениях.[Источник 6]
Cкачивание Apache Flex
Пример
Вот пример приложения Flex 3, использующего MXML и ActionScript :
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml [archive]" layout="absolute"> <mx:Script> <![CDATA[ // Code ActionScript 3.0 directement intégré dans le fichier MXML // Ce code pourrait être placé dans un fichier séparé avec l'extension .as public function sayHello():void { lblResults.text = "Hello " + txtName.text; } ]]> </mx:Script> <mx:Panel x="10" y="10" width="306" height="200" layout="absolute" title="Say Hello"> <mx:Label x="10" y="10" text="Entrez votre nom :"/> <mx:TextInput x="10" y="36" id="txtName"/> <mx:Button x="178" y="36" label="Dis Bonjour" click="sayHello()"/> <mx:Label x="10" y="66" id="lblResults"/> </mx:Panel> </mx:Application>
Этот код рисует форму, которая позволяет пользователю ввести свое имя, а затем вывести "Hello + [введенное имя]" при нажатии на кнопку "Dis Bonjour!".
Тот же пример с Flex 4 и с помощью компонентов Spark[2]:
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009 [archive]" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> <fx:Script> <![CDATA[ // Code ActionScript 3.0 directement intégré dans le fichier MXML // Ce code pourrait être placé dans un fichier séparé avec l'extension .as public function sayHello():void { lblResults.text = "Hello " + txtName.text; } ]]> </fx:Script> <s:layout> <s:BasicLayout /> </s:layout> <s:Panel x="10" y="10" width="306" height="200" title="Say Hello"> <s:layout> <s:BasicLayout /> </s:layout> <s:Label x="10" y="10" text="Entrez votre nom :"/> <s:TextInput x="10" y="36" id="txtName"/> <s:Button x="178" y="36" label="Dis Bonjour!" click="sayHello()"/> <s:Label x="10" y="66" id="lblResults"/> </s:Panel> </s:Application>
Источники
- ↑ Apache Flex // Wikipedia: сайт. [2017—2017]. Дата обновления: 24.08.2017. URL: https://ru.wikipedia.org/wiki/Apache_Flex (дата обращения: 22.08.2017).
- ↑ Adobe Flex 2.0 – обзор и впечатления // Rsdn: сайт. [2017—2017]. Дата обновления: 24.08.2017. URL: http://rsdn.org/article/inet/FlexForFlashers.xml (дата обращения: 22.08.2017).
- ↑ Adobe Flex SDK 4.6 // Softodon: сайт. [2017—2017]. Дата обновления: 24.08.2017. URL: http://softodon.com/software-571-adobe-flex-sdk.html (дата обращения: 22.08.2017).
- ↑ Adobe Flex 2.0 – обзор и впечатления // Rsdn: сайт. [2017—2017]. Дата обновления: 24.08.2017. URL: http://rsdn.org/article/inet/FlexForFlashers.xml (дата обращения: 22.08.2017).
- ↑ Adobe Flex // Dic.academic: cайт. [2017—2017]. Дата обновления: 24.08.2017. URL: http://dic.academic.ru/dic.nsf/ruwiki/167226 (дата обращения: 23.08.2017).
- ↑ Apache Flex // Wikiplanet: сайт. [2017—2017]. Дата обновления: 24.08.2017. URL: https://www.wikiplanet.click/enciclopedia/ru/Apache_Flex (дата обращения: 23.08.2017).
Примечания
- ↑ Имеется возможность рисовать векторные изображения программно (а также программно отображать внедрённые в .swf-файл или динамически загружаемые растровые изображения). Но этот подход эффективен в очень ограниченном количестве случаев.
- ↑ В новом SDK разработчики существенно переделали старые компоненты, сильно облегчив их и урезав значительную часть возможностей. В основном это было сделано с целью оптимизации, новые компоненты получили название Spark. В большинстве случаев разница между halo и spark компонентами не заметна, но есть и сильно измененные компоненты. Теперь все визуальные компоненты имеют некий базовый класс который определяет базовою функциональность (обработку событий, поведение, свойства) и скины (skins), которые определяют вид и прорисовку.
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.