Linux Day 2010 - "Fare impresa con il software libero"
Presentazione del GDG Cosenza
1. Google Developer Group
Presentazione della community Android
per la provincia di Cosenza
Ing. Francesco Florio - floriofrancesco@gmail.com 21 Maggio 2015
2. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
• Ing. Francesco Florio
• Sviluppatore mobile dal 2009
• Co-founder e lead developer di Small Screen Design
fino al 2013
• Designer & Developer freelance prevalentemente su
piattaforma Android dal 2013
• Docente in corsi di formazione su piattaforma Android
per studenti e aziende
• Organizzatore del GDG Cosenza ;)
Mi presento
3. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
• Formazione e confronto costante per la crescita
professionale di uno sviluppatore.
• Diversi eventi di formazione al nord (DroidconIT,
WhyMCA, Codemotion), pochi al sud.
• Al di fuori dagli eventi è più difficile fare networking.
• E’ necessario creare una comunità locale
L’idea di una community Android
4. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
• I tempi sono maturi:
• Forte richiesta di sviluppo Android in Italia e all’estero
• Unical da anni basa su Java il corso di laurea in
Ingegneria Informatica
• Richieste di studenti e professionisti di avere una
comunità Android
• Si può fare rete con diverse associazioni del territorio
• Talent Garden Cosenza
• Girando nei diversi eventi in Italia entro in contatto
con il mondo dei GDG
L’idea di una community Android
5. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
• I GDG sono gruppi di sviluppatori interessati alle
tecnologie di Google
• Rete mondiale presente in 111 nazioni, 650 gruppi e
conta 3.600 eventi negli ultimi sei mesi
• Senza fini di lucro e in partnership con Google
• Propongo l’idea ai responsabili Google per l’Italia e
ricevo il via libera per organizzare il gruppo
Cos’è un GDG
6. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
• Aperto a tutti ma orientato agli sviluppatori
• Concentrato sullo sviluppo Android nativo
• Connesso al network internazionale dei GDG ma
indipendente nelle scelte organizzative
• Orientato alla condivisione della conoscenza
• Online e “offline”
• Gratuito
• Divertente ;)
Il GDG Cosenza
7. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
• Online:
• Sito web ufficiale:
• http://www.gdgcosenza.it/
• Pagina ufficiale di Facebook:
• https://www.facebook.com/gdgcosenza
• Account ufficiale Twitter:
• https://twitter.com/gdgcosenza
• Pagina ufficiale G+:
• https://plus.google.com/+GdgcosenzaIt
• Community G+:
• https://plus.google.com/communities/114602432029504710573
• Directory Google Developers Group (in attivazione):
• https://developers.google.com/groups/directory
• Eventi:
• TAG Cosenza
• Pub & pizzerie
• Unical
Dove si trova il GDG Cosenza
8. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
• Directory ufficiale del GDG Cosenza
• Attiva tra pochi giorni
• Entrando nella sezione del GDG Cosenza si potrà
cliccare su “Sono un membro”
• Pagina G+
• Entrando nella cerchia del GDG Cosenza
• Seguire la pagina Facebook e l’account Twitter per
restare sempre aggiornati sugli eventi
• Cercasi co-organizzatori!
• Cercasi speakers!
Come aderire al GDG Cosenza
9. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
• Incontri mensili (non necessariamente tecnici)
• Blog GDG Cosenza con articoli tecnici dei nostri
membri
• Utilizzo delle pagine Facebook e Google+ per
condividere contenuti interessanti e utili alla
community
• Elenco aggiornato degli sviluppatori Android
• Community di beta tester
I primi progetti già attivi
10. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
• 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
Come iniziare lo sviluppo su Android
11. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
• 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…
Come iniziare lo sviluppo su Android
12. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
• IDE e Tools di sviluppo
• Eclipse non è più supportato
• http://developer.android.com/sdk/installing/migrate.html
Come iniziare lo sviluppo su Android
13. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
• 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/
Come iniziare lo sviluppo su Android
14. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
• 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
Come iniziare lo sviluppo su Android
15. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
• Studia costantemente e resta aderente il più
possibile alle guide-line Android
• Codice scritto 6 mesi fa può avere codice obsoleto
• Non aderire alle guide-line Android può causare comportamenti inattesi
• Non reinventare la ruota
• Molti dei problemi che si affrontano durante lo sviluppo sono comuni alla
maggior parte dei progetti
• Molto probabilmente qualcuno lo ha risolto prima di noi
• Utilizzare librerie terze parti se:
• Sono rilasciate con licenza compatibile con il progetto corrente
• Sono state progettate e realizzate da fonti attendibili (Square, Facebook…)
• Sono ben documentate
• Sono largamente diffuse (saranno disponibili esempi e tutorial oltre alla documentazione
ufficiale)
• Sono mantenute costantemente
Come iniziare lo sviluppo su Android
16. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
• Alcuni esempi
• Gestione immagini:
• Picasso https://github.com/square/picasso
• Glide https://github.com/bumptech/glide
• Fresco http://frescolib.org/
• Consumo API Rest
• Retrofit https://github.com/square/retrofit
• Robospice https://github.com/stephanenicolas/robospice
• Parsing Json
• Gson https://code.google.com/p/google-gson/
• Gestione oggetti Parcelable
• Parceler https://github.com/johncarl81/parceler
• Gestione oggetti POJO (Plain Old Java Object)
• Lombok https://projectlombok.org/
• Gestione eventi asincroni
• RxJava https://github.com/ReactiveX/RxJava
• RxAndroid https://github.com/ReactiveX/RxAndroid
• Uso delle lamba expression su Android
• Retrolambda https://github.com/evant/gradle-retrolambda
Come iniziare lo sviluppo su Android
17. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
Prossimo appuntamento?
Prossimo appuntamento GDG?
Android, Angularjs, Google Cloud Platform, …
18. Evento di presentazione del Google Developer Group Cosenza
21 Maggio 2015Ing. Francesco Florio - floriofrancesco@gmail.com
Q&A