Wednesday, April 25, 2007

WK13 - Adobe Flex

What's Flex?

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 Web 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. Flex 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 and Windows Presentation Foundation technologies.

Flex Application Development Process

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