sviluppo di app cross-platform con cordova e html5

25
Gabriele Gaggi Brain-Sys Srl [email protected] @GabrieleGaggi www.Brain-Sys.it Sviluppo di App cross-platform con Cordova e HTML5

Upload: gabriele-gaggi

Post on 16-Jul-2015

317 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Sviluppo di App cross-platform con Cordova e HTML5

Gabriele Gaggi

Brain-Sys Srl

[email protected]

@GabrieleGaggi

www.Brain-Sys.it

Sviluppo di App cross-platform

con Cordova e HTML5

Page 2: Sviluppo di App cross-platform con Cordova e HTML5

Il problema che vogliamo risolvere

Creare App mobile native utilizzando l’approccio "Write once, run anywhere" (WORA)

Riutilizzare le conoscenze e l’esperienza in ambito web e glistrumenti di sviluppo che già conosciamo (Visual Studio)

ponzi ponzi po po po

Page 3: Sviluppo di App cross-platform con Cordova e HTML5

Una soluzione: Windows Universal App

Universal App: HTML5 CSS3 Javascript (WinJS)

Page 4: Sviluppo di App cross-platform con Cordova e HTML5

Una soluzione: Windows Universal App

App native con le medesime prestazione di App scritte in C#

Vedasi le slide del Webinar «Sviluppo di App Windows Universal» tenuto da Alessandro Scardova: http://www.slideshare.net/ascardova

Page 5: Sviluppo di App cross-platform con Cordova e HTML5

E il resto del mondo?

Page 6: Sviluppo di App cross-platform con Cordova e HTML5

Apache Cordova: Cos’è

Da Wikipedia:

Cordova (in spagnolo Córdoba e in latino Cordŭba) è un comune

spagnolo di 328.841 abitanti situato nella comunità

autonoma dell'Andalusia, sulla riva delGuadalquivir e ai piedi

della Sierra Morena.

Dal sito ufficiale cordova.apache.org:

Apache Cordova is a set of device APIs that allow a mobile app developer to access native device function such as the camera or accelerometer from JavaScript. Combined with a UI framework such as jQuery Mobile or Dojo Mobile or Sencha Touch, this allows a smartphone app to be developed with just HTML, CSS, and JavaScript.

Page 7: Sviluppo di App cross-platform con Cordova e HTML5

Apache Cordova: Cos’è

Non è un’applicazione nativa…

Non è un’applicazione Web…

E’ un’applicazione Ibrida!

Page 8: Sviluppo di App cross-platform con Cordova e HTML5

Apache Cordova: Cos’è

Sempre dal sito ufficiale cordova.apache.org:

Cordova provides a set of uniform JavaScript libraries that can be invoked,

with device-specific native backing code for those JavaScript libraries.

Cordova is available for the following platforms: iOS, Android, Blackberry,

Windows Phone, Palm WebOS, Bada, and Symbian.

iOS, Android, Blackberry, Windows Phone, Palm WebOS, Bada, and Symbian.

Page 9: Sviluppo di App cross-platform con Cordova e HTML5

Apache Cordova: un po’ di storia

Pensato e realizzato da Nitobi ad un evento iPhoneDevCamp con il

nome di PhoneGap.

Nel 2009 vince il People's Choice Award alla conferenza O'Reilly

Media's 2009 Web 2.0.

Viene ufficialmente approvato da Apple nel 2010.

Nitobi viene acquisita da Adobe nell’ottobre del 2011.

Il codice di PhoneGap entra quindi a far parte della Apache Software

Foundation inizialmente con il nome di Apache Callback e

successivamente Apache Cordova.

Adobe continua a distribuire la sua Build con il nome di PhoneGap.

Page 10: Sviluppo di App cross-platform con Cordova e HTML5

Apache Cordova: ma quanto mi costi?

Apache Cordova graduated in October 2012 as a top level project

within the Apache Software Foundation (ASF). Through the ASF, future

Cordova development will ensure open stewardship of the project. It

will always remain free and open source under the Apache License,

Version 2.0.

http://www.apache.org/licenses/LICENSE-2.0.txt

Usi commerciali ammessi, bisogna solo includere una copia della

licenza e mostrarla nella sezione «copyright» del proprio programma.

Page 11: Sviluppo di App cross-platform con Cordova e HTML5

Fantastico… e Visual Studio?

Visual Studio Tools for Apache Cordova (CTP3)

http://www.visualstudio.com/en-us/explore/cordova-vs.aspx

Funziona esclusivamente con Visual Studio 2013 Update 4

….preparatevi ad avere pazienza…

….tanta pazienza…

Page 12: Sviluppo di App cross-platform con Cordova e HTML5

Fantastico… e Visual Studio?

….veramente tanta pazienza…

Page 13: Sviluppo di App cross-platform con Cordova e HTML5

Visual Studio Tools for Apache Cordova:

Installazione

Cosa viene installato:

Joyent Node.js

Framework javascript event-driven, consente a Visual Studio

