Whether you are new to Adobe ® Flex ® or have been developing for a while, frameworks can help you get organised quickly.
Below is a list of Flex and AIR frameworks that will allow you to get up and running and develop highly-collaborative applications. The introductions are by the frameworks themselves, but I’d like to here from you about your experiences using them.
Cairngorm is the lightweight micro-architecture for Rich Internet Applications built in Flex or AIR. A collaboration of recognized design patterns, Cairngorm exemplifies and encourages best-practices for RIA development advocated by Adobe Consulting, encourages best-practice leverage of the underlying Flex framework, while making it easier for medium to large teams of software engineers deliver medium to large scale, mission-critical Rich Internet Applications.
More information can be found on the Cairngorm project’s website.
PureMVC is a lightweight framework for creating applications based upon the classic Model-View-Controller concept.
Based upon proven design patterns, this free, open source framework which was originally implemented in the ActionScript 3 language for use with Adobe Flex, Flash and AIR, has now been ported to nearly all major development platforms.
Two versions of the framework are supported with reference implementations; Standard and MultiCore, though only the Standard version has been ported to other languages so far.
More information can be found on the PureMVC project’s website.
Mate is a tag-based, event-driven Flex framework.
Flex applications are event-driven. Mate framework has been created to make it easy to handle the events your Flex application creates. Mate allows you to define who is handling those events, whether data needs to be retrieved from the server, or other events need to be triggered.
In addition, Mate provides a mechanism for dependency injection to make it easy for the different parts of your application to get the data and objects they need.
More information can be found on the Mate project’s website.
Swiz is a framework for Adobe Flex that aims to bring complete simplicity to RIA development. Swiz provides Inversion of Control, event handing, and simple life cycle for asynchronous remote methods. In contrast to other major frameworks for Flex, Swiz imposes no J2EE patterns on your code, no repetitive folder layouts, and no boilerplate code on your development. Swiz represents best practices learned from the top RIA developers at some of the best consulting firms in the industry, enabling Swiz to be simple, lightweight, and extremely productive.
More information can be found on the Swiz project’s website.
Guasax is an ease of use programming framework which provides the creation of an ordered and scalable application with Adobe Flex. The lifecycle of the Guasax framework is based in the MVC pattern to take on our program actions. The Guasax framework helps you to maintain your business logic tier highly decoupled from your presentation logic tier.
Guasax takes reflection and introspection techniques as well as the Inversion of Control (IoC) pattern to execute the operations which we have pointed at and to make a decision about itself. Guasax is not intrusive on your class model. You don’t have to extend your classes in a framework class to use it.
Model-Glue: Flex brings implicit invocation, Model-View-Controller design, and cleaner, less repetitive integration with backend services to Flex and AIR applications.
It shuns repetitive, boilerplate code in favor of helper classes and expressive APIs.
More information can be found on the Model-Glue: Flex project’s website.
Gaia is an open-source front-end Flash Framework for AS3 and AS2 designed to dramatically reduce development time.
Gaia is targeted at anyone who develops Flash sites. It provides solutions to the challenges and repeated tasks faced with front-end Flash site development, such as navigation, transitions, preloading, asset management, site structure, deep linking and SEO. It provides speed and flexibility in your workflow and a simple API that gives you access to its powerful features.
More information can be found on the Gaia Framework’s website.
UPDATE: Some more frameworks that I overlooked.
Parsley is an application framework for Flex/Flash/AIR applications written in AS3. It contains the following modules:
IoC Container (Configuration and Dependency Injection) – Inspired by the Spring Framework it brings the concept of anIoC(Inversion of Control) container to ActionScript. It is useful for configuration and wiring of applications. It helps building a well structured architecture and decoupling the individual building blocks of your application. Configuration is based on XML files.
MVC Framework – The MVC (Model View Controller) framework helps decouple the view layer from other parts of the application. It borrows the concept of a FrontController from Cairngorm, but instead of advocating the use of BusinessDelegate and ServiceLocator patterns, the framework integrates the FrontController with the IoC container.
More information can be found on the Parsley Framework’s website.
Prana is an Inversion of Control (IoC) Container for ActionScript 3.0, and more specifically the Flex framework. It enables you to configure objects and components in a non-intrusive way by describing them in an external XML document and having them loaded at runtime.
At its core is a Spring-ish application context and IoC container. The XML dialect for the application context is aimed to be Spring compliant.
The framework also contains utility classes for configuring and extending Cairngorm and PureMVC applications, a Reflection API and general utilities.
More information can be found on the Prana Framework’s website.
Arp is a pattern-based framework for Flash and Flex. It supports both ActionScript 2 and ActionScript 3.
More information can be found on the Arp project’s page on the Open Source Flash website.