All Topics  
Adobe Flex

 

   Email Print
   Bookmark   Link






 

Adobe Flex



 
 
Adobe Flex is a collection of technologies released by Adobe Systems
Adobe Systems

Adobe Systems Incorporated is an United States computer Computer software company headquartered in San Jose, California, USA. The company has historically focused upon the creation of multimedia and creativity software products, with a more-recent foray into rich Internet application software development....
 for the development and deployment of cross-platform rich Internet application
Rich Internet application

Rich Internet applications are web applications that have some of the characteristics of Application software, typically delivered by way of an Ajax framework, Proprietary software web browser Plug-in s, advanced javascript compiler technology, or independently via Sandbox es or virtual machines....
s based on the proprietary Adobe Flash
Adobe Flash

Adobe Flash is a multimedia Platform created by Macromedia and currently developed and distributed by Adobe Systems. Since its introduction in 1996, Flash has become a popular method for adding animation and interactivity to web pages; Flash is commonly used to create animation, advertisements, and various web page components, to integrate...
 platform. The initial release in March 2004 by Macromedia
Macromedia

Macromedia was a United States graphics and Web development software house headquartered in San Francisco, California producing such products as Adobe Flash....
 included a software development kit
Software development kit

A software development kit is typically a set of development tools that allows a software engineer to create application software for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform....
, an IDE
Integrated development environment

An integrated development environment also known as integrated design environment or integrated debugging environment is a software application that provides comprehensive facilities to computer programmers for software development....
, and a J2EE
Java Platform, Enterprise Edition

Java Platform, Enterprise Edition or Java EE is a widely used Platform for Server programming in the Java programming language. The Java Platform differs from the Java Platform, Standard Edition in that it adds libraries which provide functionality to deploy fault-tolerant, Distributed computing, multitier architecture Java Applicat...
 integration application known as Flex Data Services
Adobe LiveCycle

Adobe LiveCycle Enterprise Suite ) is a Service-oriented architecture J2EE-based server software product from Adobe Systems Incorporated used to build applications that automate a broad range of business processes for enterprises and government agencies....
. Since Adobe acquired Macromedia in 2005, subsequent releases of Flex no longer require a license for Flex Data Services, which has become a separate product rebranded as LiveCycle Data Services
Adobe LiveCycle

Adobe LiveCycle Enterprise Suite ) is a Service-oriented architecture J2EE-based server software product from Adobe Systems Incorporated used to build applications that automate a broad range of business processes for enterprises and government agencies....
.

In February 2008, Adobe released the Flex 3 SDK under the open source
Open source

Open source is an approach to design, development, and distribution offering practical accessibility to a product's source . Some consider open source as one of various possible design approaches, while others consider it a critical Strategy element of their business operations....
 Mozilla Public License
Mozilla Public License

The Mozilla Public License is a free software and open source software license. Version 1.0 was developed by Mitchell Baker when she worked as a lawyer at Netscape Communications Corporation and version 1.1 at the Mozilla Foundation....
.






Discussion
Ask a question about 'Adobe Flex'
Start a new discussion about 'Adobe Flex'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Adobe Flex is a collection of technologies released by Adobe Systems
Adobe Systems

Adobe Systems Incorporated is an United States computer Computer software company headquartered in San Jose, California, USA. The company has historically focused upon the creation of multimedia and creativity software products, with a more-recent foray into rich Internet application software development....
 for the development and deployment of cross-platform rich Internet application
Rich Internet application

Rich Internet applications are web applications that have some of the characteristics of Application software, typically delivered by way of an Ajax framework, Proprietary software web browser Plug-in s, advanced javascript compiler technology, or independently via Sandbox es or virtual machines....
s based on the proprietary Adobe Flash
Adobe Flash

Adobe Flash is a multimedia Platform created by Macromedia and currently developed and distributed by Adobe Systems. Since its introduction in 1996, Flash has become a popular method for adding animation and interactivity to web pages; Flash is commonly used to create animation, advertisements, and various web page components, to integrate...
 platform. The initial release in March 2004 by Macromedia
