This is the first in a series of posts making up a general tutorial on Adobe Flex. In this post I describe what Flex is, what RIA are, and how the MVC design pattern fits into Adobe Flex.
What is Adobe Flex?
Adobe Flex is a technology providing an environment and infrastructure for creating rich internet applications. Adobe Flex Builder 3 is an IDE (integrated development environment) with integrated design, coding, and debugging tools that work together to help you work more efficiently.
When you create applications in Flex, you use primarily a combination of MXML, ActionScript, and CSS (cascading style sheets), though you could also incorporate HTML, JavaScript, and other technologies.
One of the greatest advantages of Adobe Flex over competing technologies, such as AJAX, Microsoft Silver light, and Java FX, is that Flex applications execute in the Adobe Flash Player browser plug-in. This eliminates most of the browser inconsistencies that you need to code for in some other technologies.
What is a RIA (rich internet application)?
Rich internet applications combine the richness more typically seen in desktop application user interfaces, with the low-cost development of web applications, together with engaging interactivity of multimedia communication.
In a nutshell, RIA are applications delivered over the internet that look better than your typical web pages, are more engaging for the user, and keep the user on your web site longer per session.
One key aspect of RIA is that unlike standard web pages where most user interaction results in a server request and complete page refresh, RIA execute more functionality on the client (end-user) browser, and only update that portion of the interface that changes due to user interaction.
Flex Applications == MXML, CSS, and ActionScript == MVC
You create Flex applications with three scripting “languages”, MXML, ActionScript, and CSS (cascading style sheets). They are used to promote using the MVC (Model, View, Controller) design pattern.
Model components (ActionScript) – Encapsulates data and behaviors related to the data processed by the application. The model might represent the name, address, phone number and email address of a customer, or perhaps the contents of a shopping cart, or product descriptions and specifications.
View components (MXML and CSS) – Defines your application user interface, and the user’s view of application data. The view might contain the Form container used to enter a customer’s name, address, etc., a DataGrid control for displaying the contents of a shopping cart, or image of products in a catalog.
Controller components (ActionScript) – Handles data processing in your application. The controller provides application management and the business logic of the application. The controller does not necessarily have any knowledge of the view or the model.
Tags: general tutorials