Cairngorm 1.0 MVC framework for Feathers UI

Today, I'm happy to introduce version 1.0 of the new feathersui-cairngorm open source project, which is a port of the Cairngorm MVC framework from Apache Flex (formerly Adobe Flex) to Feathers UI, Haxe and OpenFL.

This is the newest of multiple projects that I'll be releasing as part of the Feathers UI v1.0 release week celebration.

The original Cairngorm was a very popular MVC microarchitecture for Adobe Flex and ActionScript application development, and it was created by Alistair McLeod and Steven Webster of the company iteration::two. They conceived Cairngorm from their experiences building large, enterprise-scale web applications — which have their own unique and special architectural and maintainability considerations compared to smaller projects.

Cairngorm powered the codebases of hundreds of intranet applications running in major corporations around the world. Many different design-pattern-based MVC, IoC, and other types of architectural frameworks followed in Cairngorm's footsteps, but Cairngorm was the O.G. for many Flex developers.

Some organizations still have Flex apps running that need to migrate to another technology. Many have probably become desktop apps with Adobe AIR these days, or they might even still require Flash Player in a VM. For those who have been putting off the move away from Flex, I hope that this port of the Cairngorm MVC framework for Feathers UI and OpenFL will help. Even if you're building all new applications with Feathers UI, you might want to consider Cairngorm as an option for organizing your project's code.

Getting started with feathersui-cairngorm

Check out the README.md file for an overview of the classes and interfaces that make up the core of Cairngorm, such as IModelLocator, FrontController, ICommand, ServiceLocator, CairngormEventDispatcher and CairngormEvent.

Follow that up by diving into the sample projects on Github to see how all of the pieces get assembled together. The cafe-townsend project is a classic Cairngorm example designed to help developers learn the framework. The todomvc project project is another good one to look at because you can compare it to the Feathers UI todomvc sample that doesn't use a framework.

Install Cairngorm v1.0.0 for Feathers UI

Cairngorm v1.0.0 may be installed using the haxelib install command in your terminal.

haxelib install feathersui-cairngorm 1.0.0

Documentation

The v1.0.0 API Reference includes descriptions of all APIs available in Cairngorm for Feathers UI.

Questions or comments?

If you need some help, or want to give feedback, feel free to create a thread in the Feathers UI Community forum.