Macromedia

Macromedia was a United States graphics and Web development software house headquartered in San Francisco, California producing such products as Adobe Flash....
 included a software development kit
Software development kit

A software development kit is typically a set of development tools that allows a software engineer to create application software for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform....
, an IDE
Integrated development environment

An integrated development environment also known as integrated design environment or integrated debugging environment is a software application that provides comprehensive facilities to computer programmers for software development....
, and a J2EE
Java Platform, Enterprise Edition

Java Platform, Enterprise Edition or Java EE is a widely used Platform for Server programming in the Java programming language. The Java Platform differs from the Java Platform, Standard Edition in that it adds libraries which provide functionality to deploy fault-tolerant, Distributed computing, multitier architecture Java Applicat...
 integration application known as Flex Data Services
Adobe LiveCycle

Adobe LiveCycle Enterprise Suite ) is a Service-oriented architecture J2EE-based server software product from Adobe Systems Incorporated used to build applications that automate a broad range of business processes for enterprises and government agencies....
. Since Adobe acquired Macromedia in 2005, subsequent releases of Flex no longer require a license for Flex Data Services, which has become a separate product rebranded as LiveCycle Data Services
Adobe LiveCycle

Adobe LiveCycle Enterprise Suite ) is a Service-oriented architecture J2EE-based server software product from Adobe Systems Incorporated used to build applications that automate a broad range of business processes for enterprises and government agencies....
.

In February 2008, Adobe released the Flex 3 SDK under the open source
Open source

Open source is an approach to design, development, and distribution offering practical accessibility to a product's source . Some consider open source as one of various possible design approaches, while others consider it a critical Strategy element of their business operations....
 Mozilla Public License
Mozilla Public License

The Mozilla Public License is a free software and open source software license. Version 1.0 was developed by Mitchell Baker when she worked as a lawyer at Netscape Communications Corporation and version 1.1 at the Mozilla Foundation....
. Adobe Flash Player
Adobe Flash Player

The Adobe Flash Player is software for creating and viewing animations and movies using computer programs such as a web browser; in common usage, flash lets you put animation and movies on a web site....
, the runtime
Runtime

In computer science, runtime or run time describes the operation of a computer program, the duration of its execution, from beginning to termination ....
 on which Flex applications are viewed, and Adobe Flex Builder
Adobe Flex Builder

Adobe Flex Builder is an integrated development environment built on the Eclipse platform meant for developing rich Internet applications and cross-platform desktop applications, particularly for the Adobe Flex platform....
, the IDE
Integrated development environment

An integrated development environment also known as integrated design environment or integrated debugging environment is a software application that provides comprehensive facilities to computer programmers for software development....
 built on the open source Eclipse
Eclipse (software)

Eclipse is a multi-language software development environment comprising an Integrated development environment and a plug-in system to extend it....
 platform and used to build Flex applications, remain proprietary.

Overview

Traditional application programmers found it challenging to adapt to the animation metaphor
Metaphor

Metaphor is language that directly compares seemingly unrelated subjects. It is a figure of speech that compares two or more things without using the words "like" or "as." More generally, a metaphor describes a first subject as being or equal to a second object in some way....
 upon which the Flash Platform was originally designed. Flex seeks to minimize this problem by providing a workflow and programming model that is familiar to these developers. MXML
MXML

MXML is an XML-based user interface markup language first introduced by Macromedia in March 2004. Adobe Systems gives no official meaning for the acronym, but some developers suggest it should stand for "Magic eXtensible Markup Language" ....
, an XML-based markup language, offers a way to build and lay out graphic user interfaces. Interactivity is achieved through the use of ActionScript
ActionScript

ActionScript is a scripting language based on ECMAScript. ActionScript is used primarily for the development of websites and software using the Adobe Flash Player platform , but is also used in some database applications , and in basic robotics, as with the Make Controller Kit....
, the core language of Flash Player that is based on the ECMAScript
ECMAScript

