SlideShare una empresa de Scribd logo
1 de 42
Fabio Franzini Sviluppare Applicazioni Mobile Native in HTML e JavaScript
Presentazioni Fabio Franzini Consulente, Programmatore e MCT Trainer  su piattaforma .NET www.fabiofranzini.com fabio@fabiofranzini.com @franzinifabio
START!!
Background Evoluzione del “Mobile Web” Albori: WAP, cHTML, mHTML Phone’s WEB Browser WAP: puah!!
WAP, cHTML, mHTML
Mobile Web Oggi Smart Phones Sistemi Operativi Mobile completi iPhone OS, Android, Simbian OS, Blackberry, Windows Mobile, WebOS, Maemo, ecc.. Cross-platform Web Browser (Webkit!!) 3G, WiFi
Smart Phones
Sviluppare oggi per il Mobile Web Powerfull Web Browser Web 2.0 Social Geo-localization Ecc..
Vantaggi HTML CSS JavaScript Deploy semplice Ecc..
Limitazioni ,[object Object]
Sandbox indipendente dal resto del OS,[object Object]
Native App e App. Store
Ok, ma… iPhone: Objective-C Android, Blackberry: Java Nokia Symbian: C / JavaScript Sony Ericsson: Java Window Mobile: .NET / C++ / VB
…quindi!!
Native App VS Web App
Ok, capito!! Ma allora?
Confusi??
Native App Cross-Platform HTML, CSS, JavaScript, Images, ecc.. + API native del telefono (Geo-localizzazione, Contatti,  Accelerometro, Fotocamera, Vibrazione, ecc ..) = Wrapper sul Web Browser con supporto alle API del telefono.
Un esempio? PhoneGap
Cos’è PhoneGap PhoneGap è uno strumento di sviluppo opensource, realizzato da Nitobi, utile per la costruzione veloce e facile di Applicazioni Mobile con JavaScript
PhoneGap in dettaglio 1/2 E’ un container con wrapper sul Web Browser del dispositivo Espone un insieme di API del dispositivo, astraendo le medesime, e le rende disponibili tramite JavaScript
PhoneGap in dettaglio 2/2 In base alla piattaforma con la quale dovrà interfacciarsi, l’implementazione sarà di sviluppata in: Objective C, Java e così via;  L’implementazione è fornita dallo stesso framework, il runtime si appoggia sul Web Browser e sulle estensioni per quella piattaforma. Il risultato è un pacchetto composto di due elementi principali:  il runtime si occupa di dialogare direttamente con il dispositivo le parti statiche (HTML, JavaScript, ecc) offrono l’interfaccia verso l’utente.
PhoneGap in dettaglio
Piattaforme supportate iPhone / iPad?? Android Blackberry Palm ~ Symbian ~ Windows Mobile ~
iPhone??? http://bit.ly/7wmgsv “The recent changes to Apple’s iPhone developer agreement, this has ZERO impact on PhoneGap!” “Apps built with PhoneGap will continue to be reviewed based on their own merits and NOT dismissed/rejected because they use PhoneGap.”
Features Accelerometro Audio Camera Contacts File IO SMS Settings
Features Supportate
Esampio di API 1/3 ,[object Object]
document.getElementById("platform").innerHTML = device.platform;
Alert
navigator.notification.alert(“Mio Messaggio", “Attenzione", "Ok");
Vibration
navigator.notification.vibrate(1000);
Media
var media = Media.new("hammer_time.wav", win, fail);
media.play();
media.stop();,[object Object]
function getLocation() { 	var win = function(p) 	{  		alert( p.coords.latitude + " " + p.coords.longitude );  	};  	var fail = function(){ //default query }; 					navigator.geolocation.getCurrentPosition(win, fail);  	}
Esempio di API 3/3 ,[object Object]
function getAccel() {  		var win = function(a) 	{ 	document.getElementById('x').innerHTML = a.x; 				document.getElementById('y').innerHTML = a.y; 				document.getElementById('z').innerHTML = a.z;  	};  	var fail = function(){}; 	navigator.accelerometer.getCurrentAcceleration(win, fail);  	}

Más contenido relacionado

Destacado

Apache Cordova: Overview and Introduction
Apache Cordova: Overview and IntroductionApache Cordova: Overview and Introduction
Apache Cordova: Overview and IntroductionGabriele Falasca
 
SQL or NoSQL - how to choose
SQL or NoSQL - how to chooseSQL or NoSQL - how to choose
SQL or NoSQL - how to chooseLars Thorup
 
(Ebook pdf) java programming language basics
(Ebook pdf)   java programming language basics(Ebook pdf)   java programming language basics
(Ebook pdf) java programming language basicsRaffaella D'angelo
 
(E book pdf) thinking in patterns with java
(E book   pdf) thinking in patterns with java(E book   pdf) thinking in patterns with java
(E book pdf) thinking in patterns with javaRaffaella D'angelo
 
Groovy e Domain Specific Languages
Groovy e Domain Specific LanguagesGroovy e Domain Specific Languages
Groovy e Domain Specific LanguagesTiziano Lattisi
 
АКТИВ. Владимир Иванов. "Как помочь Вини Пуху и сохранить рассудок"
АКТИВ. Владимир Иванов. "Как помочь Вини Пуху и сохранить рассудок"АКТИВ. Владимир Иванов. "Как помочь Вини Пуху и сохранить рассудок"
АКТИВ. Владимир Иванов. "Как помочь Вини Пуху и сохранить рассудок"Expolink
 
Java Programming Language
Java Programming LanguageJava Programming Language
Java Programming LanguagePasquale Paola
 
Java e il paradigma a oggetti v2
Java e il paradigma a oggetti v2Java e il paradigma a oggetti v2
Java e il paradigma a oggetti v2cinziabb
 
Java e il paradigma a oggetti
Java e il paradigma a oggettiJava e il paradigma a oggetti
Java e il paradigma a oggetticinziabb
 
Corso Programmazione Java Base
Corso Programmazione Java BaseCorso Programmazione Java Base
Corso Programmazione Java BaseK-Tech Formazione
 
Programmazione a oggetti tramite la macchina del caffé (1/3)
Programmazione a oggetti tramite la macchina del caffé (1/3)Programmazione a oggetti tramite la macchina del caffé (1/3)
Programmazione a oggetti tramite la macchina del caffé (1/3)Marcello Missiroli
 
Python nel primo biennio della scuola superiore
Python nel primo biennio della scuola superiorePython nel primo biennio della scuola superiore
Python nel primo biennio della scuola superioreguestc11532
 
Programmazione ad oggetti
Programmazione ad oggettiProgrammazione ad oggetti
Programmazione ad oggettiAnna_1969
 

Destacado (20)

Apache Cordova: Overview and Introduction
Apache Cordova: Overview and IntroductionApache Cordova: Overview and Introduction
Apache Cordova: Overview and Introduction
 
SQL or NoSQL - how to choose
SQL or NoSQL - how to chooseSQL or NoSQL - how to choose
SQL or NoSQL - how to choose
 
Nosql databases
Nosql databasesNosql databases
Nosql databases
 
(Ebook pdf) java programming language basics
(Ebook pdf)   java programming language basics(Ebook pdf)   java programming language basics
(Ebook pdf) java programming language basics
 
Linguaggio di programmazione java - Scheda corso LEN
Linguaggio di programmazione java - Scheda corso LENLinguaggio di programmazione java - Scheda corso LEN
Linguaggio di programmazione java - Scheda corso LEN
 
Pensiero Orientato Agli Oggetti
Pensiero Orientato Agli OggettiPensiero Orientato Agli Oggetti
Pensiero Orientato Agli Oggetti
 
Java
JavaJava
Java
 
Java 01
Java 01Java 01
Java 01
 
(E book pdf) thinking in patterns with java
(E book   pdf) thinking in patterns with java(E book   pdf) thinking in patterns with java
(E book pdf) thinking in patterns with java
 
Groovy e Domain Specific Languages
Groovy e Domain Specific LanguagesGroovy e Domain Specific Languages
Groovy e Domain Specific Languages
 
АКТИВ. Владимир Иванов. "Как помочь Вини Пуху и сохранить рассудок"
АКТИВ. Владимир Иванов. "Как помочь Вини Пуху и сохранить рассудок"АКТИВ. Владимир Иванов. "Как помочь Вини Пуху и сохранить рассудок"
АКТИВ. Владимир Иванов. "Как помочь Вини Пуху и сохранить рассудок"
 
Java Programming Language
Java Programming LanguageJava Programming Language
Java Programming Language
 
Informatica di base
Informatica di baseInformatica di base
Informatica di base
 
OOP Java
OOP JavaOOP Java
OOP Java
 
Java e il paradigma a oggetti v2
Java e il paradigma a oggetti v2Java e il paradigma a oggetti v2
Java e il paradigma a oggetti v2
 
Java e il paradigma a oggetti
Java e il paradigma a oggettiJava e il paradigma a oggetti
Java e il paradigma a oggetti
 
Corso Programmazione Java Base
Corso Programmazione Java BaseCorso Programmazione Java Base
Corso Programmazione Java Base
 
Programmazione a oggetti tramite la macchina del caffé (1/3)
Programmazione a oggetti tramite la macchina del caffé (1/3)Programmazione a oggetti tramite la macchina del caffé (1/3)
Programmazione a oggetti tramite la macchina del caffé (1/3)
 
Python nel primo biennio della scuola superiore
Python nel primo biennio della scuola superiorePython nel primo biennio della scuola superiore
Python nel primo biennio della scuola superiore
 
Programmazione ad oggetti
Programmazione ad oggettiProgrammazione ad oggetti
Programmazione ad oggetti
 

Similar a Sviluppare applicazioni mobile native in html e java script

Sviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapSviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapDotNetMarche
 
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPSLezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPSGianluigi Cogo
 
Mobile - Quali approcci?
Mobile - Quali approcci?Mobile - Quali approcci?
Mobile - Quali approcci?Gaspare Novara
 
Sviluppo Mobile , quali approcci?
Sviluppo Mobile , quali approcci?Sviluppo Mobile , quali approcci?
Sviluppo Mobile , quali approcci?lostrettodigitale
 
Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinFabio Cozzolino
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progettoMicrosoft Mobile Developer
 
Mobile platforms development overview
Mobile platforms development overviewMobile platforms development overview
Mobile platforms development overviewAlfredo Morresi
 
Ionic Cordova vs React Native
Ionic Cordova vs React NativeIonic Cordova vs React Native
Ionic Cordova vs React NativeAntonio Gallo
 
Massimiliano Zani - Applicazioni Mobile: tecnologie e Problematiche
Massimiliano Zani - Applicazioni Mobile: tecnologie e ProblematicheMassimiliano Zani - Applicazioni Mobile: tecnologie e Problematiche
Massimiliano Zani - Applicazioni Mobile: tecnologie e ProblematicheBetter Software
 
Iphone Internet Mobile
Iphone Internet MobileIphone Internet Mobile
Iphone Internet MobilePivari.com
 
Mokapp2014 Lab Universal App
Mokapp2014 Lab Universal AppMokapp2014 Lab Universal App
Mokapp2014 Lab Universal AppFabrizio Bernabei
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XMLAndrea Castello
 
Presentazione Evento CBT "Soluzioni Mobile per il Business"
Presentazione Evento CBT "Soluzioni Mobile per il Business"Presentazione Evento CBT "Soluzioni Mobile per il Business"
Presentazione Evento CBT "Soluzioni Mobile per il Business"Ruggero Borgonovo
 
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1codeblock
 
Smau milano 2012 arena social media massimo-grava
Smau milano 2012   arena social media massimo-gravaSmau milano 2012   arena social media massimo-grava
Smau milano 2012 arena social media massimo-gravaSMAU
 

Similar a Sviluppare applicazioni mobile native in html e java script (20)

Sviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapSviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGap
 
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPSLezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
 
Mobile development .net
Mobile development .netMobile development .net
Mobile development .net
 
Mobile - Quali approcci?
Mobile - Quali approcci?Mobile - Quali approcci?
Mobile - Quali approcci?
 
Sviluppo Mobile , quali approcci?
Sviluppo Mobile , quali approcci?Sviluppo Mobile , quali approcci?
Sviluppo Mobile , quali approcci?
 
Micro Applicazioni Mobile
Micro Applicazioni MobileMicro Applicazioni Mobile
Micro Applicazioni Mobile
 
Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarin
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 
Flash vs jQuery
Flash vs jQueryFlash vs jQuery
Flash vs jQuery
 
Mobile platforms development overview
Mobile platforms development overviewMobile platforms development overview
Mobile platforms development overview
 
Ionic Cordova vs React Native
Ionic Cordova vs React NativeIonic Cordova vs React Native
Ionic Cordova vs React Native
 
Massimiliano Zani - Applicazioni Mobile: tecnologie e Problematiche
Massimiliano Zani - Applicazioni Mobile: tecnologie e ProblematicheMassimiliano Zani - Applicazioni Mobile: tecnologie e Problematiche
Massimiliano Zani - Applicazioni Mobile: tecnologie e Problematiche
 
Adesso In Onda
Adesso In OndaAdesso In Onda
Adesso In Onda
 
Iphone Internet Mobile
Iphone Internet MobileIphone Internet Mobile
Iphone Internet Mobile
 
Mokapp2014 Lab Universal App
Mokapp2014 Lab Universal AppMokapp2014 Lab Universal App
Mokapp2014 Lab Universal App
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XML
 
Presentazione Evento CBT "Soluzioni Mobile per il Business"
Presentazione Evento CBT "Soluzioni Mobile per il Business"Presentazione Evento CBT "Soluzioni Mobile per il Business"
Presentazione Evento CBT "Soluzioni Mobile per il Business"
 
Wp7 to the max!
Wp7 to the max!Wp7 to the max!
Wp7 to the max!
 
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
 
Smau milano 2012 arena social media massimo-grava
Smau milano 2012   arena social media massimo-gravaSmau milano 2012   arena social media massimo-grava
Smau milano 2012 arena social media massimo-grava
 

Más de Fabio Franzini

Use the PnP SharePoint Starter Kit to create your intranet in a box
Use the PnP SharePoint Starter Kit to create your intranet in a boxUse the PnP SharePoint Starter Kit to create your intranet in a box
Use the PnP SharePoint Starter Kit to create your intranet in a boxFabio Franzini
 
All about Office UI Fabric
All about Office UI FabricAll about Office UI Fabric
All about Office UI FabricFabio Franzini
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Fabio Franzini
 
tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365 tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365 Fabio Franzini
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Fabio Franzini
 
Sviluppare app per office
Sviluppare app per officeSviluppare app per office
Sviluppare app per officeFabio Franzini
 
Single page applications & SharePoint
Single page applications & SharePointSingle page applications & SharePoint
Single page applications & SharePointFabio Franzini
 
Office 2013 loves web developers slide
Office 2013 loves web developers   slideOffice 2013 loves web developers   slide
Office 2013 loves web developers slideFabio Franzini
 
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjsCodemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjsFabio Franzini
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...Fabio Franzini
 

Más de Fabio Franzini (11)

Use the PnP SharePoint Starter Kit to create your intranet in a box
Use the PnP SharePoint Starter Kit to create your intranet in a boxUse the PnP SharePoint Starter Kit to create your intranet in a box
Use the PnP SharePoint Starter Kit to create your intranet in a box
 
All about Office UI Fabric
All about Office UI FabricAll about Office UI Fabric
All about Office UI Fabric
 
All about SPFx
All about SPFxAll about SPFx
All about SPFx
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)
 
tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365 tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...
 
Sviluppare app per office
Sviluppare app per officeSviluppare app per office
Sviluppare app per office
 
Single page applications & SharePoint
Single page applications & SharePointSingle page applications & SharePoint
Single page applications & SharePoint
 
Office 2013 loves web developers slide
Office 2013 loves web developers   slideOffice 2013 loves web developers   slide
Office 2013 loves web developers slide
 
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjsCodemotion 2013 - Designing complex applications using html5 and knockoutjs
Codemotion 2013 - Designing complex applications using html5 and knockoutjs
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...
 

Sviluppare applicazioni mobile native in html e java script