piątek, 23 marca 2007

Cairngorm 2

Cairngorm 2 to framework dla pewnej architektury danych w aplikacjach RIA który został opracowany dla technologii Flex 2.

5 powodów dla których warto zapoznać sie z tym frameworkiem:

  • Warto budować aplikacje RIA we Flex 2 (nie ma sensu używać tego frameworka do prostych aplikacji które korzystają z kilku linijek kodu AS3 w MXML)
  • Widziało się aplikacje RIA zbudowane w oparciu o ten framework. Większość tych aplikacji miała na celu pokazać jak rozwinąć dobre praktyki w tworzeniu aplikacji RIA. Wymagają one dogłębnego przestudiowania, a nie bezmyślnego przerabiania kodu do swoich potrzeb.
  • Przykładowe aplikacje RIA są czasami zbyt proste. Czasami warto pokazać złożone problemy na prostych przykładach w oparciu o przypadki użycia. Właściwie ten framework powstał żeby ułatwić pisanie dużych aplikacji, które mają dobry projekt programistyczny.
  • Rośnie liczba zainteresowanych stosowaniem tego frameworka. Duże aplikacje wymagają zatrudnienia wielu programistów , a oni muszą używać jakiegoś wspólnego frameworka aby móc coś wspólnie zrobić.
  • Znaleźć błąd - oczywiście, że nie ma doskonałych aplikacji i bibliotek oraz dlatego programiści mogą używać za darmo tego frameworka przyczyniając się do jego rozwoju.
Poznawanie frameworka to pewnego rodzaju wyzwanie. żeby zrozumieć jego działanie i potem stosować to. Nie należy sie spieszyć z tym zapoznaniem, bo uniknie się w przyszłości problemów z stosowaniem tego frameworka. Tworzenie aplikacji w tym frameworku można opisać tak:

"Najpierw rejestrujemy jedno zdarzenie w kontrolerze, następnie piszemy klasę polecenia, która ma pobrać dane i wtedy aktualizujemy lokalizację modelu (ang. model locator) wówczas gdy otrzymamy wyniki. Potem tworzymy klasę biznesowego delegata aby wywołał usługę sieciową. Usługa sieciowa jest zarejestrowana w lokalizacji usług. To cała filozofia frameworka"

Na początek sugeruję zapoznanie z szczegółową filozofią w 6 odcinkowym artykule. Dotyczy co prawda Cairngorma 0.99 ale założenia nie zmieniły się. Następnie można przeczytać porównanie z innym frameworkirm MVCS Joe Berkowitza (niektórym pewne rzeczy stają sie oczywiste jak z czymś porównamy). Warto czasem zrobić sobie przerwę w nauce Cairngorma 2. Wracając do poznawania proponuje zapoznać sie z szablonem przedstawiającym krok po kroku tworzenie prostej aplikacji. (kod). Dla przypomnienia prponuję przejrzeć artykuł (w czterach częsciach) Alexa Uhlmanna "Cairngorm Sample - How Bussiness Logic Can Managed Views" cz.1, cz.2, (kody) cz.3, cz.4 (kod) Są to świetne artykuły pokazujące zastosowanie "zwinnych metodyk" (ang. Agille). Od tej pory można wziąść się za analizowanie kodów źródłowych kilku aplikacji:

Darena Houlla "Multi-view contact management example" - kod
CairngormStore by Andy Rayne (2.0) kod , Renaun Erickson (2.1) kod, Chen Beker (2.1) kod - trzeba zmienić rozszerzenia na zip
Jesse Warden "Web Services and Cairngorm 2" - wykorzystuje Amazon API w działaniu (kod)
Benoit Hediard "Phones Cairngorm 2" - (kod)
Derek Wischusen "Issue Tracker" - aplikacja wykorzystująca Ruby on Rails a także WebOrb opisana w 4 odcinkowym artykule cz.1, cz.2, cz.3, cz.4 (kod jest w Flex 2 RoR SDK).
W Adobe Labs jest aplikacja NoteTag jako przykładowy projekt wykorzystania kodu do obsługi Blogera i deli.cio.us.

Ostatnio na konferencji WebDU Robin Hillard z RocketBoots przedstawił ciekawe spostrzeżenia dlaczego warto używać Cairngorm 2 w swojej prezentacji Easy As MVC

Brak komentarzy: