Framework per la realizzazione di ria

Post on 25-May-2015

1.175 views 2 download

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

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