Cairngorm LibrariesCairngorm 3 provides a set of optional Flex libraries released under the Cairngorm License. The Cairngorm 3 Architecture described in Cairngorm Guidelines can also be applied with other third-party libraries and frameworks. Several of the Cairngorm 3 libraries are implemented as extensions to third-party frameworks. Currently, all extentions support the Parsley Application Framework and the Navigation library additionally offers an extention to the Swiz framework. However, other Cairngorm libraries, such as Observer, Popup, Task, Persistence, Design by Contract and Validation are independent of any third-party framework. Overview of LibrariesA short summary of each library follows, together with links to the download, source code and documentation.
Design by Contract LibraryThe Design by Contract library allows to assert pre and post-conditions, following the idea of Design by Contract. Its use of conditional compilation ensures that production code remains unaffected.
Observer LibraryThe Cairngorm Observer library provides a set of non-visual components for declaration in MXML that observe other objects and react to changes in some way and execute view behaviour. These components help to reduce the amount of Script-block logic required in MXML components.
Popup LibraryThe Cairngorm Popup library contains components for managing the opening, closure and general behavior of popups. They are designed to minimize Script-block logic in MXML components and to reduce code duplication across applications that manage multiple popups.
Task LibraryThe Cairngorm Task library provides an abstraction for performing tasks in sequence and parallel. It might be used for coordinating the start-up sequence of an application or for managing a series of asynchronous processes that need to be performed in a certain order.
Validation LibraryThe Cairngorm Validation library is designed to simplify validation of user input and other data. Instead of declaring validators individually in MXML and coordinating them manually, a group of validators can be defined using the ValidatorGroup component. The validity of the whole group can then be determined as one. Validator groups can be nested and detached from the view and applied to other layers of an application, such as a domain model. Additional components are provided for observing validation rules and updating view components to highlight validation errors.
Persistence Library - release candidateThe Persistence library eases the communication between an Adobe AIR application and an SQLite database. Both use different type systems (relational SQL versus object-oriented ActionScript). This Object Relational Mapping (ORM) library follows an iBATIS approach.
Navigation Library - release candidate (Requires Parsley or Swiz)The Cairngorm Navigation library provides utilities to ease the creation of point-to-point, hierarchical and deferred navigations, global and local history tracking, wizards, and enter and exit interceptions. It can reduce the amount of Script-block logic needed by allowing dedicated objects to control navigational concerns. The current version is implemented as a Parsley and a Swiz extension. A Spring ActionScript extension is currently in development.
Module Library - beta (Requires Parsley)The Cairngorm Module library is designed to simplify the configuration, rendering and loading of modular content. Additonally it offers flexiblity to communicate to modules. It contains infrastructure classes, view components, a mechanism for loading and communicating to modular content on-demand in response to Parsley messages.
Integration Library - alpha (Requires Parsley)The integration library provides utilities to loosely-couple concerns of the communication with external environments with other client side architectural layers. Aside from sending and retrieving data, it also offers structures to manage global error handling, conflict resolution, and offers presentation components access progress and error information in a loosely coupled way. Supported are currently RPC, data management using LCDS, and LocalConnection. In the current version of the IntegrationParsley and IntegrationDMS libraries are dependent on Parsley. The Integration libray containing the IDataCache utility does not depend on the Parsley framework but uses the Spicelib utility library for reflection on metadata. You can use IDataCache with any IoC framework.
Maven and BugbaseThe release of Cairngorm 3.0.11 is published in a Cairngorm 3 maven repository at http://opensource.adobe.com/svn/opensource/cairngorm3/maven-repository You are encouraged to browse the trunk source code. For more information about retrieving and following the source code of the SVN repository, click here. You may build this version using Maven from the main build file available at http://opensource.adobe.com/svn/opensource/cairngorm3/trunk/build-parent/ A bug base is available here. Expectations on Versioning
|
|