30
Bonnes pratiques Développement Android Fouomene Pewo Daniel Rene www.freelancertech.net

Bonnes pratiques développement android

Embed Size (px)

Citation preview

Page 1: Bonnes pratiques développement android

Bonnes pratiques

Développement

Android

Fouomene Pewo Daniel Rene

www.freelancertech.net

Page 2: Bonnes pratiques développement android

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

Page 3: Bonnes pratiques développement android

• Architecture

• Nommage

• La mémoire

• Générale

• Librairies

• Références

Plan

www.freelancertech.net

Page 4: Bonnes pratiques développement android

www.freelancertech.net

Architecture (Structure d'un projet)Projet Ant & Eclipse ADT Gradle & Android Studio

[1]

Page 5: Bonnes pratiques développement android

Architecture (packages java)

Bien packager les

sources par type

de classe

www.freelancertech.net

[1]

Page 6: Bonnes pratiques développement android

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]

Page 7: Bonnes pratiques développement android

Nommage (Java)

www.freelancertech.net

[2]

Page 8: Bonnes pratiques développement android

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]

Page 9: Bonnes pratiques développement android

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]

Page 10: Bonnes pratiques développement android

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]

Page 11: Bonnes pratiques développement android

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]

Page 12: Bonnes pratiques développement android

La mémoire (Java)

• Utiliser au maximum les types Primitifs

• Éviter les effets d’AutoBoxing

www.freelancertech.net

[3]

Page 13: Bonnes pratiques développement android

La mémoire (Java)

• Utiliser les SparseArray pour éviter les effets d’AutoBoxing

www.freelancertech.net

[3]

Page 14: Bonnes pratiques développement android

La mémoire (Java)

www.freelancertech.net

[3]

Page 15: Bonnes pratiques développement android

La mémoire (Java)

• Eviter les instanciations aux maximums

Utiliser les

variables

statiques

www.freelancertech.net

[3]

Page 16: Bonnes pratiques développement android

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/

Page 17: Bonnes pratiques développement android

La mémoire (Java)

• Eviter les instanciations aux maximumsMettre en œuvre

le Design

pattern

VIEWHOLDER

(réutilisation des

objets)

Page 18: Bonnes pratiques développement android

La mémoire (Java)

• Eviter les instanciations aux maximums

Mettre en œuvre

le Design

pattern

VIEWHOLDER

(réutilisation des

objets)

[3]

Page 19: Bonnes pratiques développement android

La mémoire (Java)

• Eviter les instanciations aux maximums

Mettre en œuvre

le Design

pattern

VIEWHOLDER

(réutilisation des

objets)

www.freelancertech.net

Page 20: Bonnes pratiques développement android

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

Page 21: Bonnes pratiques développement android

Générales

Utiliser des fragments pour

représenter une interface

graphique

www.freelancertech.net

Page 22: Bonnes pratiques développement android

Générales

• Ne pas bloquer l’UI THREAD

www.freelancertech.net

[3]

Page 23: Bonnes pratiques développement android

www.freelancertech.net

Générales

• Economie d’image : Draw9Patch

SDK sdk/tools

Page 24: Bonnes pratiques développement android

Librairies

• Gson ( https://github.com/google/gson )

www.freelancertech.net

Page 25: Bonnes pratiques développement android

Librairies• Retrofit (http://square.github.io/retrofit/ )

Page 26: Bonnes pratiques développement android

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

Page 27: Bonnes pratiques développement android

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

Page 28: Bonnes pratiques développement android

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

Page 29: Bonnes pratiques développement android

Questions

www.freelancertech.net

Page 30: Bonnes pratiques développement android