Cairngorm – Parte 1

O Cairngorm é uma micro-arquitetura de desenvolvimento para RIAs em Flex, e um projeto opensource e tem sido considerado pela comunidade uma excelente solução para os problemas recorrentes de desenho de RIAs.

Essa é a primeira parte é de um conjunto de seis posts baseados nos artigos do Steven Webster no Flex Developer Center.

Procurando orientar a comunidade sobre as melhores práticas do uso do Cairngorm, Steven Webster escreveu um conjunto de seis artigos no Flex Developer Center sobre o Cairngorm, projeto do qual ele faz parte.

Esse post é referente à primeira parte do artigo, com os principais pontos traduzidos de forma livre, a fim de conduzir a equipe com quem trabalho hoje sobre as melhores práticas de desenvolvimento de RIAs.

Ou seja, aqui estão apenas alguns dos pontos que eu anotei como sendo importantes na hora de transmitir essa informação à equipe, de modo que a leitura completa dos artigos (bem mais completo do que as sínteses que irei apresentar) é bastante proveitosa.

Um dos pontos chaves dessa primeira parte é no final, em que ele discute que o Cairngorm não é a solução de todos os problemas, embora por experiência ele tem atendido muito bem.Frequentemente me perguntam qual o melhor framework para ColdFusion: Mach II, FuseBox, ModelGlue, Tartan, etc. Não há um melhor, claro, pois cada um deles pretende resolver problemas específicos de arquitetura, desenho e eventualmente de camadas.


Frameworks
1. Application Frameworks
– Class libraries
– Componentes
– Provê funcionalidades básicas, flexíveis e integráveis.
2. Architectural Frameworks
– Esqueleto de aplicação
– Estrutura arquitetônica para construir aplicações sobre.

Design Patterns
1. Pattern: Solução de engenharia para problema específico e recorrente.
– Exemplo: apenas uma instancia dessa classe (Singleton)
2. Pattern overload: cuidado com o excesso desvairado e abdicação extrema de responsabilidade.

Microarquitetura
1. Problema maior e mais genérico
– Intercepectar um user gesture e certificar que a classe responsável sssuma a responsabilidade
2. Microarquitetura = conjunto de design patterns
3. Cairngorm: architectural framework (óbvio)
– Desafios da contrução de RIas
– Ponto de partida para artquitetura de RIAs, visando resolver problemas frequentes anteriormente já resolvidos.

Cairngorm
1. iteration::two
2. Livro eality J2EE: Architecting for Macromedia Flash MX
3. Flex, com sua linguagem declarativa, possibilitou soluções mais elegantes que as apresentadas anteriormente

Ensinamentos do Cairngorm
1. Gerenciar user gestures no cliente
2. Encapsular lógicas de negócio (e interação com servidor)
3. Gerenciamento de estados da aplicação e sua representação na UI

Estágio atual do Cairngorm
1. Versão 0.99
2. Versão 2.0 em conjunto com Flex 2 (iteration::two agora é Adobe Consulting)
– Versão muito similar, mas aproveita novas funcionalidades.
3. Cairngorm *não* é a única maneira de construir RIAs em Flex
– Frameworks resolvem problemas. Que problemas você tem?