ItemRenderer je jeden z kľúčových konceptov potrebných na vytvorenie tabuľky, ktorá obsahuje okrem bežných údajov aj obrázky.
ItemRenderer funguje tak, že tabuľka/zoznam si pre každú viditeľnú položku vytvorí inštanciu itemRenderera. ItemRenderer je vizuálna komponenta, ktorá obsahuje napríklad políčko s textom. Tejto inštancii je potom predaný objekt reprezentujúci riadok tabuľky/zoznamu. Pri posune v tabuľke je itemRenderer zrecyklovaný a sú mu nastavené nové údaje, ktoré ma vyrendrovať. Recykláciou sa šetrí veľké množstvo procesného výkonu.
Ukážka:
Každý ItemRenderer vyzerá rovnako. Ako je možné zabezpečiť, aby každý itemRenderer vyzeral trochu inak na základe svojho obsahu. Napríklad chceme, aby sa zobrazil text, ak má rendrovaný objekt nastavený atribút content. Ďalej chceme, aby sa zobrazil obrázok, ak má objekt nastavený atribút image. Výsledok by mal vyzerať takto:
Ako na to? Odpoveď je prekvapivo jednoduchá. Aj pre itemRenderer je možné využiť mechanizmus stavov. Medzi jednotlivými zobrazeniami sa dá jednoducho prepínať tak, že ItemRendereru nastavíte jeho hodnotu currentState. O zbytok sa už postará Flex.
Pekne je táto problematika spracovaná v článku Understanding Flex itemRenderers – Part 4. od Petra Enta. Poznámka k Petrovmu článku: pre ďalšie stránky článku je nutné ťuknúť na šipku nad komentármi.
4.8. 2010 Google ohlásil zastavenie pôvodného projektu Google Wave. Uvedenie Google Wave bolo ohlásené minulý rok na konferencii Google I/O. Prezentácia sa vtedy niesla v duchu – e-mail je vec minulosti, Google Wave je správna vstupenka do budúcnosti. Perfektne zvládnutý marketing pritiahol veľké množstvo ľudí. Bohužiaľ čoskoro zistili, že vlastne nevedia, ako majú Wave používať.
Postupne však ľudia začali prichádzať s novými scenármi používania Wave a základňa používateľov sa rozrástla. Google Wave začal byť používaný na koordináciu projektov a diskusie medzi väčším množstvom ľudí na projektoch.
Z technologického hľadiska však zostal Wave zatvorený projekt. Google vydal FedOne server. Tento mal slúžiť potencionálnym vývojárom ako miesto pre integráciu s inými aplikáciami. Práca s FedOne 0.2 vonkoncom nebola jednoduchá. Štruktúra serveru bola pomerne zložitá a umožňovala len čiastočnú funkcionalitu. Google skoro rok nepublikoval žiadnu aktualizáciu. To bol indikátor, že dochádza k nejakej zmene.
Podstatná zmena v Google Wave projekte je, že prešiel pod Apache licenciu a kódy pre Wave protokol sú k dispozícii. Štafetu po Google prebral Novell, ktorý vyvíja technológiu Novell Pulse. Prechod pod Apache licenckiu im rozhodne zjednoduší licencovanie produktu.
Wave určite priniesol nové koncepty, ktoré posunuli internet a web o kus ďalej. Myslím, že sa môžeme tešiť na nové projekty, ktoré rozšíria pôvodné hranice možností Google Wave.
Podstatnou črtou MDD prístupu je presun zamerania z písania kódu na tvorbu modelov. Všeobecným problémom pri napájaní klientských technológii (napríklad je Flex) na serverové technológie, je veľké množstvo duplicitnej práce, ktoré je nutné spraviť. Typicky je nutné reimplementovať na strane klienta dátové objekty a naimplementovať kvantá prístupov k operáciam. Pri rozsiahlom API je toto veľmi náročné. Naviac táto duplicita silne spomaľuje a komplikuje zmeny v API. Vývojár musí často preniesť zmeny ručne zo servera na klienta.
Model driven development sa zameriava práve na zníženie pracnosti písania kódu. Pokiaľ máme k dispozícii model, je možné z neho vygenerovať veľkú časť kódu. Časť vývojárov prestala čítať tento článok pri slovnom spojení “vygenerovať kód”. A dobre im tak.
Teraz príde jeden trik a z cteného čitateľa, ktorý vydržal slovné spojenie “vygenerovať kód”, spravím cteného diváka.
Vážený ctený divák, nájdi si hodinku času a pozri si nasledujúce video. Nenechaj sa odradiť možno nudnejším, ale veľmi podstatným začiatkom. Pozeraj. Skutočná akcia a mágia začne keď Christopher Coenraets zapne Flash Builder a napojí ho na LiveCycle.
Upozornenie pre vývojárov a projektových manažérov: netrhajte si vlasy, stačí zastaviť video, vydýchať sa, prípadne si zabehnuť nejaký ten kilometer.
Video záznam je z konferencie Adobe Max 2009. Za link video ďakujem Tomovi Krchovi.
Máte bežnú aplikáciu a chcete k nej pridať podporu pre multi-touch. Zoberme si napríklad taký Tetris. Chceme ho dostať na mobilné zariadenie s Androidom. Flash Player 10.1 na tomto zariadení podporuje multi-touch. Ako ho však využiť?
Stačí pár riadkov kódu a aplikáciu je možné plne ovládať pomocou dotykového rozhrania.