Apache Flex, formerly Adobe Flex, is a
software development kit
A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific to ...
(SDK) for the development and deployment of cross-platform
rich web applications
A rich web application (originally called a rich Internet application, or RIA or installable Internet application) is a web application that has many of the characteristics of desktop application software. The concept is closely related to a sing ...
based on the
Adobe Flash
Adobe Flash (formerly Macromedia Flash and FutureSplash) is a multimedia Computing platform, software platform used for production of Flash animation, animations, rich web applications, application software, desktop applications, mobile apps, mo ...
platform. Initially developed by
Macromedia
Macromedia, Inc., was an American graphics, multimedia, and web development software company (1992–2005) headquartered in San Francisco, California, that made products such as Flash and Dreamweaver. It was purchased by its rival Adobe Systems ...
and then acquired by
Adobe Systems
Adobe Inc. ( ), originally called Adobe Systems Incorporated, is an American multinational computer software company incorporated in Delaware
and headquartered in San Jose, California. It has historically specialized in software for the crea ...
, Adobe donated Flex to the
Apache Software Foundation
The Apache Software Foundation (ASF) is an American nonprofit corporation (classified as a 501(c)(3) organization in the United States) to support a number of open source software projects. The ASF was formed from a group of developers of the A ...
in 2011 and it was promoted to a top-level project in December 2012.
The Flex 3 SDK was released under the
MPL-1.1 license in 2008. Consequently, Flex applications can be developed using standard
Integrated development environment
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
s (IDEs), such as
IntelliJ IDEA
IntelliJ IDEA is an integrated development environment (IDE) written in Java (programming language), Java for developing computer software written in Java, Kotlin (programming language), Kotlin, Groovy (programming language), Groovy, and other ...
,
Eclipse
An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
, the
free and open source
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
IDE FlashDevelop, as well as the proprietary
Adobe Flash Builder
Adobe Flash Builder (previously known as Adobe Flex Builder) is an integrated development environment (IDE) built on the Eclipse platform that speeds development of rich Internet applications (RIAs) and cross-platform desktop applications, parti ...
.
In 2014, the Apache Software Foundation started a new project called FlexJS to
cross-compile
A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a PC but generates code that runs on an Android smartphone is a cross c ...
ActionScript 3 to JavaScript to enable it to run on browsers that do not support Adobe Flash Player and on devices that do not support the Adobe AIR runtime. In 2017, FlexJS was renamed to
Apache Royale
Apache Flex, formerly Adobe Flex, is a software development kit (SDK) for the development and deployment of cross-platform rich web applications based on the Adobe Flash platform. Initially developed by Macromedia and then acquired by Adobe Syste ...
. The Apache Software Foundation describes the current iteration of Apache Royale as an open-source frontend technology that allows a developer to code in ActionScript 3 and MXML and target web, mobile devices and desktop devices on
Apache Cordova
Apache Cordova (formerly PhoneGap) is a mobile application development framework created by Nitobi. Adobe Systems purchased Nitobi in 2011, rebranded it as PhoneGap, and later released an open-source version of the software called Apache Cordov ...
all at once. Apache Royale is currently in beta development stage.
Overview
Flex uses
MXML
MXML is an XML-based user interface markup language first introduced by Macromedia in March 2004. Application developers use MXML in combination with ActionScript to develop rich web applications, with products such as Apache Flex.
Adobe ...
to define UI
layout
Layout may refer to:
* Page layout, the arrangement of visual elements on a page
** Comprehensive layout (comp), a proposed page layout presented by a designer to their client
* Layout (computing), the process of calculating the position of obje ...
and other non-visual static aspects,
ActionScript
ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (meaning i ...
to address dynamic aspects and as code-behind, and requires
Adobe AIR
Adobe AIR (also known as Adobe Integrated Runtime and is codenamed Apollo) is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applicatio ...
or
Flash Player
Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash) is computer software for viewing multimedia contents, executing rich Internet applications, and streaming audio and video content created on the ...
at
runtime to run the application.
Versions
Macromedia Flex 1.0 and 1.5
Macromedia targeted the enterprise application development market with its initial releases of Flex 1.0 and 1.5. The company offered the technology at a price around US$15,000 per
CPU. Required for deployment, the
Java EE
Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web serv ...
application server compiled
MXML
MXML is an XML-based user interface markup language first introduced by Macromedia in March 2004. Application developers use MXML in combination with ActionScript to develop rich web applications, with products such as Apache Flex.
Adobe ...
and
ActionScript
ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (meaning i ...
on-the-fly into Flash applications (binary
SWF files). Each server license included 5 licenses for the Flex Builder IDE.
Adobe Flex 2
![Adobe Flex 4 icon](https://upload.wikimedia.org/wikipedia/commons/6/6a/Adobe_Flex_4_icon.png)
Adobe significantly changed the licensing model for the Flex product line with the release of Flex 2. The core Flex 2 SDK, consisting of the command-line compilers and the complete class library of user interface components and utilities, was made available as a free download. Complete Flex applications can be built and deployed solely with the Flex 2 SDK, which contains no limitations or restrictions compared to the same SDK included with the Flex Builder IDE.
Adobe based the new version of Flex Builder on the open source
Eclipse
An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
platform. The company released two versions of Flex Builder 2, Standard and Professional. The Professional version includes the Flex Charting Components library.
Enterprise-oriented services remain available through Flex Data Services 2. This server component provides data synchronization, data push, publish-subscribe and automated testing. Unlike Flex 1.0 and 1.5, Flex Data Services is not required for the deployment of Flex applications.
Coinciding with the release of Flex 2, Adobe introduced a new version of the
ActionScript
ActionScript is an object-oriented programming language originally developed by Macromedia Inc. (later acquired by Adobe). It is influenced by HyperTalk, the scripting language for HyperCard. It is now an implementation of ECMAScript (meaning i ...
programming language, known as Actionscript 3, reflecting the latest
ECMAScript
ECMAScript (; ES) is a JavaScript standard intended to ensure the interoperability of web pages across different browsers. It is standardized by Ecma International in the documenECMA-262
ECMAScript is commonly used for client-side scripting o ...
specification. The use of ActionScript 3 and Flex 2 requires version 9 or later of the Flash Player runtime. Flash Player 9 incorporated a new and more robust virtual machine for running the new ActionScript 3.
Flex was the first Macromedia product to be re-branded under the
Adobe
Adobe ( ; ) is a building material made from earth and organic materials. is Spanish for ''mudbrick''. In some English-speaking regions of Spanish heritage, such as the Southwestern United States, the term is used to refer to any kind of e ...
name.
Adobe Flex 3
On April 26, 2007, Adobe announced their intent to release the Flex 3 SDK (which excludes the Flex Builder IDE and the LiveCycle Data Services) under the terms of the
Mozilla Public License
The Mozilla Public License (MPL) is a free and open-source weak copyleft license for most Mozilla Foundation software such as Firefox and Thunderbird The MPL license is developed and maintained by Mozilla, which seeks to balance the concerns ...
.
Adobe released the first beta of Flex 3, codenamed ''Moxie'', in June 2007. Major enhancements include integration with the new versions of Adobe's Creative Suite products, support for
AIR
The atmosphere of Earth is the layer of gases, known collectively as air, retained by Earth's gravity that surrounds the planet and forms its planetary atmosphere. The atmosphere of Earth protects life on Earth by creating pressure allowing f ...
(Adobe's new desktop application runtime), and the addition of profiling and refactoring tools to the Flex Builder IDE.
Adobe Flash Builder and Flex 4
Adobe released Flex 4.0 (code named Gumbo) on March 22, 2010. The Flex 4 development environment is called Adobe Flash Builder,
formerly known as Adobe Flex Builder.
Some themes that have been mentioned by Adobe and have been incorporated into Flex 4 are as follows:
* Design in Mind: The framework has been designed for continuous collaboration between designers and developers.
* Accelerated Development: Be able to take application development from conception to reality quickly.
* Horizontal Platform Improvements: Compiler performance, language enhancements, BiDirectional components, enhanced text (Flex 4 includes the new Text Layout Framework).
* Full Support for Adobe Flash Player 10 and above.
* Broadening Horizons: Finding ways to make a framework lighter, supporting more deployment runtimes, runtime MXML.
* Simpler skinning than the previous versions.
* Integration with Adobe Flash Catalyst.
* Custom templates
Flash Builder is available in two versions: Standard and Premium, the premium adds the following features;
* Testing tools
* Memory and performance profilers
* An automated testing harness to connect to all the leading testing tools
* FlexUnit support
* command-line build capability
Adobe Flash Builder 4.5 and Flex 4.5
May 3, 2011, Adobe shipped Flash Builder 4.5 copying Flex 4.5 (SDK only) which delivers full support for building Flex and ActionScript applications for Google Android, as well as support for building ActionScript applications for BlackBerry Tablet OS and Apple iOS. An update to Flash Builder 4.5 and Flex 4.5 adds support for building Flex applications for BlackBerry Tablet OS and Apple iOS.
Flex 4.5 SDK delivers many new components and capabilities, along with integrated support in Flash Builder 4.5 and Flash Catalyst CS 5.5. With the Adobe Flex 4.5 SDK which is governed by three main goals:
* Allow developers to use Flex for multiscreen application development
* Further mature the Spark (skinning) architecture and component set which was introduced in Flex 4
Adobe Flex 4.6.0
In November 2011 Adobe released Flex SDK update 4.6, with the following changes:
* More Spark mobile components including: SplitViewNavigator, CalloutButton, Callout, SpinnerList, DateSpinner, and ToggleSwitch
* Better performance
* Updated platform support
* Enhanced Tooling – Flash Builder 4.6
* Text Enhancements
Apache Flex 4.8.0 - incubating
Jul 25, 2012, Apache Flex community releases Flex 4.8.0-incubating and it as a parity release with Adobe Flex 4.6.0. This is the first release under the incubator of the Apache Software Foundation and represents the initial donation of Adobe Flex 4.6 by Adobe System Inc.
Differences and highlights include:
* Flex trademark issues are largely cleared up
* Bug-tracking / issue-tracking system (JIRA) transferred from the Adobe bug tracker to Apache bug tracker
* Mustela test suite is donated to Apache
Apache Flex 4.9.0
Jan 11, 2013, Apache Flex community releases Flex 4.9.0. This is the first release since Apache Flex became a top level project of the Apache Software Foundation.
Differences and highlights include:
* New locales for Apache Flex including Australian, British, Canadian, Greek, Switzerland (German) and Portuguese
* Apache Flex SDK can be compiled for any version of the Flash Player from 10.2 to 11.5
* New PostCodeFormatter and PostCodeValidator classes for international postcode formatting and validation
* New VectorList and VectorCollection classes for lists and collections of vectors
* New version of the TLF (Text Layout Framework), the TLF 3.0.33 source code is now included as it is now part of the Apache Flex donation
* Can use Java 7 to compile SDK (see README for instructions)
* Many improvements and updates to Mustella tests
* An SDK installer has also been created and is the recommended way of installing the Apache Flex SDK in an IDE
* Various important bug fixes
Apache Flex 4.9.1
Feb 28, 2013, Apache Flex community releases Flex 4.9.1. This was a minor update to 4.9.0.
Apache Flex 4.10.0
Aug 6, 2013, Apache Flex community releases Flex 4.10.0.
Differences and highlights include:
* Support for latest versions of Flash Player (up to 11.8) and AIR runtimes (up to 3.8)
* Improved support for older Flash Player versions (down to 10.2)
* Linux support
* 15 new Spark components
* Advanced telemetry support
* Improved international support for dates
* 480 dpi mobile skins
* Over 200 bugs fixed
Apache Flex 4.11.0
Oct 28, 2013, Apache Flex community releases Flex 4.11.0.
Differences and highlights include:
* Support for Flash Player 11.9 and AIR runtime 3.9
* mx:AdvancedDataGrid and mx:DataGrid speed improvements
* Updated OSMF to latest version
* mobile datagrid component
* 120 and 640 dpi mobile skins
* Desktop callout component
* Over 50 bugs fixed
Apache Flex 4.12.0
Mar 10, 2014, Apache Flex community releases Flex 4.12.0.
Differences and highlights include:
* Support for Flash Player 12.0 and 13.0 beta and AIR runtime 4.0 and 13.0 beta
* Improved mobile memory usage/performance
* Improved iPad and iOS7 support
* mx:AdvancedDataGrid and mx:DataGrid performance improvements
* New MaskedTextinput component
* JSON support for ArrayCollection and ArrayList
* Over 80 bugs fixed
Apache Flex 4.12.1
May 3, 2014, Apache Flex community releases Flex 4.12.1
Differences and highlights include:
* Support for Flash Player 13.0 and AIR runtime 13.0
* Fixed Adobe Flash Builder bug, which inserts an incorrect attribute while creating a new project that uses Apache Flex SDK
* Extended mobile media query support
* Over 20 bugs fixed
Apache Flex 4.13.0
Jul 28, 2014, Apache Flex community releases Flex 4.13.0.
Differences and highlights include:
* Support for Flash Player 14.0 and AIR runtime 14.0
* FDB supports debugging ActionScript Workers
* percentWidth for GridColumn
* Add Chinese translations for all the installers of Flex
* Over 30 bugs fixed
Apache Flex 4.14.0
Jan 28, 2015, Apache Flex community releases Flex 4.14.0
Differences and highlights include:
* iOS 7+ and Android 4.x+ mobile theme support
* New Spark components skin: FlatSpark
* Spark RichTextEditor
* Native support for tables in TLF
* Promises/A+
* 54 bugs fixed
Apache Flex 4.15.0
Jan 11, 2016, Apache Flex community release Flex 4.15.0
Differences and highlights include:
* Support for Flash Player 18, 19 and 20
* Support for AIR 18, 19, 20
* 30 reported bug fixes
Apache Flex 4.16.0
Mar 14, 2017, Apache Flex community release Flex 4.16.0
Differences and highlights include:
* Support for Flash Player 21, 22, 23 and 24
* Support for AIR 21, 22, 23 and 24
* Support for FontAwesome 4.7
* 37 reported bug fixes
Related tools
LiveCycle Data Services
LiveCycle Data Services (previously called ''Flex Data Services'') is a server-side complement to the main Flex SDK and Flash Builder IDE and is part of a family of server-based products available from Adobe. Deployed as a Java EE application, LiveCycle Data Services adds capabilities to Flex applications.
BlazeDS
Previously available only as part of Adobe LiveCycle Data Services ES, Adobe plans to contribute the
BlazeDS
BlazeDS is a server-based Java remoting and web messaging technology that allows users to connect to back-end distributed data and push data to Apache Flex and Adobe AIR Rich Internet applications (RIA). Because of its open licensing, BlazeDS is n ...
technologies to the community under the
LGPL v3. BlazeDS gives Adobe developers free access to the remoting and messaging technologies developed by Adobe.
Concurrent with pre-release of BlazeDS, Adobe is publishing the
AMF binary data protocol specification, on which the BlazeDS remoting implementation is based, and is attempting to partner with the community to make this protocol available for major server platforms.
Flex and ColdFusion
Flex 2 offers special integration with
ColdFusion MX 7. The ColdFusion MX 7.0.2 release adds updated Flash Remoting to support ActionScript 3, a Flex Data Services event gateway, and the Flex Data Services assembler. Flex Builder 2 also adds extensions for ColdFusion providing a set of wizards for RAD Flex development. A subset of Flex 1.5 is also embedded into ColdFusion MX 7 middleware platform, for use in the ColdFusion Flash forms feature. It is possible to use this framework to write rich web applications, although its intended purpose is for rich forms only.
Application Frameworks
There are a number of application frameworks available which help the developer solve some common tasks and set up the application structure according to best practices.
* Tide, part of the
Granite Data Services platform.
* Swiz
* Parsley
*
Cairngorm
*
PureMVC
PureMVC is a framework for creating applications based upon the well-established model–view–controller (MVC) design pattern. The free, open source framework was originally implemented in the ActionScript 3 language for use with Adobe Flex, Fl ...
* DropAS3
* Fabrication
* Mate
* RobotLegs
Notable sites using Flex
*
Sherwin-Williams
Sherwin-Williams Company is an American Cleveland, Ohio–based company in the paint and coating manufacturing industry. The company primarily engages in the manufacture, distribution, and sale of paints, coatings, floorcoverings, and related p ...
color visualizer
*
Yahoo! Messenger for the Web
*
BBC iPlayer
BBC iPlayer (stylised as iPLAYER or BBC iPLAYER) is a video on demand service from the BBC. The service is available on a wide range of devices, including mobile phones and tablets, personal computers and smart televisions. iPlayer services del ...
desktop downloader
*
mint.com
Mint, also known as Intuit Mint (styled in its logo as intuit mint with dotted 't' characters in "intuit" and undotted 'i' characters) and formerly known as Mint.com, is a personal financial management website and mobile app for the US and Canad ...
*
ChessCube
*
BigBlueButton
*
HBO Go
HBO Go is a partly-inactive authenticated video on demand of the pay television service HBO. The service allowed subscribers to HBO via television providers to access its programming on-demand via the HBO website, mobile apps, and digital media p ...
*
VMware
VMware, Inc. is an American cloud computing and virtualization technology company with headquarters in Palo Alto, California. VMware was the first commercially successful company to virtualize the x86 architecture.
VMware's desktop software ru ...
vSphere Web Client
See also
*
FXG Flash XML Graphics (FXG) is a specification for an XML-based graphics file format for describing two-dimensional vector graphics developed by Adobe Systems. FXG was planned as a graphics interchange format for cross-application file support, to b ...
*
List of rich web application frameworks : ''For a list of mobile only frameworks see Multiple phone web based application framework''.
Below is a list of rich web application frameworks:
{, class="wikitable sortable" style="width: auto; table-layout: fixed; text-align: center;"
, - s ...
References
External links
*
{{Widget toolkits
Flex
Flex or FLEX may refer to:
Computing
* Flex (language), developed by Alan Kay
* FLEX (operating system), a single-tasking operating system for the Motorola 6800
* FlexOS, an operating system developed by Digital Research
* FLEX (protocol), a comm ...
Flex
Flex or FLEX may refer to:
Computing
* Flex (language), developed by Alan Kay
* FLEX (operating system), a single-tasking operating system for the Motorola 6800
* FlexOS, an operating system developed by Digital Research
* FLEX (protocol), a comm ...
Flex
Flex or FLEX may refer to:
Computing
* Flex (language), developed by Alan Kay
* FLEX (operating system), a single-tasking operating system for the Motorola 6800
* FlexOS, an operating system developed by Digital Research
* FLEX (protocol), a comm ...
Cross-platform software
Free integrated development environments
Free software programmed in Java (programming language)
Formerly proprietary software
Rich web application frameworks
Software development kits
Software using the Apache license
2004 software