Deux bibliothèques Android intéressantes lundi soir dernier à la PAUG: Polaris et RoboSpice

Bonjour,

Lundi dernier à la PAUG (Paris Android User Group) ont eu lieu 2 présentations intéressantes. Deux bibliothèques qui facilitent le développement Android, au niveau des MapView (Polaris), et des requêtes Http(RoboSpice).

Polaris

La première présentation était sur la bibliothèque Polaris. Elle permet d’ajouter quelques fonctionnalités intéressantes sur la MapView.
Parmi ces fonctionnalités il y a surtout la possibilité d’ajouter des pins, et des bulles très facilement.

Il est intéressant d’observer le fonctionnement de ces bulles. En effet, ces bulles ont une ancre à position variable,cela permet d’afficher une bulle sans déplacer la carte, ce qui peut être déplaisant pour l’utilisateur.
D’autres fonctionnalités sont intéressantes, comme le double tap pour zoomer, la géolocalisation etc…

RoboSpice

La deuxième présentation était sur un framework java, qui est pour moi un des plus prometteurs.
Ce framework nommé RoboSpice permet de faire des requêtes HTTP de manière asynchrone, tout en gérant correctement le cycle de vie des activités.
Il se base non pas sur les AsyncTask, ni sur les Loader mais sur les services Android.

Il est ainsi possible de lancer des requêtes, faire pivoter l’écran et récupérer le résultat de la requête précédemment lancée. Ou même de récupérer le résultat dans l’activité suivante.
Le framework intègre un système de cache fichier, mais aussi éventuellement de cache en base de données avec ORMLite.

Une superbe infographie ici permet d’avoir un bref aperçu du fonctionnement de RoboSpice.

Pour effectuer la requête HTTP, le développeur est libre d’utiliser la méthode de son choix, DefaultHttpClient, HttpURLConnection ou des librairies comme SpringAndroid.
Une future évolution serait de pouvoir plugger le Google Http Client.

Pour parser le résultat, on peut plugger des bibliothèques comme JacksonParser ou SimpleXML.

Parmi les autres points intéressants ont peut parler de ceux ci:

  • Ce framework n’oblige en aucun cas un quelconque héritage de vos Activity
  • Vos données sont toujours fortement typées. Vous utilisez uniquement vos objet métier et non des Cursor
  • Le framework est testé avec toutes une séries de tests unitaires

Ce framework a l’air très intéressant. Il manque encore quelques fonctionnalités à mon gout comme la possibilité de configurer différentes stratégies de cache comme:

  • Lire d’abord le cache et le réseau ensuite
  • lire d’abord le réseau et si échec afficher les données du cache
  • etc…

Je ne sais pas s’il y a la possibilité de définir une taille max pour le cache.
Il serait peut être intéressant également de pouvoir définir une répétition des requêtes HTTP en cas d’erreur.

Un autre point négatif est la dépendance obligatoire de la bibliothèque GUAVA qui fait tout de même près de 1Mo.

Rendez vous à la prochaine PAUG.