Presentazione della Tesi di Laurea Magistrale di Gregorio Perego e Stefania Pezzetti @ Politecnico di Milano. E' possibile trovare la tesi completa al seguente URL: http://hdl.handle.net/10589/85165
“Cosa ci aspettiamo dalla Riforma della PA?": i risultati del Panel di FPAFPA
Ogni legge, anche la più innovativa, può funzionare solo se ci credono per primi i suoi destinatari. Così la riforma della PA, appena entrata in vigore, potrà funzionare solo se tutte le persone coinvolte, dipendenti pubblici, dirigenti, cittadini, imprese, avranno fiducia nel cambiamento e collaboreranno nel metterla in pratica. Oggi questa fiducia ancora manca, come evidenzia una ricerca realizzata da FORUM PA, che ha chiesto agli iscritti alla propria community: “Cosa ti aspetti dalla Riforma?”. I risultati sono stati presentati il 22 settembre a Milano nel corso dell’incontro “Quale direzione per la PA del futuro?”.
Andrea Lombardinilo - Dipartimento per l’Università, l’Alta formazione artistica e musicale e per la Ricerca
Seminario sulla riforma dell’Università - Università degli studi di Urbino - 2 febbraio 2011
Presentazione power point della Tesi di Laurea Magistrale dal titolo "Complex formation of hydroxypyridinecarboxylic acids with copper(II), zinc(II), and aluminiu(III)"
“Cosa ci aspettiamo dalla Riforma della PA?": i risultati del Panel di FPAFPA
Ogni legge, anche la più innovativa, può funzionare solo se ci credono per primi i suoi destinatari. Così la riforma della PA, appena entrata in vigore, potrà funzionare solo se tutte le persone coinvolte, dipendenti pubblici, dirigenti, cittadini, imprese, avranno fiducia nel cambiamento e collaboreranno nel metterla in pratica. Oggi questa fiducia ancora manca, come evidenzia una ricerca realizzata da FORUM PA, che ha chiesto agli iscritti alla propria community: “Cosa ti aspetti dalla Riforma?”. I risultati sono stati presentati il 22 settembre a Milano nel corso dell’incontro “Quale direzione per la PA del futuro?”.
Andrea Lombardinilo - Dipartimento per l’Università, l’Alta formazione artistica e musicale e per la Ricerca
Seminario sulla riforma dell’Università - Università degli studi di Urbino - 2 febbraio 2011
Presentazione power point della Tesi di Laurea Magistrale dal titolo "Complex formation of hydroxypyridinecarboxylic acids with copper(II), zinc(II), and aluminiu(III)"
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoGabriele Gaggi
Cordova è la chiave di volta che consente agli sviluppatori web un ingresso rapido ed indolore negli store delle diverse piattaforme mobili. Vediamo come utilizzare questa chiave di volta sfruttando la potenza e semplicità del framework MVC di Google AngularJs ed utilizzando come collante il framework Ionic per ottenere rapidamente applicazioni performanti con un look and feel analogo alle app native.
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaAndrea Dottor
Sfrutta le tue abilità come sviluppatore web per creare app mobile per Windows Phone, iOS ed Android utilizzando una unica code-base (composta da codice HTML, CSS e JavaScript) e lavora direttamente in Visual Studio. Questo è ora possibile grazie all'estensione "Multi-Device Hybrid Apps for Visual Studio" ed all'uso di Apache Cordova. Un unico IDE ed un singolo progetto per sviluppare per le più diffuse piattaforme mobile.
In questa sessione scopriremo i vantaggi di questa combinazione e daremo risposta ad alcune domande: Quali vantaggi abbiamo dall'utilizzare Visual Studio? Perchè e quando sviluppare un'app ibrida? ...
Steps to develop apps for mobile that access internet realted contents.
It simply explores basic concepts of developmnet. Written in italian.
---
Espone i passi necessari a sviluppare un app mobile in grado di accedere a contenuti su web. Espone i concetti basilari del processo di sviluppo.
UX Engineering: il ruolo dello sviluppo nel design dell'esperienza utenteMarco Pesani
Il ruolo di UX Engineer rappresenta la sintesi fra design e sviluppo. Nella presentazione ho prima analizzato quali sono le responsabilità e gli strumenti di questa nuova figura professionale, per poi scendere nel pratico con consigli su come utilizzare Angular JS come strumento di prototipazione rapida.
Mobile & Web Apps in Arscolor InteractiveWallaMe Ltd.
Indicazioni utili per la definizione di una strategia mobile per brand e organizzazioni.
Come orientarsi nella scelta fra apps native, web e in tecnologia ibrida.
“Applicazioni mobile con Powerapps - Soluzioni low code su cloud “.
Power Apps è una piattaforma cloud che fornisce strumenti di sviluppo, servizi e connettori per creare applicazioni personalizzate. In questa slide approfondiremo meglio tutti gli aspetti e le sue caratteristiche.
LandCity Revolution 2016 - App studio e gli strumenti di Esri per la creazion...giovanni biallo
Nella sessione "Sistemi Informativi, App e Web Application per Smart City e Smart Land" della Conferenza LandCity Revolution 2016, Davide Curone di Esri Italia ha presentato "App studio e gli strumenti di Esri per la creazione di App".
Il progetto si propone di fornire e-skills e soft skills agli studenti del liceo "Antonio Labriola " di Ostia.
Al progetto hanno aderito circa 40 studenti del liceo che hanno seguito i corsi su come costruire una APP dopo la fine delle lezioni.
L'obiettivo del progetto è stato quello di costruire una APP che avrebbe permesso di gestire i corsi durante la settimana autogestita dagli studenti.
Questa App ha permesso di gestire il periodo di autogestione al liceo e potrà essere usata in modo più ampio per gestire eventi vari.
Dal lato utilizzatore ha permesso di visualizzare i corsi esistenti, di controllare la disponibilità, l'aula dove si sarebbe svolto il corso e di iscriversi quindi ai corsi.
Dal lato amministratore di inserire eventi con i relativi dati: L’argomento, il luogo dove è svolto, i numero di posti disponibili, il relatore.
Con la collaborazione della community Dot Net Code, un gruppo di professionisti che si occupano di condividere e divulgare le principali tecniche di programmazione sulla piattaforma Microsoft .NET, gli studenti del liceo Labriola hanno cominciato a scoprire il mondo delle APP.
We present a Zooming User Interface which embodies some focus+context features. The design process is also discussed. The presentation is related to a paper selected for Italian Ergonomics Society Congress, Rome 26-29 October 2010.
Here for you our presentation with some of our latest works, 2012 Edition!
we make solutions for mobile apps by native developing or by html5 techniques, moreover we can study for you complex products builded by merging web and mobile solutions!
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoGabriele Gaggi
Cordova è la chiave di volta che consente agli sviluppatori web un ingresso rapido ed indolore negli store delle diverse piattaforme mobili. Vediamo come utilizzare questa chiave di volta sfruttando la potenza e semplicità del framework MVC di Google AngularJs ed utilizzando come collante il framework Ionic per ottenere rapidamente applicazioni performanti con un look and feel analogo alle app native.
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaAndrea Dottor
Sfrutta le tue abilità come sviluppatore web per creare app mobile per Windows Phone, iOS ed Android utilizzando una unica code-base (composta da codice HTML, CSS e JavaScript) e lavora direttamente in Visual Studio. Questo è ora possibile grazie all'estensione "Multi-Device Hybrid Apps for Visual Studio" ed all'uso di Apache Cordova. Un unico IDE ed un singolo progetto per sviluppare per le più diffuse piattaforme mobile.
In questa sessione scopriremo i vantaggi di questa combinazione e daremo risposta ad alcune domande: Quali vantaggi abbiamo dall'utilizzare Visual Studio? Perchè e quando sviluppare un'app ibrida? ...
Steps to develop apps for mobile that access internet realted contents.
It simply explores basic concepts of developmnet. Written in italian.
---
Espone i passi necessari a sviluppare un app mobile in grado di accedere a contenuti su web. Espone i concetti basilari del processo di sviluppo.
UX Engineering: il ruolo dello sviluppo nel design dell'esperienza utenteMarco Pesani
Il ruolo di UX Engineer rappresenta la sintesi fra design e sviluppo. Nella presentazione ho prima analizzato quali sono le responsabilità e gli strumenti di questa nuova figura professionale, per poi scendere nel pratico con consigli su come utilizzare Angular JS come strumento di prototipazione rapida.
Mobile & Web Apps in Arscolor InteractiveWallaMe Ltd.
Indicazioni utili per la definizione di una strategia mobile per brand e organizzazioni.
Come orientarsi nella scelta fra apps native, web e in tecnologia ibrida.
“Applicazioni mobile con Powerapps - Soluzioni low code su cloud “.
Power Apps è una piattaforma cloud che fornisce strumenti di sviluppo, servizi e connettori per creare applicazioni personalizzate. In questa slide approfondiremo meglio tutti gli aspetti e le sue caratteristiche.
LandCity Revolution 2016 - App studio e gli strumenti di Esri per la creazion...giovanni biallo
Nella sessione "Sistemi Informativi, App e Web Application per Smart City e Smart Land" della Conferenza LandCity Revolution 2016, Davide Curone di Esri Italia ha presentato "App studio e gli strumenti di Esri per la creazione di App".
Il progetto si propone di fornire e-skills e soft skills agli studenti del liceo "Antonio Labriola " di Ostia.
Al progetto hanno aderito circa 40 studenti del liceo che hanno seguito i corsi su come costruire una APP dopo la fine delle lezioni.
L'obiettivo del progetto è stato quello di costruire una APP che avrebbe permesso di gestire i corsi durante la settimana autogestita dagli studenti.
Questa App ha permesso di gestire il periodo di autogestione al liceo e potrà essere usata in modo più ampio per gestire eventi vari.
Dal lato utilizzatore ha permesso di visualizzare i corsi esistenti, di controllare la disponibilità, l'aula dove si sarebbe svolto il corso e di iscriversi quindi ai corsi.
Dal lato amministratore di inserire eventi con i relativi dati: L’argomento, il luogo dove è svolto, i numero di posti disponibili, il relatore.
Con la collaborazione della community Dot Net Code, un gruppo di professionisti che si occupano di condividere e divulgare le principali tecniche di programmazione sulla piattaforma Microsoft .NET, gli studenti del liceo Labriola hanno cominciato a scoprire il mondo delle APP.
We present a Zooming User Interface which embodies some focus+context features. The design process is also discussed. The presentation is related to a paper selected for Italian Ergonomics Society Congress, Rome 26-29 October 2010.
Here for you our presentation with some of our latest works, 2012 Edition!
we make solutions for mobile apps by native developing or by html5 techniques, moreover we can study for you complex products builded by merging web and mobile solutions!
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
1. Un Approccio Model-Driven per lo
Sviluppo di Applicazioni Mobili Native
Relatore: Prof. Luciano Baresi
Tesi di Laurea Magistrale in Ingegneria Informatica
Gregorio Perego
Stefania Pezzetti
3 Ottobre 2013
3. Un Approccio Model-Driven
Distribuzione delle vendite mondiali di Smartphone per sistema operativo:
(Q2 2013)
Source: Gartner
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
2
4. Outline
Background
• Applicazioni Native e Applicazioni Cross-Platform
• Stato dell’arte
• Metamodello Windows Phone 7
• Metamodello Android
Il nostro lavoro
1.
2.
3.
4.
Metamodello Astratto
Metamodello Implementativo
Generatore di Codice
Valutazione
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
3
5. Applicazioni Native e Applicazioni CrossPlatform
Stato dell’arte
Applicazioni Native
Vantaggi
Svantaggi
•
•
•
•
•
•
•
Interfaccia grafica nativa
Miglior user experience
Massime performance
Accesso a tutte le risorse HW e SW
del dispositivo
Compatibilità con tutti i dispositivi
Esiste un app store di riferimento
•
•
Necessario sviluppare una versione
dell’app per ogni piattaforma
Richiesta conoscenza dei linguaggi di
programmazione specifici delle
piattaforme
Tempi lunghi e alti costi di sviluppo
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
4
6. Applicazioni Native e Applicazioni CrossPlatform
Stato dell’arte
Applicazioni Cross-Platform
Tipologie:
• Web
• Ibride
• Interpretate
• Cross-Compilate
Vantaggi
Svantaggi
•
•
•
•
•
•
•
Sviluppo unico per più piattaforme
Non richiesta la conoscenza dei
linguaggi di programmazione
specifici delle piattaforme
Utilizzo dei linguaggi di
programmazione web (GUI riusabile)
Tempi brevi e bassi costi di sviluppo
•
•
User experience limitata
Performance limitate
Limitato accesso alle risorse HW e SW
del dispositivo
Problemi di compatibilità con i diversi
dispositivi (e debugging complicato)
Non esiste un app store di riferimento
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
5
7. Applicazioni Native e Applicazioni Cross-Platform
Stato dell’arte
Stato dell’arte
• Metamodello Windows Phone 7
• Caratteristiche Software
• Interfaccia Grafica
• Logica Applicativa
• Caratteristiche Hardware
• Funzioni Fondamentali
• Metamodello Android
• Caratteristiche Strutturali
• Componenti Fondamentali
• Risorse di Sistema (librerie, risorse interne, risorse HW)
• Interfaccia Grafica
• Caratteristiche Dinamiche
Autori: Bub-Ki Min, Minhyuk Ko, Yongjin Seo, Seunghak Kuk, Hyeon-Soo Kim [2011-2012]
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
6
8. Applicazioni Native e Applicazioni Cross-Platform
Stato dell’arte
Metamodello Android
(Caratteristiche Strutturali)
Interfaccia Grafica
Risorse di Sistema
Componenti Fondamentali
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
7
9. IL NOSTRO LAVORO
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
8
10. Metamodello Astratto
Metamodello Implementativo
Generatore di Codice
Valutazione
Analisi dei metamodelli Android e
Windows Phone 7
Analisi
Problema
Idea
I metamodelli esistenti sono
platform-dependent
Individuare le corrispondenze nella struttura delle
applicazioni mobili delle diverse piattaforme e
definire un metamodello platform-independent
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
9
11. Metamodello Astratto
Metamodello Implementativo
Generatore di Codice
Valutazione
Metamodello Astratto
• Definito in seguito a uno studio approfondito della struttura
delle applicazioni Android e iOS, ma può considerarsi valido
anche per le altre piattaforme
• Le sue istanze permettono di modellare ad alto livello la
struttura di un’applicazione, indipendentemente dal sistema
operativo per cui viene sviluppata
• E’ un profilo UML: estende alcuni concetti del linguaggio per
definirne dei nuovi (nel diagramma contraddistinti dalla
keyword “Stereotype”)
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
10
15. Metamodello Astratto
Metamodello Implementativo
Generatore di Codice
Valutazione
Metamodello Implementativo
• Problema: il Metamodello Astratto è ad alto livello
• Le sue istanze non possono essere tradotte in codice
• E’ una rivisitazione del metamodello astratto
• Le istanze generabili sono sufficientemente dettagliate
(elementi con attributi) da essere tradotte in codice
• Guida lo sviluppatore nella definizione del modello
dell’applicazione desiderata
• Bassa complessità
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
14
17. Metamodello Astratto
Metamodello Implementativo
Generatore di Codice
Valutazione
Generatore di Codice
• Strumento software per generare i sorgenti nativi
corrispondenti al modello dell’applicazione desiderata
(istanza del metamodello implementativo)
• Fornisce un punto di partenza avanzato per la fase di
sviluppo
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
16
18. Metamodello Astratto
Metamodello Implementativo
Generatore di Codice
Valutazione
Tecnologie
• Ambiente di Sviluppo:
• Eclipse Juno 4.2 contenente Epsilon
• Framework utilizzati:
• Eclipse Modeling Framework (EMF)
Definizione di modelli
• openArchitectureWare (oAW)
Traduzione del modello in codice
• Xpand: template di traduzione del modello in codice
• Check: validazione del modello
• MWE: motore di generazione del codice
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
17
21. Metamodello Astratto
Metamodello Implementativo
Lavoro Svolto
Generatore di Codice
Valutazione
Metamodello Astratto
Metamodello Implementativo
Generatore di codice
Physical SLOC: righe di codice
Logical SLOC: n° di istruzioni
Valutazione Quantitativa
Giudizio complessivo
Valutazione
Valutazione Qualitativa
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
20
22. Metamodello Astratto
Metamodello Implementativo
Generatore di Codice
Valutazione
Valutazione Quantitativa – App Valtellina
Un’applicazione che permette di ricavare informazioni relative alle più rinomate localit{
turistiche della Valtellina.
Android
iOS
95,5%
93,7%
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
96,7%
91%
21
23. Metamodello Astratto
Metamodello Implementativo
Generatore di Codice
Valutazione
Valutazione Quantitativa – App Multimedia
Un’applicazione che permette di scattare e visualizzare foto, ed effettuare e riprodurre
filmati e registrazioni audio.
Android
iOS
98,9%
94,9%
89%
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
92,8%
22
24. Metamodello Astratto
Metamodello Implementativo
Generatore di Codice
Valutazione
Valutazione Qualitativa
Metamodello Astratto:
• Può essere utilizzato in fase di design:
• Progettazione condivisa tra più team di sviluppo
• Di facile interpretazione
Generatore di Codice:
• Rapida definizione e produzione delle applicazioni Android e iOS
• Utile per:
• creare una nuova applicazione
• aggiornare un’applicazione esistente
• creare la stessa applicazione per un’altra piattaforma
• Limitazioni:
• Interfaccia grafica non personalizzabile
• Parti algoritmiche non modellabili
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
23
25. Conclusioni
Giudizio complessivo positivo
Produzione sorgenti nativi Android e iOS
Input della fase di generazione del codice
Modellazione ad alto livello di applicazioni mobili
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
24
26. Sviluppi Futuri
• Aggiornamento costante nel tempo (iOS 7)
• Estensione della generazione del codice a nuove
piattaforme (Windows Phone 8)
• Implementazione degli elementi non ancora supportati
• Personalizzazione dell’interfaccia grafica delle applicazioni
• Estensione dei dispositivi supportati: tablet e iPad
• Miglioramento della veste grafica del generatore di codice
• Link:
https://github.com/perego-pezzetti/MobileCodeGenerator
Un Approccio Model-Driven per lo Sviluppo di Applicazioni Mobili Native
25