Di integrarsi con l’interfaccia a riga di comando (CLI) di

Cordova e dell’emulatore Apache Ripple.

Google Chrome

Browser Web, necessario per eseguire l’emulatore Apache

Ripple per iOs ed Android.

Git Command Line Tools

Necessario se si desidera aggiungere manualmente indirizzi a specifici plugin

Cordova

Apache Ant

Software per l’automazione dei processi di Build, necessario per la build di

Android.

Oracle Java 7

JDK Java, necessario per la build di Android.

Page 14: Sviluppo di App cross-platform con Cordova e HTML5

Visual Studio Tools for Apache Cordova:

Installazione

Android SDK

L’SDK di Android, necessario per la build di Android.

Apple iTunes

Necessario per il deploy dell’app ad un device iOS connesso al proprio PC.

SQLite

Necessario per poter aggiungere un motore di database alle applicazioni

Windows.

WebSocket4Net

Necessario esclusivamente se si sviluppa su un pc dotato del sistema operativo

Windows 7.

Page 15: Sviluppo di App cross-platform con Cordova e HTML5

Visual Studio Tools for Apache Cordova:

Installazione

L’installazione potrebbe bloccarsi (è pur sempre una CTP). In questo caso annotarsi l’elemento che ha bloccato l’installazione, interrompere con il pulsante cancel, installare l’elemento bloccante manualmente e rifar partire l’installazione escludendo l’elemento bloccante.http://msdn.microsoft.com/en-us/library/dn757054.aspx#ThirdParty

Al completamente dell’installazione riavviare il PC.

A seguito del riavvio, aprire Visual Studio, selezionare Tools, Extensions and Updates ed infine Updates, per ricercare eventuali aggiornamenti disponibili.

Alla prima build effettuata sul pc Visual Studio scaricherà ed installerà i tools Cordova.

Prima di poter eseguire l’app nel simulatore iOs o su un dispositivo iOsconnesso al pc è necessario installare l’agente remoto su un computer Mac.http://msdn.microsoft.com/en-us/library/dn771551.aspx

http://www.visualstudio.com/en-us/explore/cordova-known-issues-vs.aspx

Page 16: Sviluppo di App cross-platform con Cordova e HTML5

Visual Studio Tools for Apache Cordova:

Installazione

La vita del programmatore è veramente dura…

eh si, immagino!

Page 17: Sviluppo di App cross-platform con Cordova e HTML5

Demo

Impossibile non cominciare con il classico «Hello World!»

Page 18: Sviluppo di App cross-platform con Cordova e HTML5

Posso utilizzare un framework JavaScript?

Cordova permette di utilizzare qualunque framework JavaScript

Page 19: Sviluppo di App cross-platform con Cordova e HTML5

Plugin per la gestione delle funzionalità native

Una delle caratteristiche principali di Cordova è la possibilità di

utilizzare le funzionalità native dei diversi device attraverso

specifici plugin (es. Geolocalizzazione, batteria).

Page 20: Sviluppo di App cross-platform con Cordova e HTML5

Connessione a servizi esterni (Azure, Office 365)

Visual Studio Services Manager per servizi connessi permette

l’integrazione di servizi Microsoft come gli Azure Mobile Services,

Office 365 e altri servizi nelle applicazioni sviluppate con Cordova.

Page 21: Sviluppo di App cross-platform con Cordova e HTML5

Testare la propria applicazione

Il debug delle applicazioni scritte con il framework Cordova in Visual

Studio avviene esattamente come con le altre tipologie di progetto

che gestiamo normalmente in Visual Studio.

Possiamo effettuare il debug mentre le app girano o nell’emulatore

o su un device reale connesso al pc.

Page 22: Sviluppo di App cross-platform con Cordova e HTML5

Predisporre i pacchetti da pubblicare

Attraverso il file config.xml possiamo impostare i diversi settaggi per

poter pubblicare la nostra applicazione.

I diversi asset dovranno essere inseriti nella cartella res nelle

diverse sottocartelle

Page 23: Sviluppo di App cross-platform con Cordova e HTML5

Pubblicare l’app nei diversi store

Prendere i package generati all’interno della folder bin e…

sottometterli nei diversi store!

Page 24: Sviluppo di App cross-platform con Cordova e HTML5

Q&A

Se avete domande fatele ora…

…o scrivetemi una mail!

Page 25: Sviluppo di App cross-platform con Cordova e HTML5

Link utili

Punto di partenza:

http://www.visualstudio.com/en-us/explore/cordova-vs.aspx

Pagina ufficiale di Apache Cordova:

http://cordova.apache.org/

Pagina ufficiale di PhoneGap:

http://phonegap.com/

Pagina relativa a WinJS:

https://github.com/winjs/winjs

Issues installing iTunes for Windows:

http://support.apple.com/en-us/HT201668

Sito ufficiale Len:

http://lenformazione.it/

Sito ufficiale Mind Flower:

http://www.mindflower.it/