ECMAScript is a scripting language, standardized by Ecma International in the ECMA-262 Specification . The language is widely used on the World Wide Web, and is often confused with JavaScript or JScript, the two major Programming language dialect from which ECMAScript was standardized....
 standard.

The Flex SDK comes with a set of user interface components including buttons, list boxes, trees, data grids, several text controls, and various layout containers. Charts and graphs are available as an add-on. Other features like web services, drag and drop, modal dialogs, animation effects, application states, form validation, and other interactions round out the application framework.

In a multi-tiered model
Multitier architecture

In software engineering, multi-tier architecture is a client-server architecture in which, the presentation, the application processing and the data management are logically separate processes....
, Flex applications serve as the presentation tier. Unlike page-based HTML applications, Flex applications provide a stateful client where significant changes to the view don't require loading a new page. Similarly, Flex and Flash Player provide many useful ways to send and load data to and from server-side components without requiring the client to reload the view. Though this functionality offered advantages over HTML and JavaScript development in the past, the increased support for XMLHttpRequest
XMLHttpRequest

XMLHttpRequest is a Document Object Model Application programming interface that can be used inside a web browser scripting language, such as Javascript, to send an Hypertext Transfer Protocol directly to a web server and load the Response data directly back into the scripting language....
 in major browsers has made asynchronous data loading a common practice in HTML-based development too.

Technologies that are commonly compared to Flex include OpenLaszlo
OpenLaszlo

OpenLaszlo is an open source platform for the development and delivery of rich Internet applications. It is released under the Open Source Initiative-certified Common Public License....
, Ajax
Ajax (programming)

Ajax, or AJAX , is a group of interrelated web development techniques used to create interactive web applications or rich Internet applications....
, XUL
XUL

XUL , the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project which operates in Mozilla cross-platform applications such as Mozilla Firefox and Flock ....
, JavaFX
JavaFX

JavaFX is a software platform for creating and delivering rich Internet applications that can run across wide variety of connected devices. The current release enables building applications for desktop, browser and mobile phones....
 and Windows Presentation Foundation
Windows Presentation Foundation

The Windows Presentation Foundation , formerly code-named Avalon, is a graphical subsystem in .NET Framework 3.0 , which uses a markup language, known as Extensible Application Markup Language, for rich user interface development....
 technologies such as Silverlight.

Although popular as a rich internet application development environment, Flex is not without its detractors. In February, 2009, analyst firm CMS Watch criticized the use of Flex for enterprise application user interfaces, arguing that the resulting user experience was insufficiently customizable by the end-customer.

Release history

  • Flex 1.0 - March 2004
  • Flex 1.5 - October 2004
  • Flex 2.0 (Alpha) - October 2005
  • Flex 2.0 Beta 1 - February 2006
  • Flex 2.0 Beta 2 - March 2006
  • Flex 2.0 Beta 3 - May 2006
  • Flex 2.0 Final- June 28, 2006
  • Flex 2.0.1 - January 5, 2007
  • Flex 3.0 Beta 1 - June 11, 2007
  • Flex 3.0 Beta 2 - October 1, 2007
  • Flex 3.0 Beta 3 - December 12, 2007
  • Flex 3.0 - February 25, 2008
  • Flex 3.1 - August 15, 2008
  • Flex 3.2 - November 17, 2008


Versions


Macromedia Flex Server 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$15000 per CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
. Required for deployment, the Java EE
Java Platform, Enterprise Edition

Java Platform, Enterprise Edition or Java EE is a widely used Platform for Server programming in the Java programming language. The Java Platform differs from the Java Platform, Standard Edition in that it adds libraries which provide functionality to deploy fault-tolerant, Distributed computing, multitier architecture Java Applicat...
 application server compiled MXML
MXML

MXML is an XML-based user interface markup language first introduced by Macromedia in March 2004. Adobe Systems gives no official meaning for the acronym, but some developers suggest it should stand for "Magic eXtensible Markup Language" ....
 and ActionScript
ActionScript

