La revue de presse hebdomadaire des écosystèmes Java/JEE proposée par Xebia.
Agilité
Management agile : le retour d’expérience de Viadeo
Sous ce titre un peu ronflant se cache une très synthétique présentation de l’équipe mobile chez Viadeo.
La première chose à retenir de cet article est sa source : un site grand public, les Echos en l’occurrence, propose un zoom sur deux concepts : le management participatif et le story mapping, photos à l’appui.
Rien de nouveau sous le soleil… On notera quand même la conclusion, je cite « Preuve s’il en est que – dans ce cas-là – le management agile a porté ses fruits. »
Agilequote
« If you want a guarantee, buy a toaster. » by Clint Eastwood
Quel est le rapport entre Client Eastwood, Henrik Kniberg, Albert Einstein, Mary Poppendieck, Winston Churchill et Sherlock Holmes?
Aucun ? Et bien si… le site Agile Quotes !
Ce site un peu décalé regroupe en toute simplicité des citations venant de différents univers et qui illustrent parfaitement certains concepts et problèmes inhérents à l’agilité.
Vous manquez d’arguments ? Utilisez une citation d’une personne célèbre !
Mobilité
Améliorer son classement sur l’App Store : Changez le titre et les mots clés de vos applications régulièrement
On est tous d’accord, prédire le classement d’une application sur l’App Store est loin d’être une science exacte, surtout depuis le nouvel algorithme cet été. Cet article vous donne quelques techniques pour tenter d’améliorer celui de vos applications. Vous serez invités à jouer sur les mots clés pertinents les plus tendances, pour les inclure dans le titre et les mots clés de votre propre application.
Les nouvelles apps iOS doivent être optimisées pour iOS 7 à partir du 01/02/2013
Il y a quelques jours, Apple a annoncé qu’à partir du 1er février 2014, les applications soumises (mises à jour ou nouvelles apps) devront être optimisées pour iOS 7. Les applications devront donc être compilées avec Xcode 5 et le SDK iOS 7 afin de pouvoir passer le processus de validation.
Sortie d’AndroidAnnotations 3.0
Après un an d’attente (depuis la version 2.7), la dernière version stable d’AndroidAnnotations vient de sortir et nous propose toujours plus d’annotations permettant de simplifier et d’accélérer le développement pour Android.
La liste de tous les changements apportés par cette version 3.0 est affichée dans les release notes.
Web
Binding des données en lecture seule avec Angular
Par défaut, les directives d’angular considèrent que l’ensemble des élements « bindés » dans le model doivent être « observés ». C’est à dire qu’à chaque modification de la vue, les éléments bindés sont réevalués pour voir si des changements se sont produits. Dans de nombreux cas, par exemple des tableaux, ces données sont en lecture seule, et donc leur réevaluation est inutile, et peut influer sur la performance de votre application dans le cas de grands tableaux, ou de liste a scrolling infini.
BindOnce est un projet hébergé sur github qui définit un ensemble de directives qui évalue l’élément une fois pour tout, et donc ne le rajoute pas dans la liste des éléments observés.
Le futur des MVCs JavaScript ?
Ce très intéressant article nous montre une autre façon de développer une application sur le browser (qui peut surprendre face aux MVC JS comme Backbone ou Angular). La librairie Om basée sur la librairie UI React de Facebook et Clojurescript veut offrir un niveau d’abstraction important tout en rendant obsolète tout un ensemble d’optimisations manuelles et fastidieuses.
React évite de lier directement les mises à jour du modèle et de la vue. Les mises à jour du modèle demandent à faire un rendu futur par l’intermédiaire de requestAnimationFrame. React évite de modifier et faire des requêtes en permanence sur le DOM ce qui est un goulet d’étranglement en terme de performance. En fait React ne met à jour le DOM du browser uniquement quand son DOM virtuel est différent. L’utilisation des librairies immuables de Clojurescript, malgré le coût en mémoire de génération d’objet, permet d’optimiser ce diff entre deux structures de données en le transformant en une simple comparaison de référence mémoire. En fait ClojureScript permet de booster les performances de React (peut être au prix d’un coût mémoire supérieur ?) ce qui rend les benchmarks de l’application TodoMVC bien meilleure que Backbone (pourtant considéré comme un des frameworks JS le plus rapide).
Si vous voulez creusez, il y a même un tutorial ici: https://github.com/jalehman/react-tutorial-om
Le coin de la technique
Ecrivez vos CLI’s en toute simplicité avec Airline
Il existe dans l’écosystème Java un grand nombre de framework permettant d’écrire des interfaces en ligne de commande, le plus connu et le plus utilisé étant sûrement le projet Apache Commons CLI. Bien qu’il s’agisse d’une implémentation solide, son principal défaut est qu’il nécessite l’écriture de glue-code et ne permet pas aisément la création de sous-commandes. Parmi les alternatives, le projet Airline se démarque par sa simplicité d’usage et sa faculté à parser des commandes complexes à la Git-like.
Airline se base essentiellement sur les annotations Java afin de rendre les commandes, les options, et les arguments claires et concis à écrire. Il oblige entre autres les développeurs à encapsuler et isoler leurs commandes et sous-commandes dans des sous-classes évitant ainsi le fameux syndrome de la bonne vieille méthode main() appelant des sous-fonctions par commande. En plus de cela, Airline fournit un système d’aide entièrement automatisé qui génère des man-page à partir des annotations.
Des exemples sont disponible dans le readme du projet: https://github.com/airlift/airline