Jump to content

Apache Flex

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 98.207.117.167 (talk) at 01:11, 19 October 2007 (should have linked to Adobe Flash Player article rather than just Adobe Flash). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Adobe Flex
Developer(s)Adobe Systems
Initial release1.0 Released March 2004
Stable release
2.0.1 / January 5, 2007
Preview release
Flex 3 Beta 2 / October 2007
Repository
Operating systemMac OS X, Linux and Windows
Available inEnglish and Japanese
TypeRich Internet application
LicenseMozilla Public License
Websitehttp://www.adobe.com/go/flex/

Adobe Flex is a software development kit and an IDE for a group of technologies initially released in March of 2004 by Macromedia to support the development and deployment of cross platform, rich Internet applications based on their proprietary Macromedia Flash platform.

In April 2007, Adobe announced plans to open source the Flex 3 SDK. Adobe Flash Player, the runtime on which Flex applications are viewed, and Flex Builder, the IDE used to build Flex applications, remain proprietary and commercial.

Overview

Traditional application programmers found it challenging to adapt to the animation metaphor upon which the Flash Platform was originally built. Flex seeks to minimize this problem by providing a workflow and programming model that is familiar to application developers.

Flex was initially released as a J2EE application or JSP tag library that compiles MXML and ActionScript on-the-fly into Flash applications (binary SWF files). Later versions of Flex support the creation of static files that are compiled at authoring time and can be deployed online without the need for a server license.

The goal of Flex is to allow application developers to quickly and easily build rich Internet applications. In a multi-tiered model, Flex applications serve as the presentation tier.

Flex features development of graphic user interfaces using an XML-based language called MXML. It comes with various components and features that make capabilities such as web services, remote objects, drag and drop, sortable columns, charting/graphing, built in animation effects, and other interface interactions simple. Since the client only loads once, application workflow is significantly improved versus HTML based applications (eg. PHP, ASP, JSP, CFMX) which require executing templates on the server with every action. Flex's language and file structure are seeking to decouple application logic from design.

The Flex server also acts as a gateway to allow the client to communicate with XML Web Services and Remote Objects (such as Coldfusion CFCs, Java Classes, and anything else that supports the Action Message Format).

Commonly mentioned as alternatives to Flex are OpenLaszlo, Ajax, XUL, JavaFX and Windows Presentation Foundation technologies such as Silverlight.

Initial Releases (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. Each server license included 5 licenses for the Flex Builder IDE.

Adobe Flex 2

Flex 2 changes the licensing model to open room to a free version of the technology, called "Flex 2 SDK".

The new Flex Builder 2 is based on the Eclipse IDE. Enterprise-oriented services are available through Flex Data Services 2 providing data synchronization, data push, publish-subscribe and automated testing.

Flex 2 introduces the use of a new version of the ActionScript scripting language, Actionscript 3, reflecting the latest ECMAScript specification and requires Flash Player 9 or later for the runtime.

Flex was the first Macromedia product to be rebranded as Adobe.

Adobe Flex 3 (beta)

Adobe released the first beta of Flex 3 in June 2007. Major enhancements include integration with the new versions of its Creative Suite products, support for the new Adobe application runtime, AIR, and the addition of profiling and refactoring tools to the Flex Builder IDE. A more complete description and free downloads are available on the Adobe Labs site.

In October 2007, Adobe released the second beta of Flex 3.

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.

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 internet applications, although its intended purpose is for rich forms only.

An open-source remoting alternative using PHP is possible with AMFPHP.

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 a SWF file that runs in the Flash Player

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
  • Adobe announces plans to open source Flex 3 SDK - April 26, 2007
  • Flex 3.0 Beta 1[Moxie] - June 11, 2007
  • Flex 3.0 Beta 2 - October 1, 2007

Notable sites using Flex

Notable sites using Flex include:

There is a showcase of Flex applications at the Flex Showcase.

See also

Technical mailing lists