ActionScript is a scripting language based on ECMAScript. ActionScript is used primarily for the development of websites and software using the Adobe Flash Player platform , but is also used in some database applications , and in basic robotics, as with the Make Controller Kit....
 on-the-fly into Flash applications (binary SWF
SWF

The file formatSWF a partially open software repository for multimedia and especially for vector graphics, originated with FutureWave Software and has come under the control of Adobe Systems....
 files). Each server license included 5 licenses for the Flex Builder IDE.

Adobe Flex 2

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 with only 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
Eclipse (software)

Eclipse is a multi-language software development environment comprising an Integrated development environment and a plug-in system to extend it....
 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

ActionScript is a scripting language based on ECMAScript. ActionScript is used primarily for the development of websites and software using the Adobe Flash Player platform , but is also used in some database applications , and in basic robotics, as with the Make Controller Kit....
 programming language, known as Actionscript 3, reflecting the latest ECMAScript
ECMAScript

ECMAScript is a scripting language, standardized by Ecma International in the ECMA-262 Specification . The language is widely used on the World Wide Web, and is often confused with JavaScript or JScript, the two major Programming language dialect from which ECMAScript was standardized....
 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 Systems

Adobe Systems Incorporated is an United States computer Computer software company headquartered in San Jose, California, USA. The company has historically focused upon the creation of multimedia and creativity software products, with a more-recent foray into rich Internet application software development....
 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
Mozilla Public License

