Bonnes pratiques
Développement
Android
Fouomene Pewo Daniel Rene
www.freelancertech.net
www.facebook.com/pages/FreelancerTech/822357474482862
www.twitter.com/FREELANCERTECH (@FREELANCERTECH)
Une équipe d’expert...
• Architecture
• Nommage
• La mémoire
• Générale
• Librairies
• Références
Plan
www.freelancertech.net
www.freelancertech.net
Architecture (Structure d'un projet)
Projet Ant & Eclipse ADT Gradle & Android Studio
[1]
Architecture (packages java)
Bien packager les
sources par type
de classe
www.freelancertech.net
[1]
Nommage (Java)
• classes, enum, interface sont en CamelCase : MaClasse
• Les noms de variables doivent commencer par une m...
Nommage (Java)
www.freelancertech.net
[2]
Nommage (Android)
• Préfixer le nom du fichier de ressource par le type de layout :
activity_main ; fragment_list_etudiant...
Nommage (Android)
Toutes les chaînes
de caractères
doivent être
définies dans le
fichier
“res/values/strings.x
ml”
Utilise...
www.freelancertech.net
Nommage (Android)
Evitez d'avoir une
hiérarchie trop profonde
de vues
http://stackoverflow.com/ques...
Nommage (Android)
Il ne devrait avoir rien d'autre à part des correspondances
entre un nom de couleur dans colors.xml
Faci...
La mémoire (Java)
• Utiliser au maximum les types Primitifs
• Éviter les effets d’AutoBoxing
www.freelancertech.net
[3]
La mémoire (Java)
• Utiliser les SparseArray pour éviter les effets d’AutoBoxing
www.freelancertech.net
[3]
La mémoire (Java)
www.freelancertech.net
[3]
La mémoire (Java)
• Eviter les instanciations aux maximums
Utiliser les
variables
statiques
www.freelancertech.net
[3]
www.freelancertech.net
La mémoire (Java)
• Eviter les instanciations aux maximums
• Mettre en œuvre le Design pattern Obje...
La mémoire (Java)
• Eviter les instanciations aux maximums
Mettre en œuvre
le Design
pattern
VIEWHOLDER
(réutilisation des...
La mémoire (Java)
• Eviter les instanciations aux maximums
Mettre en œuvre
le Design
pattern
VIEWHOLDER
(réutilisation des...
La mémoire (Java)
• Eviter les instanciations aux maximums
Mettre en œuvre
le Design
pattern
VIEWHOLDER
(réutilisation des...
Générales
• Toujours avoir des
images sous
différents formats
selon le type d'écran
de mobile cible
• hdpi
• ldpi
• mdpi
•...
Générales
Utiliser des fragments pour
représenter une interface
graphique
www.freelancertech.net
Générales
• Ne pas bloquer l’UI THREAD
www.freelancertech.net
[3]
www.freelancertech.net
Générales
• Economie d’image : Draw9Patch
SDK sdk/tools
Librairies
• Gson ( https://github.com/google/gson )
www.freelancertech.net
Librairies
• Retrofit (http://square.github.io/retrofit/ )
Librairies
• ActiveAndroid (http://www.activeandroid.com/ )
user.save();
INSERT INTO Users (Nickname, Name,Address, City, ...
Librairies
• Picasso (http://square.github.io/picasso/ )
• Mint Splunk (https://mint.splunk.com/ )
• Doodles Archive Open ...
Références
• [1] https://github.com/futurice/android-best-practices/blob/master/translations/French/README.fr.md
• [2] htt...
Questions
www.freelancertech.net
Bonnes pratiques développement android
Prochain SlideShare
Chargement dans…5
×

Bonnes pratiques développement android

163 vues

Publié le

Bonnes pratiques et méthodes pour le développement sur Android ; Collectées ici et là à travers différentes conférences, lectures et pratiques du développement android.

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
163
Sur SlideShare
0
Issues des intégrations
0
Intégrations
23
Actions
Partages
0
Téléchargements
16
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Bonnes pratiques développement android

  1. 1. Bonnes pratiques Développement Android Fouomene Pewo Daniel Rene www.freelancertech.net
  2. 2. www.facebook.com/pages/FreelancerTech/822357474482862 www.twitter.com/FREELANCERTECH (@FREELANCERTECH) Une équipe d’experts dans leur domaine technologique qui ont décidé de se mettre ensemble pour offrir leurs services en fonction de leurs disponibilités, www.freelancertech.net www.freelancertech.net
  3. 3. • Architecture • Nommage • La mémoire • Générale • Librairies • Références Plan www.freelancertech.net
  4. 4. www.freelancertech.net Architecture (Structure d'un projet) Projet Ant & Eclipse ADT Gradle & Android Studio [1]
  5. 5. Architecture (packages java) Bien packager les sources par type de classe www.freelancertech.net [1]
  6. 6. Nommage (Java) • classes, enum, interface sont en CamelCase : MaClasse • Les noms de variables doivent commencer par une minuscule : boutonBleu • Les noms de fonctions doivent être explicites. Nous devons savoir ce que fait une fonction sans même lire le code : afficherListeEtudiantsParNom() • Les variables de type public static final doivent être en majuscules : public static final String MON_NOM_DE_VARIABLE_STATIC_FINAL; • Commenter chaque function, classe, interface avec la notation de la javadoc www.freelancertech.net [2]
  7. 7. Nommage (Java) www.freelancertech.net [2]
  8. 8. Nommage (Android) • Préfixer le nom du fichier de ressource par le type de layout : activity_main ; fragment_list_etudiant ; item_student_name • Organisation des fichiers XMLs • Un attribut par ligne, indenté d'espaces • android:id toujours en tant que premier attribut • les android:layout_**** toujours en haut après android:id • l'attribut style tout en bas www.freelancertech.net [1]
  9. 9. Nommage (Android) Toutes les chaînes de caractères doivent être définies dans le fichier “res/values/strings.x ml” Utiliser l'attribut textAllCaps dans une TextView www.freelancertech.net [1]
  10. 10. www.freelancertech.net Nommage (Android) Evitez d'avoir une hiérarchie trop profonde de vues http://stackoverflow.com/questions/2762924/j ava-lang-stackoverflow-error-suspected-too- many-views [1]
  11. 11. Nommage (Android) Il ne devrait avoir rien d'autre à part des correspondances entre un nom de couleur dans colors.xml Facile de devoir se répéter et il est difficile de changer une couleur de base www.freelancertech.net [1]
  12. 12. La mémoire (Java) • Utiliser au maximum les types Primitifs • Éviter les effets d’AutoBoxing www.freelancertech.net [3]
  13. 13. La mémoire (Java) • Utiliser les SparseArray pour éviter les effets d’AutoBoxing www.freelancertech.net [3]
  14. 14. La mémoire (Java) www.freelancertech.net [3]
  15. 15. La mémoire (Java) • Eviter les instanciations aux maximums Utiliser les variables statiques www.freelancertech.net [3]
  16. 16. www.freelancertech.net La mémoire (Java) • Eviter les instanciations aux maximums • Mettre en œuvre le Design pattern Object Pool (réutilisation des objets) http://matthieu- brucher.developpez.com/tutor iels/conception/object-Pool/
  17. 17. La mémoire (Java) • Eviter les instanciations aux maximums Mettre en œuvre le Design pattern VIEWHOLDER (réutilisation des objets)
  18. 18. La mémoire (Java) • Eviter les instanciations aux maximums Mettre en œuvre le Design pattern VIEWHOLDER (réutilisation des objets) [3]
  19. 19. La mémoire (Java) • Eviter les instanciations aux maximums Mettre en œuvre le Design pattern VIEWHOLDER (réutilisation des objets) www.freelancertech.net
  20. 20. Générales • Toujours avoir des images sous différents formats selon le type d'écran de mobile cible • hdpi • ldpi • mdpi • xhdpi • xxhdpi http://romannurik.github.io/AndroidAssetStudio/ www.freelancertech.net
  21. 21. Générales Utiliser des fragments pour représenter une interface graphique www.freelancertech.net
  22. 22. Générales • Ne pas bloquer l’UI THREAD www.freelancertech.net [3]
  23. 23. www.freelancertech.net Générales • Economie d’image : Draw9Patch SDK sdk/tools
  24. 24. Librairies • Gson ( https://github.com/google/gson ) www.freelancertech.net
  25. 25. Librairies • Retrofit (http://square.github.io/retrofit/ )
  26. 26. Librairies • ActiveAndroid (http://www.activeandroid.com/ ) user.save(); INSERT INTO Users (Nickname, Name,Address, City, PostalCode, Country)VALUES ('Batman','BruceW','Palisades 21','Gotham','40000','USA'); List<User> users = new Select().from(User.class).execute(); SELECT Nickname, Name,Address, City, PostalCode, Country FROM Users; www.freelancertech.net
  27. 27. Librairies • Picasso (http://square.github.io/picasso/ ) • Mint Splunk (https://mint.splunk.com/ ) • Doodles Archive Open Source (http://freelancertech.net/index.php/nos- solutions/open-source/doodles-archive-un-socle-technique-android-open-source ) Doodles Archive est notre socle technique Android et Open Source développé en suivant les « Best Practices » du développement mobile de manière général et Android en particulier. Il constitue un bon départ pour les développeurs qui souhaitent se lancer dans le développement des applications mobiles sur système Android, www.freelancertech.net
  28. 28. Références • [1] https://github.com/futurice/android-best-practices/blob/master/translations/French/README.fr.md • [2] http://feanorin.developpez.com/tutoriels/android/idiomes/ • [3] https://www.infoq.com/fr/presentations/bonnes-pratiques-developpement-android www.freelancertech.net
  29. 29. Questions www.freelancertech.net

×