La DroidCon London vu par Android2EE – Second Jour

16
novembre
2013

La DroidCon London vu par Android2EE – Second Jour

Android2EE - Expertise - Formation - Consulting Android
Bonjour à tous,

Continuons le post précédent sur la DroidCon London, nous en étions au second et dernier jour. Et là, toutes les conférences que j’ai vues étaient excellentes. Alors c’est parti:

Vendredi:
1 It’s Holo time [STEPHAN BRUNNER]
[http://skillsmatter.com/podcast/os-mobile-server/its-holo-time]
Première conférence du matin dédiée à nous démontrer qu’il faut utiliser la librairie HoloEveryWhere. Ok, j’étais de toute façon d’accord et Stephan était en forme. Les arguments les plus forts (en anglais):

Holo reduce interfaces to essential (réduit l’interface utilisateur à l’essentiel) Holo put useless deco out (épure la décoration inutile) Holo spotlight the content (met le contenu en lumière) Holo simplify the user experience (simplifie l’expérience utilisateur)

Bref, utilisez Holo.
[Ressources pour HoloEveryWhere:https://github.com/Prototik/HoloEverywhere]

2 Responsive Design For Android [JUHANI LEHTIMAKI]
[http://skillsmatter.com/podcast/os-mobile-server/responsive-design-for-android]
Excellente conférence, si vous avez l’occasion de voir ce speaker, n’hésitez pas une seconde, c’est juste un super moment que vous allez passer. Juhani nous a parlé de comment penser le Design d’une application en nous donnant des exemples et des bonnes pratiques:

Son premier message, il faut que designer et développeur travaille ensemble, « main dans la main ». Ensuite, une application Android ce n’est pas une application dont on cible 4 tailles (small, medium, large, xlarge) mais une application qui puisse s’adapter à toutes les tailles entre small et xlarge. En termes de Design, il vaut mieux commencer par designer le xlarge puis réduire les écrans. La navigation dépend de la taille de l’écran, une navigation pour un écran small n’est pas forcement pertinente pour un écran xlarge ListView can be GridView (ListView n’est qu’un GridView à une colonne) Utilisez les Cards/Boxes (allez voir cardslib de Gabriele Mariotti [https://github.com/gabrielemariotti/cardslib]) Utilisez les fragments, l’actionBar, eventBus ou otto, et la supportLib (surtout, partout)

3 Gradle Workshop [JUHANI LEHTIMAKI]
[http://skillsmatter.com/podcast/os-mobile-server/gradle-workshop]
J’ai adoré cette conférence. Je ne m’étais pas encore vraiment penché sur le nouveau système de build Android et j’avais bien tort. Cette conférence m’a subjugué sur la puissance de Gradle et sa parfaite adaptation aux besoins des builds Android. On peut structurer son code en fonction des « saveurs » (version de prod/de développement, version payante, gratuite, freemium…, version x86, AMD) ce qui peut faire une belle matrice. Et tout est géré par Gradle. La démonstration a été faite avec AndroidStudio qui paraît avoir une intégration de Gradle exceptionnelle.
C’est la conférence pour s’y mettre si vous avez à gérer un produit avec plusieurs déclinaisons.

4 Faster with Square Open Source Projects [PIERRE-YVES RICAU]
[http://skillsmatter.com/podcast/os-mobile-server/ship-faster-with-open-source-from-square]
Pierre-yves, après avoir mis en place AndroidAnnotations, s’est fait embaucher par Square cette année. Il est donc au coeur des projets open-sources de Square qui sont tous des projets exceptionnels et très bien désignés avec pour objectif d’améliorer la qualité de vos applications et la vie des développeurs Android. Ainsi Pierre-Yves nous a présenté les librairies suivantes:

Dagger pour l’injection des dépendances (aussi nommé inversion of control) qui permet de mettre en place ce principe au sein de nos applications, en faciliter le développement et en simplifier l’architecture générale. A noter: Il résout les dépendances à la compilation et génère le code à ce moment-là. Otto pour la mise en place d’un bus évènementiel au sein de votre application. Cela va juste révolutionner votre façon de structurer vos applications; faire communiquer vos composants entre eux sans Intent et sans pour autant rompre les dépendances entre les couches.(Note de moi: Pour info, il y a aussi la librairie EventBus). RoboElectric pour les Tests et un comportement plus réel lors des appels des méthodes systèmes. RetroFit pour vos requêtes REST et plus généralement votre communication HTTP. C’est un concurents direct et aussi valable que Volley. Si vous n’avez pas de framework pour votre communication HTTP, juste utilisez-le, vous serez agréablement surpris et enchanté par sa simplicité d’utilisation et son aboutissement technique Picasso pour la gestion du téléchargement de vos images (en particulier pour les listView qui affichent des images téléchargées via HTTP). On peut demander le chargement d’images à une taille spécifique (via l’option BitmapFactory.Option), annuler le téléchargement, mettre à jour les ImageView dès que l’image est téléchargée. Une belle librairie. Et enfin, HTTPOk qui vous permettra d’avoir, quelle que soit la version du système Android, un protocole HTTP fiable (Apache HTTP, URLConnection corrigés, améliorés et chargés en fonction de la version du système).Il se lie facilement aux frameworks précédents et permet une nette amélioration de vos communications HTTP

Merci à Square pour ces librairies et @piwai pour la présentation de ces frameworks.
[http://square.github.io/]
[https://github.com/square]

4 Android Security: Defending Your Users [Mark Murphy]
[http://skillsmatter.com/podcast/os-mobile-server/android-security-defending-your-users]
Je sais pas vous, mais pour moi, Mark Murphy, c’est une star. J’ai appris à programmer sur Android avec son livre (et d’autres) et là je l’ai vu en live. Bon, c’est un américain. Il est là pour vendre son produit SQLCipher qui est une base de données encryptée avec une Api haut niveau pour les développeurs Android que nous sommes. J’ai été convaincu par sa solution mais je la trouve lourde (taille de la BD vide 7Mo sur ARM et 9 Mo sur x86). Ce qui veut dire que si je gère dans mon application des données confidentielles à mon utilisateur je l’utiliserai, si c’est juste pour ses high-scores, non. Ainsi Mark nous a parlé de sécurité, du pourquoi (NSA, Prism,…) et du comment. Et pour le comment il a commencé avec un constat simple 90% des développeurs qui essaient d’utiliser les librairies de cryptographie se plantent… Du coup, effectivement sa solution est juste parfaitement adaptée à nos besoins. J’ai adoré sa conférence.
Pour plus de liens vers les différentes ressources de M. Murphy, c’est sur SlideShare et gitHub:
[http://fr.slideshare.net/commonsguy?utm_campaign=profiletracking&utm_medium=sssite&utm_source=ssusersearch]
[https://github.com/commonsguy]

5 Mastering Android Drawable [Cyril Mottier]
[http://skillsmatter.com/podcast/os-mobile-server/mastering-android-drawables]
Conférence très agréable de Cyril qui nous plonge dans le monde des Drawables et de leurs secrets. Je ne vais pas creuser plus en espérant vous donner envie d’aller voir sa conférence (ou ses slides), mais si vous vous demandiez comment les Drawables sont gérés, créés, structurés et chargés, comment les utiliser, cette conférence est faite pour vous. Et moi, j’ai adoré l’exemple en fin de conférence sur comment lancer proprement une activité pour être le plus smooth possible en utilisant juste un LayerDrawable. L’exemple de CapitainTrain. Comme d’habitude, c’était une super conférence, très instructive et poussée sur les Drawables.
Retrouver les conférences et projets de Cyril:
[https://speakerdeck.com/cyrilmottier]
[https://github.com/cyrilmottier]

6 Awesomeness Check List [TAYLOR LING]
[http://skillsmatter.com/podcast/os-mobile-server/awesomeness-check-list]
Encore une conférence où nos yeux se mettent à briller en écoutant Taylor qui nous explique la différence entre une bonne, une super et une awesome (impressionnante) application. Il énumère les points clefs d’une application exceptionnelle et en explique le pourquoi du comment avec tout un tas d’exemples plus choisis les uns que les autres:

Animations: Amènent plus d’informations, de compréhension. Les animations sont déjà connues par les utilisateurs, ils savent ce qu’elles représentent (suppression, ajout,…) Haptic Feedback: « I touch the screen something happens » et on n’oublie pas de laisser assez d’espace pour les doigts. Dialoguer avec les utilisateurs: les fenêtres de dialogues; permettre d’interagir si possible. ProgressBar (indicateur de chargement…); très bien mais non bloquant et aussi ne pas oublier d’indiquer à l’utilisateur un work around si quelque chose se passe mal (il appréciera). L’aide: Votre utilisateur a besoin de votre aide! Des tutos rapides (utiliser showcase), permettez l’ »undo » et le « skip ». Fournissez une section d’aide(s) en offline via le menu. Si l’action est critique toujours afficher un message de confirmation (ou un undo quand c’est possible). Gesture: Un nouveau monde vous attend et s’ouvre à vous « just explore gestures » et utilisez celles qui sont devenues naturelles (pinch,..) Les mythes urbains des développeurs:
(1)Les utilisateurs vont toujours changer leur préferences [Faux].
95% Des utilisateurs ne changent jamais leurs préférences=> Soyez très attentifs à vos « Default settings » car ils ne seront probablement pas modifiés par vos utilisateurs.

(2)Les utilisateurs n’apprennent jamais[Faux].
Consistance, cohérence et familiarité marchent.

(3)Les utilisateurs n’ont pas de patience[Faux].
Les utilisateurs patientent quand cela vaut le coût et qu’on leur explique l’état d’avancement réel et des problèmes rencontrés de la tache en cours d’exécution.

(4)Les utilisateurs ne savent jamais ce qu’ils veulent[Faux].
Ils ne savent pas comment faire mais ils savent ce qu’ils veulent faire.

J’ai pris beaucoup de plaisir à écouter Taylor nous raconter ces pensées en les agrémentant d’anecdotes personnelles.

7 App To App: Designing Local APIs [TY SMITH]
[http://skillsmatter.com/podcast/os-mobile-server/app-to-app-designing-local-apis]
Pour finir la journée, Ty nous a raconté comment EverNote faisait pour interagir avec les applications tierces. Quelles étaient leurs stratégies, leurs bonnes pratiques (utilise le file system, les intents, contentProvider, les Account Manager, AIDL, RPC calls,…). C’était une conférence instructive sur le partage d’expérience.

Et voilà, c’était finie pour cette année. Beaucoup de conférences exceptionnelles, de bonnes humeurs et d’Android. J’ai adoré cette édition, à l’an prochain sûrement.

[Pour plus de renseignements sur la DroidCon London :http://skillsmatter.com/live/droidcon-2013]

Les prochaines formations Android d’Android2EE:
Paris:
Du 18 au 22 Novembre à Paris, Formation complète
Du 20 au 24 Janvier à Paris, Formation complète
Du 10 au 14 Mars à Paris, Formation complète
du 7 au 11 Avril à Paris, Formation complète
Et du 16 au 20 Juin à Paris, Formation complète

Lyon:
Du 24 au 28 février à Lyon, Formation Complète

Toulouse:
Du 27 au 31 Janvier à Toulouse, Formation Complète
Du 17 au 21 Mars à Toulouse, Formation Complète
Du 19 au 23 Mai à Toulouse, Formation Complète

[Pour plus de renseignements sur les formations Android2EE: http://www.android2ee.com/fr/formations-android/formation-complete]

A bientôt.

Mathias Séguy
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.

Fondateur Android2EE
Formation – Expertise – Consulting Android.
Ebooks pour apprendre la programmation sous Android.
AndroidEvolution

Retrouvez moi sur Google+
Suivez moi sur Twitter
Rejoignez mon réseau LinkedIn ou Viadeo

Original author: MathiasSeguy