Clarifying the Definition of Frameworks

Flex Article
Developing Flex RIAs with Cairngorm Microarchitecture
- Part 1: Introducing Cairngorm
Author: Steven Webster
Link: http://www.adobe.com/devnet/flex/articles/cairngorm_pt1.html

In software development, the term framework is one of the most overloaded and overused terms within and between development teams. When developers write large pieces of code that they consider significant enough to consider leveraging on other projects, they tend to supplement the code with this term. Thus there are many types of frameworks: persistence frameworks, transaction frameworks, logging frameworks, aspect-oriented frameworks, animation frameworks, unit-testing frameworks, and the like.

Application Frameworks

When a framework provides highly granular class libraries that give a high degree of flexibility to application developers, or when a framework provides application-level services that are useful across multiple developer projects, I call it an "application framework

Architectural Frameworks

Architectural frameworks are different beasts entirely. Typically the job of an architectural framework is not to provide any additional services to application developers except an infrastructure around which an application can hang--to provide the skeleton or internal structure of moving parts, around which the flesh and muscle particular to a business domain can be layered.

What Cairngorm Teaches You

Cairngorm is a microarchitecture that addresses three key areas that we have always tried to provide as best-practice recommendations for our customers and partners:

Handling user gestures on the client Encapsulating business logic and server interactions Managing state on the client and representing this state to the user interface Cairngorm offers a microarchitecture (collection of design patterns) that aids us in consistently solving these recurring design challenges.

Cairngorm is an architectural framework that provides a suggested implementation of a technical architecture upon which you can build your own, more complex, application-specific architectures.

By basing your application on the Cairngorm architecture, however, there are some generic and fundamental design challenges that you won't have to solve by yourself while leveraging the benefits inside Flex, such as how to handle user gestures in an elegant fashion, how to handle server interaction and business logic in an elegant and scalable fashion, and how best to manage state on a rich and immersive client application.

Comments
Comments are not allowed for this entry.
BloggArt  |  Portfolio  |  Contact          BloggArt is running BlogCFC version 5.5.