Devoxx France 2012 : quelques bonnes pratiques pour le développement Java mobile
Bâtir des applications Web mobiles avec Grails, optimiser son site pour mobile, réalisation d'interfaces Android... Tour d'horizon de la troisième journée.
Keynote : Portrait du Développeur en "The Artist"Bâtir des applications Web Mobiles avec Grails
De l'Open Source à l'Open API avec RESTlet
Le
principe REST a été défini en 2000, juste après la finalisation de la
version 1.1 du protocole HTTP, sur lequel il repose. Pendant une dizaine
d'année, il a eu du mal à s'imposer face à SOAP, mais est aujourd'hui
incontournable. Retournant aux principes de base de l'HTTP, il est
simple et rapide à mettre en place, et également souple car nous avons
le choix dans le format de sortie, dont les principaux sont l'XML et le
Json permettant des optimisations pour le mobile.
Si
les applications mobiles sont à elles seules une cause de l'utilisation
de REST, les sites y trouvent aussi un intérêt certain couplé à Ajax,
dans la réalisation d'applications Web modernes ! Il arrive même que les
APIs soient à elles-seules source de profit pour une entreprise comme
nous le montre Twilio, qui fourni des services de communication "dans le
cloud".
Optimiser son site pour mobile
Romain
Maton présente les concepts de base dans l'optimisation d'un site pour
terminaux mobiles. La première règle qui s'impose, est de ne pas se
limiter à une plateforme ! Ne surtout pas imposer un look&feel
iPhone à lors que le site sera visible sur un Android, Windows Phone,
Blackberry, etc. Malheureusement cette règle loin d'être appliquée.
Un
deuxième point à considérer est qu'Opéra est le navigateur mobile le
plus utilisé. Il ne faut donc pas se contenter par WebKit.
Enfin,
troisième recommandation importante est de laisser la possibilité à
l'utilisateur de repasser en mode "desktop", surtout dans le cas où
toutes les fonctions ne sont pas accessibles sur la version mobile.
Android, Graphisme et performances
Dans
sa conférence, Romain Guy -- lead tech UI du projet Android à Google --
a abordé le sujet des performances liées à l'interface dans une
application Android.
Je retiens tout d'abord la remarque
concernant l'utilisation des AyncTasks : ne pas en abuser ! Certes très
utile pour simplifier l'utilisation des threads couplés à l'UI, la
classe AsyncTask ne doit pas être utilisée pour les traitements trop
long, comme un téléchargement par exemple. De plus, depuis Honeycomb les
AyncTasks sont "sérialisées", et s'exécutent maintenant à l'une après
l'autre.
Un point délicat dans la réalisation d'interfaces Android est d'éviter les imbrications de Layout.
Aussi, dans un LinearLayout il faudra limiter l'utilisation des
layout_weight, trop coûteux, et préférer si possible le GridLayout pour
la réalisation de formulaires.
Il rappelle aussi un
élément peu connu : le ViewStub. Il permet de déclarer l'insertion d'un
layout sans l'inflater dès le début, toujours par souci de performance.
Cet élément sera inflaté si besoin lors de son affichage (passage
d'invisible à visible).
Mais l'ultime recommandation
pour réaliser une interface fluide, c'est de limiter au maximum la
création de nouveaux objets, en particulier dans les ListAdapter.
Il est temps maintenant de retrouver les Cast Codeurs pour finir en beauté cette toute première édition du Devoxx France !
Ambiance détendue à souhait, le bilan du Devoxx est tout simplement excellent. Une organisation frôlant la perfection, des horaires respectées à la seconde près et des passionnés par milliers !
Ces années sont celles de la mobilité, du SoLoMo (Social Local Mobile), des performances et de la fainéantise (ou de la simplicité :) ) ! Alors allons-y maintenant, et n'attendons pas 5 ans pour fournir aux utilisateurs de vraies solutions. Pour changer.
Si je devais résumer Devoxx par une citation, ce serait celle-ci : "Il faut faire aujourd’hui ce que tout le monde fera demain." - Jean Cocteau.