Socialmedia e Smart Apps 2011/2012      Framework per la     realizzazione di RIA
Cosè una RIA?      Le Rich Internet Application (RIA) sono        applicazioni web che possiedono le       caratteristiche...
Perché sviluppare RIA? ●   Manutenibilità: un solo software da manutenere ●   Portabilità: diversi sistemi operativi e dis...
Perché NON sviluppare RIA? ●   Retro compatibilità: vecchi browser potrebbero non     supportare pienamente la tecnologia ...
Esempi di RIA14 maggio 2012   Framework per la realizzazione di RIA   5/33
Cosè un Framework?Si tratta di una serie di classi che collaborano tra di loro allo  scopo di definire la struttura base d...
Framework Vs Library ●   Inversion of control: il framework definisce il workflow     dellapplicazione ●   Comportamento p...
Framework Vs Platform ●   La platform comprende hardware e software ●   La platform permette lesecuzione di un programma ●...
Perché usare un Framework? ●   Non reinventare la ruota ●   Velocizzare lo sviluppo del software, concentrandosi     sulle...
Come valutare unframework?                 Alcuni spunti di ragionamento... ●   Maturità                                ● ...
Esempi di Framework14 maggio 2012   Framework per la realizzazione di RIA   11/33
Divide et impera!In questa presentazione dividiamo i framework in base alla     tecnologia necessaria per il funzionamento...
Framework basati su plug-in ●   Richiedono linstallazione di un plug-in allinterno del     browser o del dispositivo mobil...
Apache Flex (ex Adobe) ●   È basato sulla piattaforma Adobe Flash ●   Necessita del Flash Player o di AIR ●   Si può svilu...
Chi usa Apache Flex?14 maggio 2012   Framework per la realizzazione di RIA   15/33
Microsoft Silverlight ●   Richiede il plug-in Silverlight installato nel browser ●   È supportato da S.O. Microsoft, MacOS...
Chi usa MS Silverlight?14 maggio 2012   Framework per la realizzazione di RIA   17/33
Oracle JavaFX ●   Dalla versione 2.0 è una libreria nativa Java ●   Richiede linstallazione della JVM e del plug-in ●   È ...
Chi usa JavaFX?14 maggio 2012   Framework per la realizzazione di RIA   19/33
Framework basati su AJAX 1 ●   AJAX = Asynchronous Javascript And XML ●   AJAX si basa su uno scambio di dati in backgroun...
Framework basati su AJAX 2 ●   AJAX (e Javascript) è una brutta bestia... ●   Senza un framework bisogna gestire tante cos...
Google Web Toolkit (GWT) ●   Permette di sviluppare al 100% in Java, con la     possibilità di intervenire nella presentaz...
Chi usa GWT?14 maggio 2012   Framework per la realizzazione di RIA   23/33
Vaadin ●   Utilizza GWT per la gestione del livello di presentazione ●   Come GWT permette lo sviluppo 100% Java ●   La pr...
Chi usa Vaadin?14 maggio 2012   Framework per la realizzazione di RIA   25/33
ZK ●   Permette lo sviluppo di RIA usando solo (o quasi ) Java ●   È un framework MVC, MVP e MVVM event-driven     basato ...
Chi usa ZK?14 maggio 2012   Framework per la realizzazione di RIA   27/33
JavaServer Faces (JSF) ●   È un framework MVC request-driven basato su Java che     fa parte della piattaforma J2EE ●   Ut...
Chi usa JSF & Co.?         ICEfaces                                                            PrimeFaces14 maggio 2012   ...
Agile Toolkit ●   Semplifica la realizzazione di RIA con PHP nascondendo     la complessità nel gestire AJAX ●   Utilizza ...
Chi usa Agile Toolkit?14 maggio 2012   Framework per la realizzazione di RIA   31/33
La lista è ancora lunga...                 ...ma per adesso è finita!14 maggio 2012    Framework per la realizzazione di R...
Grazie e arrivederci!Lorenzo Bortolotto        lorenzo@mxlab.net        http://www.mxlab.net        http://it.linkedin.com...
Upcoming SlideShare
Loading in …5
×

Framework per la realizzazione di ria

1,470 views

Published on

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.

Published in: Technology

