如何學習 Cairngorm framework ?
有位網友來信問到:
有聽過Cairngorm 這個framework. 不過在上手時就發現很難找有關資料
想問問有沒有什麼site 可以介紹一下
真意外會有人有興趣想知道或學習這個 framework。
在 flex 1.5 時代,學習 Cairngorm 最正統的方式就是看 Iteration::Two的網站與 steven webster 寫的這本書。
Developing Rich Clients with Macromedia Flex

steven 是 Iteration::Two 的負責人,而 Iteration::Two 已在去年中被adobe收購成為 Adobe Consulting UK,因此他們自然會大量使用 Cairngorm 服務歐洲的企業客戶,這本書就是他們幾個著名專案的執行心得大整合。
但由於flex 現在正處於升級過渡階段,flex 2 framework 本身都還沒定案,因此 Cairngorm 實際上也很難改版,僅在兩個月前推出 Cairngorm 2 alpha,針對 flex 2 的特性做了些許改良。
目前網路上找的到幾篇 v2 alpha 的文章如下:
What’s new and changed in Cairngorm 2.0 alpha
Developing Flex RIAs with Cairngorm Microarchitecture
steven 在 devnet 上寫的一系列文章共有六篇,列表如下:
Part 1: Introducing Cairngorm
Part 2: Keeping State on the Client
Part 3: Architecting the View
Part 4: Feature-Driven Development
Part 5: Server-Side Integration
Part 6: Rapid and Consistent Development with Cairngorm and Flex
這算是目前最完整的介紹。
我個人的建議是:
1、先不要看文章,直接追蹤範例程式的流程,上面提供的 alpha download zip中有一個 login 範例,雖然很簡單,但可以清楚的看出每個 tier 的功能與運作流程,把這個範例分析一遍就可以大概瞭解它的設計精神。
2、如果沒時間或看不懂它的程式碼,可以看看我的追蹤心得,在那篇文章裏我稍微條列了一個login 事件的交易過程與手法優劣。
3、等到比較熟悉 cairngorm 的精神與概念後,就可以開始動腦想想他的設計是否真的良善?有沒有什麼地方是可以省略或改良?其它技術(例如 .net, j2ee, ruby)裏是否有類似的設計可借用?通常借由反向思考一個 framework 的缺點,會比較快看出它深層的一面,然後就知道可能可以怎麼修改它以更符合自已的開發團隊跟運作型態。
我觀察這個framework 已大約兩年左右,到目前為止仍然覺得不應冒然採用,最好等非常清楚自已的需求以及可能面對的專案scope時,再決定是否使用,但茶餘飯後研究一下當腦力遊戲是很不錯選擇


Trackback this post | Subscribe to the comments via RSS Feed