Framework per la realizzazione di ria

33
Framework per la realizzazione di RIA Socialmedia e Smart Apps 2011/2012

description

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.

Transcript of Framework per la realizzazione di ria

Page 1: Framework per la realizzazione di ria

Framework per la realizzazione di RIA

Socialmedia e Smart Apps 2011/2012

Page 2: Framework per la realizzazione di ria

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)

Page 3: Framework per la realizzazione di ria

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

Page 4: Framework per la realizzazione di ria

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

Page 5: Framework per la realizzazione di ria

14 maggio 2012 Framework per la realizzazione di RIA 5/33

Esempi di RIA

Page 6: Framework per la realizzazione 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 " " " "

Page 7: Framework per la realizzazione di ria

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 )“ ”

Page 8: Framework per la realizzazione di ria

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!

Page 9: Framework per la realizzazione di ria

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

Page 10: Framework per la realizzazione di ria

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...

Page 11: Framework per la realizzazione di ria

14 maggio 2012 Framework per la realizzazione di RIA 11/33

Esempi di Framework

Page 12: Framework per la realizzazione di ria

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

Page 13: Framework per la realizzazione di ria

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)

Page 14: Framework per la realizzazione di ria

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...

Page 15: Framework per la realizzazione di ria

14 maggio 2012 Framework per la realizzazione di RIA 15/33

Chi usa Apache Flex?

Page 16: Framework per la realizzazione di ria

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

Page 17: Framework per la realizzazione di ria

14 maggio 2012 Framework per la realizzazione di RIA 17/33

Chi usa MS Silverlight?

Page 18: Framework per la realizzazione di ria

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

Page 19: Framework per la realizzazione di ria

14 maggio 2012 Framework per la realizzazione di RIA 19/33

Chi usa JavaFX?

Page 20: Framework per la realizzazione di ria

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)

Page 21: Framework per la realizzazione di ria

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!

Page 22: Framework per la realizzazione di ria

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

Page 23: Framework per la realizzazione di ria

14 maggio 2012 Framework per la realizzazione di RIA 23/33

Chi usa GWT?

Page 24: Framework per la realizzazione di ria

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

Page 25: Framework per la realizzazione di ria

14 maggio 2012 Framework per la realizzazione di RIA 25/33

Chi usa Vaadin?

Page 26: Framework per la realizzazione di ria

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

Page 27: Framework per la realizzazione di ria

14 maggio 2012 Framework per la realizzazione di RIA 27/33

Chi usa ZK?

Page 28: Framework per la realizzazione di ria

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

Page 29: Framework per la realizzazione di ria

14 maggio 2012 Framework per la realizzazione di RIA 29/33

Chi usa JSF & Co.?

ICEfaces

PrimeFaces

Page 30: Framework per la realizzazione di ria

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

Page 31: Framework per la realizzazione di ria

14 maggio 2012 Framework per la realizzazione di RIA 31/33

Chi usa Agile Toolkit?

Page 32: Framework per la realizzazione di ria

14 maggio 2012 Framework per la realizzazione di RIA 32/33

La lista è ancora lunga...

...ma per adesso è finita!

Page 33: Framework per la realizzazione di ria

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