2. 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
3. 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
4. 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
5. 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%
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.
7. 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
8. 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
9. 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
10. 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
11. 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?
12. 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
13. 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
14. 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
15. 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
16. 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…
17. 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
18. 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/
19. 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
20. 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/
21. 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/
22. 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
23. 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/
24. 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
25. Introduzione ad Android
Android Day, 15 dicembre 2014
Ing. Francesco Florio – http://www.francescoflorio.info - me@francescoflorio.info
Q&A