Flex 3 is the new version of Adobe technology for the definition of a development atmosphere at runtime which allows developers to create highly interactive front end which uses the benefits of the well-known Flash Player.
Flex 3 applications interact with the Business Logic part through web services, JavaBeans and all server side technologies (PHP, Coldfusion, .NET, Ruby on Rails) and insert themselves in complex Enterprise (J2EE) architectures guaranteeing aspects such as security and the separation between presentation and logic.
The Flex 3 nucleus is represented by Flex Framework, which will be distributed freely as part of the Flex Software Development Kit (SDK). This infrastructure develops the basics put forward by Flash Player 9 and ActionScript 3.0 offering a rich library of classes which incorporate the procedures advised for the creation of successful RIA.
Flex Framework includes an ample range of user extendible interface components which allow for access to data from remote services and to link them to the objects and to the controls of the user interface.
The library of Flex contains more than 100 components and containers, from simple widgets such as buttons and coloured selection windows to advanced controls such as data grids, accordion panels and complex text editors. Developers can build the user interface of an application using the incorporated components, obtaining underclasses to modify their behavior or creating them again through the specific API.
On a par with other modern user interface development environments, Flex allows the developer to use predefined interactions, for example columns which can be dragged in a data grid, or to connect to some well defined events to determine specific behaviors of the application.
Developers design the Flex components through MXML, a language based on XML which allows them to manage the visible elements of an application according to a declarative approach. With MXML, it is possible to position the components, specify determined links to obtain a more flexible user interface and to visualize states and transitions to control the response from the application to the different actions of the user and the various internal events. To personalize the aspect of an application, the developers can set the properties of the incorporated styles through the pages of CSS style or include personalized graphic resources through the integrated support for the modification in 9 steps.
Flex applications access data and services through a set of incorporated service components. The developers can access XML data through the HTTP protocol and the web services and furthermore use additional services offered by Flex Data Services, such as connection to remote Java objects, publication/underwriting messages and new data services for Flex.
To simplify the use of data, Flex offers an advanced infrastructure of linking data which automatically updates the user interface when the data is returned, allows the applications to remain reactive even when they are waiting for results from the server. For more detailed information regarding the improvements introduced in Flex Framework 3, see Presentation of Flex Framework.