Iniziare a sviluppare su mobile con Android
Post on 10-Aug-2015
63 Views
Preview:
Transcript
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Oggi parleremo di � Il mondo mobile oggi � Perché scegliere la piattaforma Android � Possibilità di lavoro � Creare un’App � Come iniziare lo sviluppo � Consigli e caso d’uso I miei riferimenti � Ing. Francesco Florio
Android designer & developer – Teacher – Startupper me@francescoflorio.info http://www.francescoflorio.info
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Il mondo mobile oggi � I dispositivi mobili connessi sono maggiori
della popolazione mondiale � Ottobre 2014: 7,22 miliardi di dispositivi mobili per 7,2 miliardi di persone nel mondo
� I dispositivi mobili hanno superato il mondo desktop nel traffico web generato � Web � E-Commerce � Social network � Multimedia � Gaming � Advertising
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Il mondo mobile oggi � I principali Sistemi Operativi del mondo mobile
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Il mondo mobile oggi
• Android ha l’84,4% del mercato dei SO per Smartphone
• iOS 11,7%
• Windows Phone 2,9%
• BlackBerry OS 0,5%
• Gli altri SO si dividono lo 0,6%
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Sviluppo mobile � Due diversi approcci allo sviluppo
� Nativo � Applicazioni scritte con l’SDK offerto dalla piattaforma (Java,
objective-C, C#, C++) � No riuso di codice � Migliore esperienza d’uso per gli utenti (UI & prestazioni) � Disponibili tutte le funzionalità offerte dalla piattaforma
� Cross-platform � Applicazioni scritte con un unico linguaggio (javascript,
actionscript, C++) e impacchettato/compilato per tutte le piattaforme
� Riciclo di codice (oltre l’80%) � Esperienza d’uso non ottimale � Non tutte le funzionalità sono disponibili � Problemi di stabilità a seguito di aggiornamenti del S.O.
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Perché sviluppare per Android � Sistema Operativo più diffuso per dispositivi
mobili � Costo di sviluppo nullo (o quasi)
� Open-source � SDK e IDE di Sviluppo disponibili gratuitamente per tutti i sistemi
operativi desktop (Windows, OSX, Linux) � Iscrizione per distribuire le proprie applicazioni a costi irrisori e
non obbligatoria
� Sviluppo nativo basato su tecnologie conosciute � Java & XML � Supporta lo sviluppo in C/C++ (Android NDK)
� Ecosistema in evoluzione � Elevata offerta di lavoro
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
L’ecosistema Android � Smartphone & Tablet � Desktop & Notebook
� Chomebook
� Android Wear � Smartwatch, Google Glass
� Android TV � Android Auto
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Possibilità di lavoro � Dipendente
� In Italia � All’estero
� Freelance � Nuovo approccio delle
piccole/medie imprese
� Startupper � Mercato mobile in
continua crescita � Nuovi ambiti applicativi
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Creare un’App � Ci si innamora sempre della propria IDEA � Valida se risponde a questi quesiti
� Ha una REASON WHY per scaricarla? � Offre funzioni/contenuti esclusivi � Risolve un problema � E’ necessaria per compiere attività
specifiche � Sfrutta le caratteristiche del mobile
� Geo-localizzazione � Notifiche push � Utilizzo in mobilità � Integrazione con altre App
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Creare un’App � Che tipo di applicazione si vuole realizzare?
� Salute � Produttività/Gestionali � Informazione � Social Network � Multimedia � Gaming
� Ciascuna categoria ha caratteristiche ben specifiche
� Guardare i competitor � Esiste qualcosa di simile? � Cosa offre in più la mia App?
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Creare un’App � A quale target di utenti si rivolge la mia App?
� Età � Sesso � Professione � Nazione
� Target ristretto � CONTRO: Meno utenti interessati � PRO: Più facile entrare nel mercato
� Target ampio � PRO: Più utenti interessati � CONTRO: Più difficoltà ad entrare nel mercato
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Creare un’App � Business Plan
� Realizzare e mantenere un’App ha un costo � Progettazione, sviluppo, hardware, cloud, marketing…
� Servono strategie di monetizzazione � Applicazione a pagamento � Applicazione gratuita con contenuti aggiuntivi a
pagamento (in-App purchase) � Applicazione gratuita con pubblicità � Noleggio licenza d’uso � Exit milionaria J
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Creare un’App � L’importanza del Team
� Importante attenzione alla grafica e all’esperienza utente � Icona e Artworks sono i principali fattori di download � App poco intuitive sono rimosse dagli utenti � Un’App rimossa difficilmente viene riscaricata
� Marketing & App discovery � Competizioni che danno visibilità all’App
� EESTEC Competition for Android, Start Cup, Startup Weekend, … � Social marketing � Review � Partnership
� Richieste diverse competenze � Il Time-to-Market spesso decreta il successo dell’App
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Come iniziare lo sviluppo � Limiti di Android e dello sviluppo mobile
� Risorse limitate � CPU, batteria…
� Display limitati � Una sola schermata visibile per volta
� Lifecycle delle applicazioni differente dal mondo desktop/server � Stand-by, eventi esterni, background…
� Frammentazione � Hardware � Software
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Come iniziare lo sviluppo � Sito ufficiale dedicato agli sviluppatori
� http://developer.android.com/
� Documentazione divisa in tre sezioni � Design: imparare come progettare graficamente un’App
Android - Material Design � Develop: Raccoglie la definizione completa delle API
disponibili, guide, tutorial, le ultime novità della piattaforma, etc…
� Distribute: Descrive come pubblicare la propria App su Play Store, come ottenere nuovi utenti e mantenerli, come monetizzare, etc…
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Come iniziare lo sviluppo � IDE e Tools di sviluppo
� Eclipse non è più supportato � http://developer.android.com/sdk/installing/migrate.html
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Come iniziare lo sviluppo � Android Build System
� Toolkit usato per compilare, testare, eseguire ed impacchettare l’App
� Precedentemente basato su ANT, oggi consiste in un estensione Gradle per Android
� Il file di build è chiamato build.gradle � File di testo scritto in sintassi Groovy � Si occupa di definire le caratteristiche dell’App e le dipendenze,
con la possibilità di inserire logica di build customizzata
� Referenze � http://developer.android.com/tools/building/plugin-for-gradle.html � http://www.gradle.org/ � http://groovy.codehaus.org/
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Come iniziare lo sviluppo � Device fisico
� Per sviluppare su Android è consigliato un device fisico � Testing, User Experience
� Emulatore � Android offre i suoi emulatori
� Smartphone, Tablet, Wear… � Performance non entusiasmanti
� Genymotion � Emulatore Android realizzato da una startup francese � E’ presente una versione gratuita � 20 device pre-configurati, con la possibilità di crearne di nuovi � https://www.genymotion.com/
� Samsung Remote Test Lab � http://developer.samsung.com/remotetestlab/rtlAboutRTL.action
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Consigli � Creare un repository per il vostro codice
� Quando si sviluppa è sempre consigliato il versioning del codice sorgente
� Vantaggi � Si può lavorare in maniera distribuita, unendo il lavoro di
diversi sviluppatori senza particolare sforzo � Si evita di perdere accidentalmente il codice � E’ possibile tenere sotto controllo l’evoluzione del codice, e,
se necessario, tornare indietro � Client integrato in Android Studio � Repository gratuito su: https://bitbucket.org/
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Consigli � Testing
� I prodotti commerciali devono essere stabili e affidabili
� Il testing di un’App è molto importante � Community di tester possono aiutarvi in questa fase
� Amici e colleghi � https://thebetafamily.com/
� Monitoraggio � Utilizzare strumenti che segnalano i crash degli utenti � https://try.crashlytics.com/
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Caso d’uso – Cassandra Stand � Nel 2010 insieme a due ex studenti di Ingegneria
Informatica iniziamo la nostra avventura nel mondo mobile
� Con pochi clienti e scarsa visibilità decidiamo di investire tre mesi per realizzare un progetto da proporre in ambito internazionale
� Realizziamo Cassandra Stand News & Clock
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Caso d’uso – Cassandra Stand � Applicazione per Tablet che abbina orario, previsioni
meteo e ultime notizie di oltre 50 paesi � Partecipiamo all’Adobe AIR App Challenge,
sponsored by Sony ed arriviamo alla fase finale vincendo 10.000 $
� http://blogs.adobe.com/digitalmedia/2011/11/winning-tablet-apps-for-adobe-air-app-challenge-sponsored-by-sony-announced/
Introduzione ad Android Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Caso d’uso – Cassandra Stand � Punti di forza dell’App
� Risponde alle esigenze degli utenti � Facilità d’uso � Molto curata graficamente � Disponibile in tutto il mondo � Stabile e performante
top related