In questa presentazione verr introdotto brevemente il concetto di RIA (Rich Internet Application), di Framework e fondendo i due concetti verranno presentati alcuni dei pi湛 conosciuti Framework per la realizzazione di RIA. Visualizza la presentazione.
2. Cos'竪 una RIA?
Le Rich Internet Application (RIA) sono
applicazioni web che possiedono le
caratteristiche e le funzionalit delle
applicazioni desktop, senza per嘆 necessitare
dell'installazione sul disco fisso.
(Fonte: http://it.wikipedia.org/wiki/Rich_Internet_application)
14 maggio 2012 Framework per la realizzazione di RIA 2/33
3. Perch辿 sviluppare RIA?
Manutenibilit: un solo software da manutenere
Portabilit: diversi sistemi operativi e dispositivi
Sicurezza: client su browser, logica applicativa sul server
Immediatezza: no installazione, disponibilit h24
Usabilit: look'n feel simile alle applicazioni desktop
Affidabilit, scalabilit e performance
14 maggio 2012 Framework per la realizzazione di RIA 3/33
4. Perch辿 NON sviluppare RIA?
Retro compatibilit: vecchi browser potrebbero non
supportare pienamente la tecnologia utilizzata
Prestazioni: browser con prestazioni scadenti
Limitazioni: applicazione eseguita in una sandbox
14 maggio 2012 Framework per la realizzazione di RIA 4/33
5. Esempi di RIA
14 maggio 2012 Framework per la realizzazione di RIA 5/33
6. Cos'竪 un Framework?
Si tratta di una serie di classi che collaborano tra di loro allo
scopo di definire la struttura base di un'applicazione, delle
classi, degli oggetti e soprattutto del workflow,
implementando le classi preesistenti e sfruttandone i punti
"flessibili", chiamati anche "hot spots"
14 maggio 2012 Framework per la realizzazione di RIA 6/33
7. Framework Vs Library
Inversion of control: il framework definisce il workflow
dell'applicazione
Comportamento predefinito: il framework ha un
workflow predefinito
Extensibility: 竪 possibile estendere il framework
Non-modifiable framework code: alcuni punti del
framework non sono modificabili (frozen spots)
14 maggio 2012 Framework per la realizzazione di RIA 7/33
8. Framework Vs Platform
La platform comprende hardware e software
La platform permette l'esecuzione di un programma
Il framework 竪 riferito solo al software
Il framework semplifica il disegno delle applicazioni
Es.: Java 竪 una platform, Hibernate 竪 un framework
OGGI PARLIAMO DI FRAMEWORK!
14 maggio 2012 Framework per la realizzazione di RIA 8/33
9. Perch辿 usare un Framework?
Non reinventare la ruota
Velocizzare lo sviluppo del software, concentrandosi
sulle funzionalit di alto livello
Contenere i costi di sviluppo
14 maggio 2012 Framework per la realizzazione di RIA 9/33
10. Come valutare un
framework?
Alcuni spunti di ragionamento...
Maturit Affidabilit
Rapidit di Comunit &
apprendimento Documentazione
Produttivit Licenza d'uso
Personalizzazione Provare provare provare
14 maggio 2012 Framework per la realizzazione di RIA 10/33
12. Divide et impera!
In questa presentazione dividiamo i framework in base alla
tecnologia necessaria per il funzionamento delle
applicazioni
Basata su plug-in
Basata su AJAX
14 maggio 2012 Framework per la realizzazione di RIA 12/33
13. Framework basati su plug-in
Richiedono l'installazione di un plug-in all'interno del
browser o del dispositivo mobile
Solitamente forniscono una user experience, delle
prestazioni migliori e maggiori funzionalit
Solitamente non sono molto Search Engine Friendly
Il loro uso sta lentamente ma inesorabilmente
diminuendo per lasciare spazio ad altre soluzioni
(HTML5 in primis)
14 maggio 2012 Framework per la realizzazione di RIA 13/33
14. Apache Flex (ex Adobe)
basato sulla piattaforma Adobe Flash
Necessita del Flash Player o di AIR
Si pu嘆 sviluppare con Eclipse o con Adobe Flash Builder
Mette a disposizione molti componenti grafici
Ottima integrazione con altri software Adobe
Permette lo sviluppo del frontend utilizzando
ActionScript 3, non del backend che deve essere
sviluppato utilizzando un altro linguaggio (PHP, Java, )
Affidato ad ASF perch辿 Adobe pensa a HTML5...
14 maggio 2012 Framework per la realizzazione di RIA 14/33
15. Chi usa Apache Flex?
14 maggio 2012 Framework per la realizzazione di RIA 15/33
16. Microsoft Silverlight
Richiede il plug-in Silverlight installato nel browser
supportato da S.O. Microsoft, MacOS X, Windows
Phone. Linux 竪 supportato tramite Moonlight
Le applicazioni sono programmate usando qualunque
linguaggio del .NET Framework e presentate con XAML
L'ambiente di sviluppo 竪 Visual Studio + Silverlight
Tools + MS Expression Blend oppure Eclipse + plug-in
Fornisce ottime performance, soprattutto nella gestione
dei flussi video, anche HD
14 maggio 2012 Framework per la realizzazione di RIA 16/33
17. Chi usa MS Silverlight?
14 maggio 2012 Framework per la realizzazione di RIA 17/33
18. Oracle JavaFX
Dalla versione 2.0 竪 una libreria nativa Java
Richiede l'installazione della JVM e del plug-in
supportato da diversi S.O. (Windows, MacOS, Linux)
ma nessun dispositivo mobile (almeno ufficialmente)
Fornisce molti componenti pronti all'uso e utilizza FXML
per la realizzazione delle interfacce grafiche
I principali strumenti sono NetBeans + Scene Builder
Verr integrato completamente all'interno di Java 8,
sostituendo Swing e AWT
14 maggio 2012 Framework per la realizzazione di RIA 18/33
19. Chi usa JavaFX?
14 maggio 2012 Framework per la realizzazione di RIA 19/33
20. Framework basati su AJAX 1
AJAX = Asynchronous Javascript And XML
AJAX si basa su uno scambio di dati in background fra
web browser e server, che consente l'aggiornamento
dinamico di una pagina web senza esplicito
ricaricamento da parte dell'utente (Web 1.0)
La magia 竪 fatta da XMLHttpRequest!
Non richiede plug-in, ma viene eseguito tutto all'interno
del browser (anche, e soprattutto, dei dispositivi mobile)
14 maggio 2012 Framework per la realizzazione di RIA 20/33
21. Framework basati su AJAX 2
AJAX (e Javascript) 竪 una brutta bestia...
Senza un framework bisogna gestire tante cose a mano
Crossbrowser, comunicazione con il server, data binding
Con un framework abbiamo tanti problemi in meno!
14 maggio 2012 Framework per la realizzazione di RIA 21/33
22. Google Web Toolkit (GWT)
Permette di sviluppare al 100% in Java, con la
possibilit di intervenire nella presentazione grafica
tramite HTML e CSS
Simula un ambiente JRE utilizzando Javascript
Riduce al minimo la complessit per gestire AJAX
Mira alla creazione di componenti riutilizzabili
Fornisce diversi widget prefatti estendibili
Tutta la logica applicativa risiede sul client, che pu嘆
ovviamente eseguire chiamate verso webserices
14 maggio 2012 Framework per la realizzazione di RIA 22/33
23. Chi usa GWT?
14 maggio 2012 Framework per la realizzazione di RIA 23/33
24. Vaadin
Utilizza GWT per la gestione del livello di presentazione
Come GWT permette lo sviluppo 100% Java
La principale differenza con GWT 竪 che la logica
applicativa risiede sul server
Rende lo sviluppo delle RIA simile a quello delle normali
applicazioni desktop, fornendo molti widget utili
Esiste un plug-in per Eclipse per lo sviluppo delle GUI
Ha un supporto commerciale
14 maggio 2012 Framework per la realizzazione di RIA 24/33
25. Chi usa Vaadin?
14 maggio 2012 Framework per la realizzazione di RIA 25/33
26. ZK
Permette lo sviluppo di RIA usando solo (o quasi ) Java
un framework MVC, MVP e MVVM event-driven
basato su componenti AJAX
Tutta la logica applicativa risiede sul server
Mette a disposizione tantissimi componenti grafici anche
complessi con la possibilit di realizzare le GUI
utilizzando ZUML
Viene fornito un plug-in di Eclipse e altri tool per
agevolare lo sviluppo
14 maggio 2012 Framework per la realizzazione di RIA 26/33
27. Chi usa ZK?
14 maggio 2012 Framework per la realizzazione di RIA 27/33
28. JavaServer Faces (JSF)
un framework MVC request-driven basato su Java che
fa parte della piattaforma J2EE
Utilizza le Facelets come sistema di templating per la
creazione e la visualizzazione delle pagine
Tutta la logica applicativa event-driven risiede sul server
Sono presenti diverse implementazioni (RichFaces,
PrimeFaces, MyFaces) che estendono il framework
Funziona anche se Javascript viene disattivato
14 maggio 2012 Framework per la realizzazione di RIA 28/33
29. Chi usa JSF & Co.?
ICEfaces
PrimeFaces
14 maggio 2012 Framework per la realizzazione di RIA 29/33
30. Agile Toolkit
Semplifica la realizzazione di RIA con PHP nascondendo
la complessit nel gestire AJAX
Utilizza JQuery per la realizzazione della GUI e richiede
pochissima configurazione per essere utilizzato
Mette a disposizione componenti prefatti estendibili e
implementa un pattern architetturale MVC
Ha una versione commerciale per distribuire applicazioni
closed source
Ha una grande quantit di materiale informativo
14 maggio 2012 Framework per la realizzazione di RIA 30/33
31. Chi usa Agile Toolkit?
14 maggio 2012 Framework per la realizzazione di RIA 31/33
32. La lista 竪 ancora lunga...
...ma per adesso 竪 finita!
14 maggio 2012 Framework per la realizzazione di RIA 32/33
33. Grazie e arrivederci!
Lorenzo Bortolotto
lorenzo@mxlab.net
http://www.mxlab.net
http://it.linkedin.com/in/lorenzobortolotto
14 maggio 2012 Framework per la realizzazione di RIA 33/33