Apache Flex , ранее Adobe Flex , представляет собой комплект средств разработки программного обеспечения (SDK) для разработки и развертывания кроссплатформенных многофункциональных веб-приложений на базе платформы Adobe Flash . Первоначально разработанный Macromedia и затем приобретенный Adobe Systems , Adobe пожертвовал Flex Apache Software Foundation в 2011 году [2] , и он был повышен до проекта верхнего уровня в декабре 2012 года.
Flex 3 SDK был выпущен под лицензией MPL-1.1 в 2008 году. Следовательно, приложения Flex можно разрабатывать с использованием стандартных интегрированных сред разработки (IDE), таких как IntelliJ IDEA , Eclipse , бесплатная и открытая IDE FlashDevelop, а также фирменный Adobe Flash Builder .
В 2014 году Apache Software Foundation начал новый проект под названием FlexJS для кросс-компиляции ActionScript 3 в JavaScript, чтобы обеспечить его запуск в браузерах, не поддерживающих Adobe Flash Player, и на устройствах, не поддерживающих среду выполнения Adobe AIR. [3] [4] В 2017 году FlexJS был переименован в Apache Royale . [5] [6] Apache Software Foundation описывает текущую версию Apache Royale как технологию интерфейса с открытым исходным кодом, которая позволяет разработчику писать код на ActionScript 3 и MXML и одновременно нацеливать веб-сайты, мобильные устройства и настольные устройства на Apache Cordova . [7] В настоящее время Apache Royale находится на стадии бета-разработки. [8]
Flex использует MXML для определения макета пользовательского интерфейса и других невизуальных статических аспектов, ActionScript для решения динамических аспектов и в качестве кода программной части, а также требует Adobe AIR или Flash Player во время выполнения для запуска приложения. [9]
Macromedia нацелилась на рынок разработки корпоративных приложений с первыми выпусками Flex 1.0 и 1.5. Компания предлагала технологию по цене около 15 000 долларов США за CPU . [10] Требуемый для развертывания сервер приложений Java EE компилировал MXML и ActionScript на лету в приложения Flash (двоичные файлы SWF ). Каждая серверная лицензия включала 5 лицензий на Flex Builder IDE.
Adobe значительно изменила модель лицензирования для линейки продуктов Flex с выпуском Flex 2. Основной Flex 2 SDK, состоящий из компиляторов командной строки и полной библиотеки классов компонентов пользовательского интерфейса и утилит, стал доступен для бесплатной загрузки. Полные приложения Flex могут быть созданы и развернуты исключительно с помощью Flex 2 SDK, который не содержит никаких ограничений или запретов по сравнению с тем же SDK, включенным в Flex Builder IDE.
Adobe создала новую версию Flex Builder на основе платформы Eclipse с открытым исходным кодом . Компания выпустила две версии Flex Builder 2: Standard и Professional. Профессиональная версия включает библиотеку Flex Charting Components.
Корпоративные сервисы остаются доступными через Flex Data Services 2. Этот серверный компонент обеспечивает синхронизацию данных, отправку данных, публикацию-подписку и автоматизированное тестирование. В отличие от Flex 1.0 и 1.5, Flex Data Services не требуется для развертывания приложений Flex.
Одновременно с выпуском Flex 2 компания Adobe представила новую версию языка программирования ActionScript , известную как ActionScript 3, отражающую последнюю спецификацию ECMAScript . Для использования ActionScript 3 и Flex 2 требуется версия 9 или более поздняя версия среды выполнения Flash Player. Flash Player 9 включает новую и более надежную виртуальную машину для запуска нового ActionScript 3.
Flex стал первым продуктом Macromedia, переименованным в Adobe .
26 апреля 2007 года Adobe объявила о своем намерении выпустить Flex 3 SDK (который исключает Flex Builder IDE и LiveCycle Data Services) на условиях Mozilla Public License . [11] Adobe выпустила первую бета-версию Flex 3 под кодовым названием Moxie в июне 2007 года. Основные усовершенствования включают интеграцию с новыми версиями продуктов Adobe Creative Suite, поддержку AIR (новая среда выполнения настольных приложений Adobe) и добавление инструментов профилирования и рефакторинга в Flex Builder IDE.
Adobe выпустила Flex 4.0 (кодовое название Gumbo) 22 марта 2010 года. [12] Среда разработки Flex 4 называется Adobe Flash Builder, [13] ранее известная как Adobe Flex Builder.
Вот некоторые темы, упомянутые Adobe и включенные в Flex 4:
Flash Builder доступен в двух версиях: Standard и Premium. [15] В премиум-версии добавлены следующие функции:
3 мая 2011 г. Adobe выпустила Flash Builder 4.5, копирующий Flex 4.5 (только SDK), который обеспечивает полную поддержку создания приложений Flex и ActionScript для Google Android, а также поддержку создания приложений ActionScript для BlackBerry Tablet OS и Apple iOS. Обновление Flash Builder 4.5 и Flex 4.5 добавляет поддержку создания приложений Flex для BlackBerry Tablet OS и Apple iOS.
Flex 4.5 SDK предоставляет много новых компонентов и возможностей, а также интегрированную поддержку в Flash Builder 4.5 и Flash Catalyst CS 5.5. С Adobe Flex 4.5 SDK, который управляется тремя основными целями:
В ноябре 2011 года компания Adobe выпустила обновление Flex SDK 4.6 со следующими изменениями:
25 июля 2012 года сообщество Apache Flex выпускает Flex 4.8.0-incubating и это как паритетный релиз с Adobe Flex 4.6.0. Это первый релиз в инкубаторе Apache Software Foundation и представляет собой первоначальное пожертвование Adobe Flex 4.6 компанией Adobe System Inc. [16]
Различия и особенности включают в себя:
11 января 2013 года сообщество Apache Flex выпускает Flex 4.9.0. Это первый релиз с тех пор, как Apache Flex стал проектом верхнего уровня Apache Software Foundation. [17]
Различия и особенности включают в себя:
28 февраля 2013 года сообщество Apache Flex выпускает Flex 4.9.1. Это было небольшое обновление 4.9.0. [18]
6 августа 2013 г. сообщество Apache Flex выпускает Flex 4.10.0. [19]
Различия и особенности включают в себя:
28 октября 2013 г. сообщество Apache Flex выпускает Flex 4.11.0. [20]
Различия и особенности включают в себя:
10 марта 2014 г. сообщество Apache Flex выпускает Flex 4.12.0. [21]
Различия и особенности включают в себя:
3 мая 2014 г. сообщество Apache Flex выпускает Flex 4.12.1 [23]
Различия и особенности включают в себя:
28 июля 2014 г. сообщество Apache Flex выпускает Flex 4.13.0. [24]
Различия и особенности включают в себя:
28 января 2015 г. сообщество Apache Flex выпускает Flex 4.14.0
Различия и особенности включают в себя:
11 января 2016 г., Apache Flex Community выпускает Flex 4.15.0 [26]
Различия и особенности включают в себя:
14 марта 2017 г., Apache Flex Community выпускает Flex 4.16.0 [27]
Различия и особенности включают в себя:
LiveCycle Data Services (ранее называвшийся Flex Data Services ) — это серверное дополнение к основному Flex SDK и Flash Builder IDE, а также часть семейства серверных продуктов, доступных от Adobe. Развернутый как приложение Java EE, LiveCycle Data Services добавляет возможности приложениям Flex.
Ранее доступные только как часть Adobe LiveCycle Data Services ES, Adobe планирует предоставить сообществу технологии BlazeDS в рамках LGPL v3 . BlazeDS предоставляет разработчикам Adobe бесплатный доступ к технологиям удаленного взаимодействия и обмена сообщениями, разработанным Adobe.
Одновременно с предварительным выпуском BlazeDS компания Adobe публикует спецификацию протокола двоичных данных AMF , на которой основана реализация удаленного взаимодействия BlazeDS, и пытается наладить партнерские отношения с сообществом, чтобы сделать этот протокол доступным для основных серверных платформ.
Flex 2 предлагает специальную интеграцию с ColdFusion MX 7. В релизе ColdFusion MX 7.0.2 добавлен обновленный Flash Remoting для поддержки ActionScript 3, шлюза событий Flex Data Services и ассемблера Flex Data Services. Flex Builder 2 также добавляет расширения для ColdFusion, предоставляя набор мастеров для разработки RAD Flex. Подмножество Flex 1.5 также встроено в платформу промежуточного программного обеспечения ColdFusion MX 7 для использования в функции форм ColdFusion Flash. Эту структуру можно использовать для написания насыщенных веб-приложений, хотя ее предполагаемое назначение — только для насыщенных форм. [ необходима цитата ]
Существует ряд фреймворков приложений, которые помогают разработчику решать некоторые общие задачи и настраивать структуру приложения в соответствии с передовыми практиками.