FlexTech Blog - let's Flex

Adobe Thermo, a szybkie prototypowanie

Autor: Paweł Cichoń


Szybkie prototypowanie (ang. rapid prototyping) aplikacji Flex nie jest sprawą oczywistą. Szybkie prototypowanie to w skrócie automatyczna generacja prototypu, czyli działającej aplikacji w wersji beta (wersję beta aplikacji rozumiem tu w kontekście terminologii USDP – gdzie oznacza ona wersję mniej zaawansowaną (wcześniejszą) od wersji alfa, która w powszechnej terminologii oznacza wersją prerelease). Słowo AUTOMATYCZNA generacja, samo AUTOMATYCZNA to kwestia decydująca o nietrywialności procesu zorientowanego na szybkie prototypowanie. Właśnie tu pojawia się pytanie, jak znaleźć sposób na automatyczną generację aplikacji Flex z jej modelu (aplikację Flex/multimedialną w tym kontekście należy rozumieć/definiować jako system czasu rzeczywistego)? Tak, tu jest pole do popisu – jak przykładowo z diagramów UML przejść w sposób automatyczny do kompilowanego kodu źródłowego? (w sumie na to pytanie starałem się odpowiedzieć w swoich pracach naukowych, gdzie zaprezentowałem pewien sposób transformacji model – kod, ale mniejsza z tym). No, nie jest to takie proste … a z pewnością jest niezmiernie istotne dla skrócenia procesu wytwórczego RIA oraz możliwie najefektywniejszego ich wytwarzania.

Proces produkcyjny RIA (i wszelkich innych aplikacji) standardowo zawiera m.in. fazę analizy, która powinna kończyć się m.in. modelem aplikacji, który powinien możliwie najdokładniej odzwierciedlać wymagania/aspekty statyczne i behawioralne (charakterystykę) projektowanego systemu.

Aplikację Flex można zaprojektować używając do tego celu m.in. języka UML. Aby możliwie najdokładniej opisać aspekty behawioralne aplikacji dodatkowo należy użyć rozszerzenia RT UML (w tej chwili trwają też prace nad MARTE (UML Profile for Modeling and Analysis of Real-time and Embedded Systems ), który jest rozwinięciem kwestii poruszonych w profilu RT UML i ma za zadanie w przyszłości go zastąpić). W sumie jestem współautorem rozszerzenia języka UML o diagramy i mechanizmy, które pozwalają opisać dokładniej aplikację multimedialną/RIA (jest to m.in. wprowadzenie nowego typu diagramu do UML tj. diagramu prezentacji, czy rozszerzenie meta modelu języka RT UML o zbiór zdarzeń synchronizujących się, który pozwala na wyrażanie ograniczeń czasowych na diagramach sekwencji oraz aktywności, w celu ich późniejszej weryfikacji (niesprzeczność ograniczeń itd.) przy automatycznym przejściu z modelu do kodu) i muszę przyznać, że UML dosyć dobrze (po zaaplikowaniu pewnych profili) radzi sobie z modelowaniem RIA.

Piszę o tym wszystkim, ponieważ na wyżej przedstawionym tle (problematyce) widać jak ważne w kontekście automatyzacji pewnej części procesu produkcyjnego oraz po części prototypowania RIA jest Adobe Thermo, który powinien pojawić się w niedługim czasie. Otóż Thermo będzie pozwalał na możliwie wczesnym stadium projektu zaprezentować klientowi nie tylko wygląd, ale i planowany behawioryzm tworzonej aplikacji Flex. Ma to szczególnie duże znaczenie w przypadku adaptowalnej realizacji projektów RIA, gdzie zakłada się jak najwcześniejszą i możliwie najczęstszą prezentację prototypu klientowi.

Poniżej wklejam zrzuty ekranu Adobe Thermo, którego wczesna wersja beta ma zostać zaprezentowana na Adobe MAX 2008. Obrazy te zostały opublikowane w ostatnim czasie przez Adobe, jak mniemam celem przypomnienia nam wszystkim, że Thermo i prace nad nim nie umarły.

