Sviluppo Mobile: Quali approcci?
Jun 13, 2015
Sviluppo Mobile: Quali approcci?
Gaspare Novara
Di giorno: Senior iOS Developer
Di notte: Lo Stretto Digitale
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%
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%.
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
Perchè il mobile - 4
Jeff Stibel: 'The web is dead - and the app (thankfully) killed it'September 2013 issue of Wired magazine
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
Come il mobile - 1
WebApp App Native App Ibride
App Maker Platform (???)
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
Nielsen Cross Platform Report 2013
Come il mobile – 3
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
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
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 .
AppMakr
AppMachine
Conduit Mobile
Bizness Apps
MainStreet Apps
Come il mobile - 7
App maker Platform
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
Grazie per l'attenzione!
[email protected]/in/gasparenovara