Mobile - Quali approcci?

16
Sviluppo Mobile: Quali approcci?

description

Nello sviluppo di un app spesso si è di fronte a una scelta di campo, seguire un dispendioso sviluppo nativo oppure optare per soluzioni alternative come lo sviluppo ibrido o le webapp? A ciascuno il suo.

Transcript of Mobile - Quali approcci?

Page 1: Mobile - Quali approcci?

Sviluppo Mobile: Quali approcci?

Page 2: Mobile - Quali approcci?

Gaspare Novara

Di giorno: Senior iOS Developer

Di notte: Lo Stretto Digitale

Page 3: Mobile - Quali approcci?

Perchè il mobile - 1

il numero di smartphone venduti ha superato per la prima volta quello dei cellulari tradizionali.

Il numero di tablet consegnati supereranno quelle dei PC desktop nel 2013 e quelle dei PC portatili nel 2014

• la spesa per il software di enterprise mobility: tasso di crescita medio annuo di queste soluzioni nel periodo 2012-2017 è stimato pari al 18%

Page 4: Mobile - Quali approcci?

Perchè il mobile - 2

Cisco Visual Networking Index (VNI) – Global Mobile Data Traffic Forecast Update.

studio, focalizzato su periodo compreso tra il 2012 e il 2017, analizza i trend di utilizzo delle reti mobili mondiali sia in termini di evoluzione e diffusione di smartphone e tablet sia in termini di quantità di traffico generato.

il traffico Internet sulla rete mobile globale è cresciuto del 70% durante il 2012 e crescerà ancora di 13 volte in 5 anni

fra il 2016 e il 2017, si avrà un aumento pari a 4 volte il traffico Internet mobile che si è registrato nel 2012 a livello globale

• In italia: il numero di smartphone connessi alla rete mobile è cresciuto del 28%, quello dei tablet è quasi raddoppiato e le connessioni machine to machine sono aumentate del 68%.

Page 5: Mobile - Quali approcci?

Perchè il mobile - 3

Report Q1 2013 - “The Mobile Consumer - A global snapshot”

Uso quotidiano dei dispositivi di telefonia mobile in dieci Paesi: Australia, Brasile, Cina, Corea del Sud, India, Russia, Turchia, Uk, Usa, Italia

62% : smartphone

27% : feature phone

11% : multimedia phone

Le fasce d’età compresa tra i 25-34 (72%) e 35-44 (70%) sono quelle che usano lo “smartphone”

L’attività più diffusa degli italiani con il loro telefono “intelligente” è inviare e ricevere sms (89%), seguita da email (51%), applicazioni (49%) e social network (47%).

Usano il cellulare il 97% degli italiani

Page 6: Mobile - Quali approcci?

Perchè il mobile - 4

Jeff Stibel: 'The web is dead - and the app (thankfully) killed it'September 2013 issue of Wired magazine

Page 7: Mobile - Quali approcci?

Perchè il mobile - 5

Opportunità Augmented reality (AR)

Mobile Cloud: Dropbox, Evernote, Google Drive

Mobile PaymentMobile Gaming

Mobile&Social Commerce: Pointistic, Groupon Now, ShopKick

Mobile Health: Nike+GPS, Runtastic

Comunicazioni P2P: WhatsApp, WeChat, Hangouts

Mobile Retail

App LBS

Mobile Learning

Page 8: Mobile - Quali approcci?

Come il mobile - 1

WebApp App Native App Ibride

App Maker Platform (???)

Page 9: Mobile - Quali approcci?

Come il mobile - 2

WebApp: HTML5 + CSS + Javascript

Sencha Touch jQuery Mobile The-M-Project DaVinci Studio Wink Kendo UI

Alcuni Framework

sviluppo su tecnologie open deploy dell’applicazione su server FTP installazione semplice: basta collegarsi all’indirizzo dell’app Tempo di rilascio degli aggiornamenti Tempi e costi di sviluppo Compatibilità

Vantaggi

Page 10: Mobile - Quali approcci?

Nielsen Cross Platform Report 2013

Come il mobile – 3

Page 11: Mobile - Quali approcci?

Come il mobile - 4

Vantaggi

Tempi di caricamento User experience Persistenza dei dati Funzionalità native Accesso all’hardware Assenza di connettività Look and feel Advergaming InApp purchase Revenue Diffusione

S.O. e linguaggi

iOS: Objective-C Android: Java Windows Phone: Silverlight, .Net Framework C#

Sviluppo App Native

Page 12: Mobile - Quali approcci?

Come il mobile - 5

Il sogno del "code one, run everywhere"

Un'insieme di pagine eseguite all'interno di un controllo browser, pagine il cui codice Javascript sostituisce in tutto e per tutto quello che scriveremmo in Objective-C, Java o C#.

Dovete invocare un servizio web? Chiamata AJAX, magari con jQuery.

Ok, ma allora a cosa serve il framework?

Oltre ad una serie di template di progetto per i vari ambienti di sviluppo, fondamentalmente è costituito da una libreria javascript che fa da bridge tra il nostro codice in pagina e le funzionalità native del telefono, dandoci di fatto la possibilità di accedere a funzionalità native del sistema e del dispositivo, come i contatti, il GPS o la fotocamera.

Alcune soluzioni:

PhoneGap Appcellerator Titanium Marmalade SDKSviluppo App Ibride

Page 13: Mobile - Quali approcci?

Come il mobile - 6 Il sogno del "code one, run everywhere"

Sviluppo App Ibride

Svantaggi

Siamo fondamentalmente costretti a reinventare la ruota: possiamo in buona sostanza dimenticarci tutti i controlli nativi per la piattaforma, con il risultato che le applicazioni perdono completamente il look & feel tipico del dispositivo su cui girano. Esistono alcuni plugin che supportano il rendering di 3 o 4 controlli nativi (AFAIK, TabBar, Toolbar, ActionSheet e StatusBar, e solo su iPhone), ma in questo modo si perde la portabilità. Ne vale davvero la pena, allora?

Conseguenza diretta del punto precedente, è che la nostra app rischia di non essere accettata. Alcuni reviewers sono molto attenti, ad esempio, al rispetto delle guidelines della UX. Fatevi un giro su google e cercate "PhoneGap app rejected" e troverete davvero tanti casi.

Generalmente il funzionamento dell'applicazione è meno responsivo e fluido di una eventuale controparte nativa (ma questo, invero, dipende dalla bontà del browser).

Il codice è interpretato, niente compilazione. Quindi gli unici errori sono a runtime.

Il debug, come modernamente lo intendiamo, è praticamente impossibile. Scordatevi di mettere un breakpoint nel codice e di procedere step by step.

Per alcune funzionalità (es. riproduzione video) vi toccherà comunque imparare il codice nativo .

Page 14: Mobile - Quali approcci?

AppMakr

AppMachine

Conduit Mobile

Bizness Apps

MainStreet Apps

Come il mobile - 7

App maker Platform

Page 15: Mobile - Quali approcci?

Come il mobile - 8

Tempi di caricamento Poche personalizzazioni Molte app stesso template Scarso accesso a funzionalità native Responsività Look and Feel Complessità app non gestibili

App maker Platform

Page 16: Mobile - Quali approcci?

Grazie per l'attenzione!

[email protected]/in/gasparenovara