You Are Here: Home » Actualités » Outils pour le développement Android

Outils pour le développement Android

Dans ce petit article on va essayer de partager avec vous les outils qui nous sembles indispensables Pour développer sous Android et quelques librairies qu’on  utilise souvent.

1-Android Studio

Sans doute l’un des meilleurs IDE pour développer sous Android il est maintenu par Google et il s’y trouve toujours des petites/grandes releases, très ergonomique et très performant il contient également de plus en plus de plugins. En parlant de plugins j’en ai quelques-uns à vous recommander :

  • KeyPromoter C’est un outil qui a pour but de vous aider à memoriser les raccourcis clavier en les affichant à chaque fois que vous le faites avec la souris ceci facilite enormement la mémorisation des raccourcis.
  • Grep Console Ceci vous permet de personnaliser la console lors du debugage (colorier en fonction d’une expression etc.) celà nous facilite à retrouver les traces que l’on souhaite en leur donnant une couleur spéciale.
  • String manipulation Celà vous aide a manipuler les noms de vos variables facilement (camel case, tout en majuscules etc)
  • Genymotion C’est un plugin qui permet de lancer l’emulateur genymotion, nous verrons ce que c’est dans le paragraphe suivant.

 

2-Genymotion

Genymotion se veut être un emulateur rapide facile a configurer et contient pas mal de fonctionnalités, bien evidemment, le meilleur moyen de tester ses applications est un vrai mobile mais si jamais vous ne l’avez pas en votre possession, je vous recommande genymotion pour sa performance et la facilité de sa configuration (il y a une version gratuite, il suffit de vous inscrire pour l’avoir :))

3-Librairies Tierces

Bien que je sois assez reticent à l’utilisation des librairies tierces il y en a certaines qui sont quasiment indispensables

1-Retrofit C’est une librairie réseau, elle est facile à utiliser, bien documentée et surtout pratique pour les appels REST.

2-Rx Java Pour ceux qui veulent faire des applications asynchrones cette librairie est presque indispensable, que ca soit pour des requetes vers la database, appels reseaux, tout peut etre gerer de maniere asynchro avec RxJava, vous pouvez oublier les vieux AsyncTask.(on aura un article avec des exemples sur cette librairies).

3-EventBus Hyper pratique pour faciliter les communications entre Fragment Activity Service etc. C’est le meme principe que celui du pattern observable! (meme si on arrive a faire la meme chose avec RxJava raison qui explique pourquoi certains developeurs commencent a abondonner EventBus)

4-Enfin dryrun Qui permet de tester une librairie très rapidement sans avoir à créer un projet, je trouve celà très pratique.

 

Voici quelques conseils:

1-Pour la structure de vos packages il est mieux d’organiser celà par fonctionnalités et pas par types comme : package pour fragments, package pour activités. Avec ce genre de package un autre developpeur ne saurait pas comment se déroule et s’organise l’application, l’ideal est de découper de la sorte :

1*A-m20R0Qve-eB4ishqZc_Q

 

Là, pour n’importe quelle personne, il est possible de savoir ce que fait chaque package.

2-Il faut savoir aussi qu’il existe plusieurs modèles qui nous permettent d’avoir un code propre et maintenable on peux citer :

  • MVP (Model View Presenter) le principe est simple (sans detaillé ) on a le : Model:represente toute donnée qui va etre affiché que ca soit a partir de la base ou autre
    View: represente l’interface graphique de notre application qui va interagir avec les click de notre cher utilisateur(en occurence, les activité, fragments)
    Presenter: s’agit de l’intermediaire entre le Model et le View en fonction des interaction de l’utilisateur il va recuperer les
    model qu’il faut (il doit etre un code java pur sans aucun code Android ).
    cette architecture a plusieurs avantages dont on peux citer:
    -Separations des preoccupations(Separation of Concern: Soc):Chaque partie doit faire ce dont elle est faite pour (non c’est pas du chinois) je m’explique:les vues(Fragment, Activities, Android Views) sont la pour l’affichage donc en aucun cas un code d’appel reseaux ou autre doit figurer dans ces classes),de la meme les models sont pas pour fournir des données donc en aucun cas on doit voir un code qui gere le click d’un utilisateur ou autre dans ces classes.
    -La flexibilité:supposons que dans notre application on recuperer les données d’une base de donnéé sqlite et puis aprés on decide de recuperer
    les données du cloud, la seul modification a faire dans notre application se fera au niveau de notre model, ni notre presenter, ni nos vues vont
    etre affectés par ce changement.
    -La reutilisabilité:le code dans nos modeles qui fait des appels internet ou autres peut etre reutiliser dans d’autre projets
    vu qu’il fait qu’une tache.

cas ou l’on utilise pas le model MVPinteraction entre données et vues sans l'architecture MVP

cas ou on l’utilise le model MVPa quoi ressemble l'interaction entre vues et données avec l'architecture MVP

 

  • MVVM(Model View ViewModel) : se base principalement sur le dataBinding qui etait presenter dans le Google I/O 2015 la grande difference avec le model MVP est qu’ici le presenter sera remplacé le databinding(on fera un tutoriel specialement sur ca).voici deux images sur la grande difference entre les 2 patterns:

mvp mvvm
3-Architecture de l’oncle Bob:

c’est une architecture sous forme de couches superposés et la couche la plus basse est la couche la plus proche du framework. on fera aussi une intervention détaillé sur cette architecture.

About The Author

Android Programmer

Number of Entries : 6

Leave a Comment

© 2013 Mauriandroid

Scroll to top