8. In other words: RIAs in enterprise environments dramatically increase staff productivity and responsive capacity Multimedia contents add enhanced effectiveness WHY
9. In other words: RIAs in enterprise environments dramatically increase staff productivity and responsive capacity Multimedia contents add enhanced effectiveness WHY
10.
11. Who can make it possible TEAM J2EE Developers Flex/Flash Developers Creative UI Designers
12. Accenture S.p.A. Adobe Systems Software Ireland Ltd. Altran Cis S.p.A. Apress Inc. Reply Area Interactive Design S.r.l. BPU Banca S.p.A. – UBI Group TELECOM CLIENTS CapGemini S.p.A. Itag S.p.A Nexus Information Technologies S.a.u.– Gruppo Iconmedialab Televideocom S.p.A. University of Malta – Link Campus STE HP Poste Svizzere
14. Best Practice Flex NOV 08 WWW.COMTASTE.COM Le applicazioni Flex vengono eseguite all’interno del browser attraverso il Flash Player plugin Le applicazioni Flex sono file SWF che hanno 2 frames 1. Capire le Flex Application
15.
16. Best Practice Flex NOV 08 WWW.COMTASTE.COM E’ nel SystemManager object che avviene la maggior parte delle azioni. L’oggetto SystemManager è la parent class del tag Application (ma non solo ...) 1. Capire le Flex Application
17.
18. Best Practice Flex NOV 08 WWW.COMTASTE.COM Il loaderInfo object gestisce una serie di proprietà read-only e di eventi (complete, init, progress, httpStatus ...) Gestisce le informazioni sulla quantità di dati caricati e da caricare Una volta che il SystemManager è stato eseguito l’INIT event del loaderInfo object è caricato 1. Capire le Flex Application
19. Best Practice Flex NOV 08 WWW.COMTASTE.COM Nell’initHandler() viene utilizzato un metodo non documentato : addFrameScript() Questo metodo permette di richiamare un metodo ogni volta che l’applicazione entra in un frame specifico Viene chiamato l’evento initialize() 1. Capire le Flex Application
20.
21. Best Practice Flex NOV 08 WWW.COMTASTE.COM Il Preloader comincia a caricare le RSL e crea un’istanza della DownloadProgressBar. E’ questa la classe da sovrascrivere se si vuole usare un custom preloader Il Flash Player sta per caricare il secondo frame ! 1. Capire le Flex Application
22. Best Practice Flex NOV 08 WWW.COMTASTE.COM Comincia la fase di istanziazione dell’interfaccia Viene creata un istanza dell’applicazione ma non viene ancora aggiunta al SystemManager ma viene passata al Preloader 1. Capire le Flex Application
23.
24. Best Practice Flex NOV 08 WWW.COMTASTE.COM Il SystemManager inizia il processo di inizializzazione dell’applicazione chiamando l’evento initialize() della subclass dell’Application 1. Capire le Flex Application
25. Best Practice Flex NOV 08 WWW.COMTASTE.COM Il SystemManager inizia il processo di inizializzazione dell’applicazione chiamando l’evento initialize() della subclass dell’Application L’applicazione raccoglie le informazioni per i suoi children dai Descriptors (istanze della classe ComponentDescriptor class creata per ogni MXML tag) 1. Capire le Flex Application
26. Best Practice Flex NOV 08 WWW.COMTASTE.COM Scatta l’evento preInitialize prima che i componenti vengono creati In questo evento è buona norma cambiare le proprietà di un componente 1. Capire le Flex Application
27. Best Practice Flex NOV 08 WWW.COMTASTE.COM Il metodo createChildren() viene invocato. Importante nello sviluppo di custom component perchè garantisce che i display objects vengano creati In questo metodo vengono creati i bordi dell’applicazione e le scrollbars (se ce n’è bisogno) 1. Capire le Flex Application
28.
29. Best Practice Flex NOV 08 WWW.COMTASTE.COM Ognuno di questi metodi chiede al Flex framework di invocare i metodi: commitProperties() measure() updateDisplayList() 1. Capire le Flex Application
30. Best Practice Flex NOV 08 WWW.COMTASTE.COM Vengono ora letti ed eseguiti i bindings assegnati alle proprietà dei child L’evento initialize per ogni child viene chiamato A questo punto i child sono stati creati ma non posizionati e dimensionati 1. Capire le Flex Application
31. Best Practice Flex NOV 08 WWW.COMTASTE.COM L’evento ENTER_FRAME chiama il codice all’interno della classe UIComponent che comunica con il LayoutManager e controlla se un componente deve esser misurato e ridisegnato Vengono chiamati di nuovo i metodi per l’invalidazione 1. Capire le Flex Application
32. Best Practice Flex NOV 08 WWW.COMTASTE.COM Se non ci sono altri componenti figli da creare, l’evento creationComplete su quel component viene eseguito 1. Capire le Flex Application
33. Best Practice Flex NOV 08 WWW.COMTASTE.COM Il Preloader che era in ascolto del creationComplete event dell’application esegue del codice e indica che il suo lavoro è finito. Il SystemManager rimuove il preloader e aggiunge l’applicazione al SystemManager che adesso si vede per la prima volta. 1. Capire le Flex Application
34. Best Practice Flex NOV 08 WWW.COMTASTE.COM L’evento applicationComplete viene eseguito sia dall’applicazione che dal SystemManager L’applicazione è ora visibile e lo start up è completo ! 1. Capire le Flex Application
35.
36.
37.
38. Best Practice Flex NOV 08 WWW.COMTASTE.COM The text expressed as JSON: {"menu": { "id": "file", "value": "File", "popup": { "menuitem": [ {"value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"} ] } }} The text expressed as XML: <menu id="file" value="File"> <popup> <menuitem value="New" onclick="CreateNewDoc()" /> <menuitem value="Open" onclick="OpenDoc()" /> <menuitem value="Close" onclick="CloseDoc()" /> </popup> </menu>