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 долларов США за процессор . [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.
Корпоративные сервисы остаются доступными через 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 . [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] Premium добавляет следующие функции;
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 и его как паритетный выпуск с 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 выпустило Flex 4.15.0 [26]
Отличия и основные моменты включают в себя:
14 марта 2017 г. сообщество Apache Flex выпустило Flex 4.16.0 [27]
Отличия и основные моменты включают в себя:
LiveCycle Data Services (ранее называвшиеся Flex Data Services ) — это серверное дополнение к основному Flex SDK и Flash Builder IDE, а также часть семейства серверных продуктов, доступных от Adobe. Службы данных LiveCycle Data Services, развернутые как приложение Java EE, расширяют возможности приложений 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. Эту платформу можно использовать для написания многофункциональных веб-приложений, хотя ее предназначение предназначено только для многофункциональных форм. [ нужна цитата ]
Существует ряд фреймворков приложений, которые помогают разработчику решать некоторые общие задачи и настраивать структуру приложения в соответствии с лучшими практиками.