s4.jpg

s3.jpg

s2.jpg

s1.jpg

Na Adobe Thermo czekają nie tylko analitycy/projektanci RIA w oparciu o technologię Flex, ale i specjaliści użyteczności RIA, ponieważ Thermo pozwoli im przebadać “na użytkownikach” nie tylko statyczny projekt aplikacji RIA, ale i jej behawioryzm w możliwie najwcześniejszej fazie projektu. No nic, to czekamy na Thermo …


Tagi: ,,

2 komentarzy

  1. Obserwując narzędzia do prototypownia aplikacji np: Serena Prototype Composer czy narzędzia do tworzenia interaktywnych aplikacji typu Microsoft Expression Blend zaczynam zastanawiać się na jakiej bazie chcą oprzeć “wizualizację” prototypu.

    Po pierwsze: odejście od listwy czasu znanej z Flash IDE czy MS Vizact 2000
    Po drugie: rozdzielenie projektowanie designu od projektowania interakcji (MS Visual Studio jest klasycznym przykładem jakie są skutki łaczenia w jednym projektowania designu które jest generowane automatyczne a interakcję podporządkuje się kodowi wygenerowanego designu)

    Po trzecie: odejscie od interakcji opartej na zdarzeniach na rzecz interakcji opartej na stanach Twórca koncetruje się tym jakim “stanie” jest dany model aplikacji. Połączenie wzorca MVC z obsługą stanów modułów w Flex Framework pozwala na tworzenie aplikacji czasu rzeczywistego dla internetu.

    Pozostaje tylko pytanie jak wyobrażacie sobie tworzenie aplikacji w Thermo. Ja wyobrażam sobie że to jest wygenerowanie szkieletu kodu aplikacji coś jak w przypadku Cairngorna i wtedy można by zacząć pracę w graficznym środowisku IDE Thermo.
    Projektant definiuje model, potem okresla stany, Thermo pozwoli na bazie zdefiniowanych stanów generuje widoki i potem pozostaje już na łączenie interakcji pomiędzy widokami za pomocą myszki np: przycisk w pewnym widoku na jednym stanie prowadzi do widoku do innego widoku w tym samym stanie danych modelu – nawet jak go nie ma jeszcze to Thermo go wygeneruje

    Wybieramy stan np: rejestrację, tworząc widok logowania przesuwając myszkę nad przyciskiem logowanie z menu podręcznego wybieramy nowy widok i nazywamy go wypełnianie określamy jego wywołanie np: onclick. W ten sposób nie trzeba pisać kodu do śledzenia zależnościami pomiędzy widokami bo tym zajmie się wygenerowany kod kontrolera.

  2. W sumie wydaje mi się, że w Thermo kwestia prototypowania będzie na dosyć wysokim poziomie abstrakcji i raczej nie będzie zahaczała o stanowość, a raczej po prostu o prototypy poszczególnych widoków. Odejście od listwy czasowej też chyba nie nastąpi, wynika to z prostego faktu – otóż projektowanie transformacji w oparciu o listwe czasu (nawet jeżeli będzie ona abstrakcyjna) bedzie o wiele bardziej intuicyjne dla projektantów/analityków – a z tego co widać do takach osób celuje Thermo, niż przykładowo do programistów. Adobe Thermo w moim odczuciu, nie będzie narzedziem do prototypowania niskiego poziomu, ale z pewnością pierwszym krokiem w tym kierunku.

Skomentuj “Adobe Thermo, a szybkie prototypowanie”

Wyszukaj w postach

Bloguje
  Paweł Cichoń

Trzeba kliknąć

Już wychodzisz? Nie zapomnij kliknąć tych linków. Przyda się!


Spotlight

Prezentujemy sylwetki tzw. klasyków, którzy mają niesamowitą wiedzę oraz robią klasyczną robotę.


Dobra książka

AdvancED Flex 3