Framework per la realizzazione di ria

  1. 1. Socialmedia e Smart Apps 2011/2012 Framework per la realizzazione di RIA
  2. 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 dellinstallazione sul disco fisso. (Fonte: http://it.wikipedia.org/wiki/Rich_Internet_application)14 maggio 2012 Framework per la realizzazione di RIA 2/33
  3. 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à: lookn feel simile alle applicazioni desktop ● Affidabilità, scalabilità e performance14 maggio 2012 Framework per la realizzazione di RIA 3/33
  4. 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 sandbox14 maggio 2012 Framework per la realizzazione di RIA 4/33
  5. 5. Esempi di RIA14 maggio 2012 Framework per la realizzazione di RIA 5/33
  6. 6. Cosè un Framework?Si tratta di una serie di classi che collaborano tra di loro allo scopo di definire la struttura base di unapplicazione, 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. 7. Framework Vs Library ● Inversion of control: il framework definisce il workflow dellapplicazione ● 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. 8. Framework Vs Platform ● La platform comprende hardware e software ● La platform permette lesecuzione 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. 9. Perché usare un Framework? ● Non reinventare la ruota ● Velocizzare lo sviluppo del software, concentrandosi sulle funzionalità di alto livello ● Contenere i costi di sviluppo14 maggio 2012 Framework per la realizzazione di RIA 9/33
  10. 10. Come valutare unframework? Alcuni spunti di ragionamento... ● Maturità ● Affidabilità ● Rapidità di ● Comunità & apprendimento Documentazione ● Produttività ● Licenza duso ● Personalizzazione ● Provare provare provare14 maggio 2012 Framework per la realizzazione di RIA 10/33
  11. 11. Esempi di Framework14 maggio 2012 Framework per la realizzazione di RIA 11/33
  12. 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 AJAX14 maggio 2012 Framework per la realizzazione di RIA 12/33
  13. 13. Framework basati su plug-in ● Richiedono linstallazione di un plug-in allinterno 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. 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. 15. Chi usa Apache Flex?14 maggio 2012 Framework per la realizzazione di RIA 15/33
  16. 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 ● Lambiente di sviluppo è Visual Studio + Silverlight Tools + MS Expression Blend oppure Eclipse + plug-in ● Fornisce ottime performance, soprattutto nella gestione dei flussi video, anche HD14 maggio 2012 Framework per la realizzazione di RIA 16/33
  17. 17. Chi usa MS Silverlight?14 maggio 2012 Framework per la realizzazione di RIA 17/33
  18. 18. Oracle JavaFX ● Dalla versione 2.0 è una libreria nativa Java ● Richiede linstallazione della JVM e del plug-in ● È supportato da diversi S.O. (Windows, MacOS, Linux) ma nessun dispositivo mobile (almeno ufficialmente) ● Fornisce molti componenti pronti alluso e utilizza FXML per la realizzazione delle interfacce grafiche ● I principali strumenti sono NetBeans + Scene Builder ● Verrà integrato completamente allinterno di Java 8, sostituendo Swing e AWT14 maggio 2012 Framework per la realizzazione di RIA 18/33
  19. 19. Chi usa JavaFX?14 maggio 2012 Framework per la realizzazione di RIA 19/33
  20. 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 laggiornamento dinamico di una pagina web senza esplicito ricaricamento da parte dellutente (Web 1.0) ● La magia è fatta da XMLHttpRequest! ● Non richiede plug-in, ma viene eseguito tutto allinterno del browser (anche, e soprattutto, dei dispositivi mobile)14 maggio 2012 Framework per la realizzazione di RIA 20/33
  21. 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. 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 webserices14 maggio 2012 Framework per la realizzazione di RIA 22/33
  23. 23. Chi usa GWT?14 maggio 2012 Framework per la realizzazione di RIA 23/33
  24. 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 commerciale14 maggio 2012 Framework per la realizzazione di RIA 24/33
  25. 25. Chi usa Vaadin?14 maggio 2012 Framework per la realizzazione di RIA 25/33
  26. 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 sviluppo14 maggio 2012 Framework per la realizzazione di RIA 26/33
  27. 27. Chi usa ZK?14 maggio 2012 Framework per la realizzazione di RIA 27/33
  28. 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 disattivato14 maggio 2012 Framework per la realizzazione di RIA 28/33
  29. 29. Chi usa JSF & Co.? ICEfaces PrimeFaces14 maggio 2012 Framework per la realizzazione di RIA 29/33
  30. 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 informativo14 maggio 2012 Framework per la realizzazione di RIA 30/33
  31. 31. Chi usa Agile Toolkit?14 maggio 2012 Framework per la realizzazione di RIA 31/33
  32. 32. La lista è ancora lunga... ...ma per adesso è finita!14 maggio 2012 Framework per la realizzazione di RIA 32/33
  33. 33. Grazie e arrivederci!Lorenzo Bortolotto lorenzo@mxlab.net http://www.mxlab.net http://it.linkedin.com/in/lorenzobortolotto14 maggio 2012 Framework per la realizzazione di RIA 33/33

×