The Mozilla Public License is a free software and open source software license. Version 1.0 was developed by Mitchell Baker when she worked as a lawyer at Netscape Communications Corporation and version 1.1 at the Mozilla Foundation....
. 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 (Adobe's new desktop application runtime), and the addition of profiling and refactoring tools to the Flex Builder IDE.

In October 2007, Adobe released the second beta of Flex 3.
On December 12, 2007, Adobe released the third beta of Flex 3.
On February 25, 2008, Adobe released Flex 3 and Adobe AIR 1.0.

Adobe Flex 4

Adobe has announced that Flex 4.0 (code named Gumbo) will be released in 2009. Even though this announcement has been made, the product plan has yet to be completed.

Some themes that have been mentioned by Adobe that will be incorporated into Flex 4 are as follows:

  • Design in Mind: The framework will be 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, BiDi components, enhanced text. (Speculation derived from Adobe Systems)
  • Full Support for Adobe Flash Player 10.
  • Broadening Horizons: Finding ways to make a framework lighter, supporting more deployment runtimes, runtime MXML. (Speculation derived from Adobe Systems)


Flex 4 milestones: (Speculation derived from Adobe Systems)
  • Product Defined, July 2008
  • MAX Preview, November 5, 2008
  • Betas 1 and 2, H1 2009
  • Final, H2 2009


Adobe Flash Catalyst

On October 2nd, 2007, Adobe announced a new design tool related to Flex codenamed Adobe Thermo. On November 17 2008 Adobe announced the official name of the product would be Adobe Flash Catalyst.

LiveCycle Data Services

LiveCycle Data Services (previously called Flex Data Services) is a server-side complement to the main Flex SDK and Flex 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 the following capabilities to Flex applications:
  • Remoting, which allows Flex client applications to invoke methods on Java server objects directly. Similar to Java remote method invocation (RMI), remoting handles data marshalling automatically and uses a binary data transfer format.
  • Messaging, which provides the "publish" end of the "publish/subscribe" design pattern. The Flash client can publish events to a topic defined on the server, subscribe to events broadcast from the message service. One of the common use cases for this is real-time streaming of data, such as financial data or system status information.
  • Data management services, which provides a programming model for automatically managing data sets that have been downloaded to the Flex client. Once data is loaded from the server, changes are automatically tracked and can be synchronized with the server at the request of the application. Clients are also notified if changes to the data set are made on the server.
  • PDF document generation, providing APIs for generating PDF documents by merging client data or graphics with templates stored on the server.


BlazeDS

Previously available only as part of Adobe LiveCycle Data Services ES, Adobe is announcing its plans to contribute the proven BlazeDS
BlazeDS

BlazeDS is a server-based Java remoting and web messaging technology that allows you to connect to back-end distributed data and push data in real-time to Adobe Flex and Adobe AIR rich Internet applications ....
 technologies to the community under the LGPL v3
GNU Lesser General Public License

The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License and permissive licenses such as the BSD licenses and the MIT License....
. BlazeDS gives the rapidly growing Adobe developer community free access to the powerful remoting and messaging technologies developed by Adobe.

Concurrent with this pre-release of BlazeDS, Adobe is publishing the AMF
Action Message Format

Action Message Format or AMF is a binary format based loosely on the SOAP_. It is used primarily to exchange data between an Adobe Flash application and a database, using a Remote Procedure Call....
 binary data protocol specification, on which the BlazeDS remoting implementation is based, and is committed to partnering with the community to make this protocol available for every major server platform. Both projects are in the Adobe Open Source page.

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
ColdFusion

ColdFusion is an application server and software language used for Internet application development such as for dynamic web page. In this regard, ColdFusion is a similar product to Microsoft Active Server Pages, JavaServer Pages or PHP....
 middleware platform, for use in the ColdFusion Flash forms feature. It is possible to use this framework to write rich internet applications, although its intended purpose is for rich forms only.

Flex Application Development Process

Everything below is directly sourced from the help file in version 2.0 Beta 3:

  • Define an application interface using a set of pre-defined components (forms, buttons, and so on)
  • Arrange components into a user interface design
  • Use styles and themes to define the visual design
  • Add dynamic behavior (one part of the application interacting with another, for example)
  • Define and connect to data services as needed
  • Build the source code into an SWF file that runs in the Flash Player


Flex Builder For Education

In early 2008, Adobe gave Flex Builder free to all educational customers. It is still available now at . They are also releasing ColdFusion
ColdFusion

ColdFusion is an application server and software language used for Internet application development such as for dynamic web page. In this regard, ColdFusion is a similar product to Microsoft Active Server Pages, JavaServer Pages or PHP....
 free to educational customers.

Notable sites using Flex


Notable sites using Flex include:
  • Pikeo
    Pikeo

    Pikeo is a photo sharing website and an online community platform. Registered users can share their photos with either the community of users or only their friends and family, and they can also add comments....
     online photo sharing
  • Amsterdam-Schiphol Airport
  • Sherwin-Williams Color Visualizer
  • Sony Ericsson
    Sony Ericsson

    Sony Ericsson is a joint venture established on October 3, 2001 by the Japanese consumer electronics company Sony Corporation and the Swedish telecommunications company Ericsson to make mobile phones....
     Product Catalog
  • Yahoo! Messenger
    Yahoo! Messenger

    Yahoo! Messenger is an advertisement-supported instant messaging client and YMSG provided by Yahoo!. Yahoo! Messenger is provided free of charge and can be downloaded and used with a generic "Yahoo! ID" which also allows access to other Yahoo! services, such as Yahoo! Mail, where users can be automatically notified when they receive new ema...
     for the Web
  • Yahoo! Maps
    Yahoo! Maps

    Yahoo! Maps is a free online mapping portal provided by Yahoo!....
     Web Mapping


See also

  • Adobe Flash Catalyst
  • Adobe AIR (formerly Adobe Apollo)
  • Microsoft Silverlight
    Microsoft Silverlight

    Microsoft Silverlight is a programmable web browser plugin that enables features such as animation, vector graphics and multimedia that characterizes rich Internet applications....
  • OpenLaszlo
    OpenLaszlo

    OpenLaszlo is an open source platform for the development and delivery of rich Internet applications. It is released under the Open Source Initiative-certified Common Public License....
  • The ZK Framework
    ZK Framework

    ZK is an Open-source software Ajax Web application framework, written in Java , that enables creation of rich graphical user interfaces for Web applications with no JavaScript and little programming knowledge....
  • JavaFX
    JavaFX

    JavaFX is a software platform for creating and delivering rich Internet applications that can run across wide variety of connected devices. The current release enables building applications for desktop, browser and mobile phones....


External links

  • desktop application, 217 demos and code samples