Framework per la realizzazione di ria
-
Upload
lorenzo-bortolotto -
Category
Technology
-
view
1.175 -
download
2
description
Transcript of Framework per la realizzazione di ria
Framework per la realizzazione di RIA
Socialmedia e Smart Apps 2011/2012
14 maggio 2012 Framework per la realizzazione di RIA 2/33
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 3/33
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 4/33
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 5/33
Esempi di RIA
14 maggio 2012 Framework per la realizzazione di RIA 6/33
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 7/33
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 8/33
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 9/33
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 10/33
Come valutare un framework?
● Maturità
● Rapidità di apprendimento
● Produttività
● Personalizzazione
● Affidabilità
● Comunità & Documentazione
● Licenza d uso'● Provare provare provare
Alcuni spunti di ragionamento...
14 maggio 2012 Framework per la realizzazione di RIA 11/33
Esempi di Framework
14 maggio 2012 Framework per la realizzazione di RIA 12/33
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 13/33
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 14/33
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 15/33
Chi usa Apache Flex?
14 maggio 2012 Framework per la realizzazione di RIA 16/33
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 17/33
Chi usa MS Silverlight?
14 maggio 2012 Framework per la realizzazione di RIA 18/33
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 19/33
Chi usa JavaFX?
14 maggio 2012 Framework per la realizzazione di RIA 20/33
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 21/33
Framework basati su AJAX 2
● AJAX (e Javascript) è una brutta bestia...
● Senza un framework bisogna gestire tante cose a manoCrossbrowser, comunicazione con il server, data binding
● Con un framework abbiamo tanti problemi in meno!
14 maggio 2012 Framework per la realizzazione di RIA 22/33
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 23/33
Chi usa GWT?
14 maggio 2012 Framework per la realizzazione di RIA 24/33
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 25/33
Chi usa Vaadin?
14 maggio 2012 Framework per la realizzazione di RIA 26/33
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 27/33
Chi usa ZK?
14 maggio 2012 Framework per la realizzazione di RIA 28/33
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 29/33
Chi usa JSF & Co.?
ICEfaces
PrimeFaces
14 maggio 2012 Framework per la realizzazione di RIA 30/33
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 31/33
Chi usa Agile Toolkit?
14 maggio 2012 Framework per la realizzazione di RIA 32/33
La lista è ancora lunga...
...ma per adesso è finita!
14 maggio 2012 Framework per la realizzazione di RIA 33/33
Grazie e arrivederci!
Lorenzo Bortolotto lorenzo mxlab.net@ http://www.mxlab.net
http://it.linkedin.com/in/lorenzobortolotto