Android: Bonnes Pratiques
Patrick Bashizi
VMK | GDG Kinshasa
Contexte
Considérations propres aux
Environnements mobiles en
général.
Pas seulement Android !
Sommaire
• Pourquoi s’intéresser aux bonnes
pratiques?
• Patterns et anti-patterns
• UI & UX
• Performances?
• Qualité?
Intérêt?
• Les applications qui respectent les
patterns sont :
1. Bien notées
2.Sortent du lot
Ex. TED
Comment y arriver ?
• Il suffit de respecter quelques
principes et patterns bien
connus !
La plupart de développeurs ne s’...
Les voici
Du moins les plus
importants 
Design et Ergonomie
1er
Commandement
Android EST Android !
Ne jamais copier/imiter une
autre plateforme mobile
1er
Commandement
• Cela exige de bien différencier
Android des autres plateformes
• Lisez ceci :
http://developer.android....
Android, iOS et
WinPhone7
2ième
Commandement
Evitez les ANR ( Application Not Responding)
2ième
Commandement (suite)
• Pour éviter les ANR :
Exécuter tous les longs calculs dans
un Thread dédié et non dans le UI
...
Bref …
• Ne jamais bloquer le UI Tread
• S’assurer que le UI Toolkit est
uniquement accédé dans le UI
Thread
• Problème : la manipulation des
Thread est une tâche ardue.
• Solutions: - AsyncTask
- IntentService (set it
and forget i...
3ième
Commandement
• Pensez à utiliser les design
patterns.
• Un pattern est une solution
générale à un problème
commun
3ième
Commandement (suite)
• Google a crée des pattern afin
d’établir un langage commun pour le
design des UI.
• Les suivr...
Quelques UI Patterns
Dashboard Layout
Action Bar
Compagnion Widget
Quick Action
4ième
Commandement
• Développez pour différentes tailles
d’écrans !
4ième
Commandement(suite)
• Utilisez le multipane layout
• Tablette et smartphone
• Utilisez les fragments !
5ième
Commandement
TU NE TUERAS PAS LE JAVA !
5ième
Commandement (Suite)
• Apprendre le java !
• Apprendre le bon java; adapté à
l’environnement Android.
• Native first...
Quelques pièges
• Ne jamais utiliser les types non
primitifs quand il ne le faut pas,
jamais!
Integer nb; au lieu de int n...
Anti-pattern
Créer des objets ABUSIVEMENT !!
• Comprendre la machine virtuelle
• L’allocation mémoire
• Nous sommes dans u...
Un pattern
La réutilisation !
Réutilisez, réutilisez, Réutilisez,
réutilisez, Réutilisez, réutilisez,
Réutilisez, réutilis...
La réutilisation !
• Ne faites pas ce copy-
paste de code svp !
• Garder une variable en
mémoire et réutilisez-la au
lieu ...
La réutilisation !
• Design Pattern Singleton
• Design Pattern Factory
• Encapsulation
• Etc
Plus que jamais d’actualité!
Les membres statics sont les
bienvenus
Préferez les variables statiques aux
variables temporaires
• Evitez les set/ getter...
Il y a « Layout » et
« Layout »
• Utilisez GridLayout
• Utilisez RelativeLayout
• Utilisez Layout Merge
Hierarchy Viewer !!
6ième
Commandement
Tu respectera l’Afrique
(les connexions très lentes)
6ième
Commandement (suite)
• Concevoir pour les connexions
lentes !
• Cache
• Chargement convivial des
données
7ième
Commandement
Ne pas bouffer la battérie ( le
courant peu partir )
7ième
Commendement
• Les meilleurs consommateurs de
la batterie :
Processeur
Radio (Pas FM )
8ième
Commandement
• Utiliser Crash report pour votre
application Android
ACCRA
Q/A
Prochain SlideShare
Chargement dans…5
×

Android Bonnees pratiques

1 615 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

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

Aucune remarque pour cette diapositive

Android Bonnees pratiques

  1. 1. Android: Bonnes Pratiques Patrick Bashizi VMK | GDG Kinshasa
  2. 2. Contexte Considérations propres aux Environnements mobiles en général. Pas seulement Android !
  3. 3. Sommaire • Pourquoi s’intéresser aux bonnes pratiques? • Patterns et anti-patterns • UI & UX • Performances? • Qualité?
  4. 4. Intérêt? • Les applications qui respectent les patterns sont : 1. Bien notées 2.Sortent du lot Ex. TED
  5. 5. Comment y arriver ? • Il suffit de respecter quelques principes et patterns bien connus ! La plupart de développeurs ne s’y intéressent pas ; c’est drôle !
  6. 6. Les voici Du moins les plus importants 
  7. 7. Design et Ergonomie
  8. 8. 1er Commandement Android EST Android ! Ne jamais copier/imiter une autre plateforme mobile
  9. 9. 1er Commandement • Cela exige de bien différencier Android des autres plateformes • Lisez ceci : http://developer.android.com/docs/desig l
  10. 10. Android, iOS et WinPhone7
  11. 11. 2ième Commandement Evitez les ANR ( Application Not Responding)
  12. 12. 2ième Commandement (suite) • Pour éviter les ANR : Exécuter tous les longs calculs dans un Thread dédié et non dans le UI (main) Thread! - Access réseau - Access aux BD - Tous long calcul
  13. 13. Bref … • Ne jamais bloquer le UI Tread • S’assurer que le UI Toolkit est uniquement accédé dans le UI Thread
  14. 14. • Problème : la manipulation des Thread est une tâche ardue. • Solutions: - AsyncTask - IntentService (set it and forget it)
  15. 15. 3ième Commandement • Pensez à utiliser les design patterns. • Un pattern est une solution générale à un problème commun
  16. 16. 3ième Commandement (suite) • Google a crée des pattern afin d’établir un langage commun pour le design des UI. • Les suivre assure que votre application s’adapte à l’ écosystem Android • Votre app semblera « naturelle » à l’utilisateur (mon vieux père) .
  17. 17. Quelques UI Patterns
  18. 18. Dashboard Layout
  19. 19. Action Bar
  20. 20. Compagnion Widget
  21. 21. Quick Action
  22. 22. 4ième Commandement • Développez pour différentes tailles d’écrans !
  23. 23. 4ième Commandement(suite) • Utilisez le multipane layout • Tablette et smartphone • Utilisez les fragments !
  24. 24. 5ième Commandement TU NE TUERAS PAS LE JAVA !
  25. 25. 5ième Commandement (Suite) • Apprendre le java ! • Apprendre le bon java; adapté à l’environnement Android. • Native first !
  26. 26. Quelques pièges • Ne jamais utiliser les types non primitifs quand il ne le faut pas, jamais! Integer nb; au lieu de int nb; car 666 devient new Integer(666) !!!
  27. 27. Anti-pattern Créer des objets ABUSIVEMENT !! • Comprendre la machine virtuelle • L’allocation mémoire • Nous sommes dans un environnement à faibles ressources !
  28. 28. Un pattern La réutilisation ! Réutilisez, réutilisez, Réutilisez, réutilisez, Réutilisez, réutilisez, Réutilisez, réutilisez.
  29. 29. La réutilisation ! • Ne faites pas ce copy- paste de code svp ! • Garder une variable en mémoire et réutilisez-la au lieu d’en créer une à chaque fois.
  30. 30. La réutilisation ! • Design Pattern Singleton • Design Pattern Factory • Encapsulation • Etc Plus que jamais d’actualité!
  31. 31. Les membres statics sont les bienvenus Préferez les variables statiques aux variables temporaires • Evitez les set/ getters internes ! • Utiliser static final pour les constantes
  32. 32. Il y a « Layout » et « Layout » • Utilisez GridLayout • Utilisez RelativeLayout • Utilisez Layout Merge Hierarchy Viewer !!
  33. 33. 6ième Commandement Tu respectera l’Afrique (les connexions très lentes)
  34. 34. 6ième Commandement (suite) • Concevoir pour les connexions lentes ! • Cache • Chargement convivial des données
  35. 35. 7ième Commandement Ne pas bouffer la battérie ( le courant peu partir )
  36. 36. 7ième Commendement • Les meilleurs consommateurs de la batterie : Processeur Radio (Pas FM )
  37. 37. 8ième Commandement • Utiliser Crash report pour votre application Android ACCRA
  38. 38. Q/A

×