Il y a 13 ans -
Temps de lecture 11 minutes
Revue de Presse Xebia
La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.
Actualité éditeurs / SSII
Agilité
RIA
Le coin de la technique
Actualité éditeurs / SSII
Nokia donne son « Mobile Runtime » Java à la fondation Symbian
Dans un effort de rendre plus accessible le développement d’applications Java pour les mobiles basés sur le système Symbian, Nokia vient d’annoncer, ce 15 juillet, faire don de son « Mobile Runtime for Java Applications » (JRT) à la fondation Symbian (créée en 2008 justement, suite au rachat de Symbian Software Limited). Avec le don de son JRT, Nokia met à disposition pas moins d’1 million de lignes de code Java et C++ correspondant à son runtime, son installeur d’applications, ses API, ses tests et sa documentation. Le tout est mis à disposition sous license Eclipse Public License (EPL) et est disponible comme partie intégrante du dernier Symbian^3 Product Development Kit.
Nokia annonce le support de la norme MIDP 2.1 (JSR 118), ainsi que ses nombreuses JSR, dont l’architecture MSA. Rien de bien nouveau, jusqu’à présent, serait-on tenté de dire. D’un point de vue graphique, la plateforme Symbian^3 apporte le support d’une accélération graphique hardware, ainsi que deux API non standard : la classique Nokia UI API en version 1.4, ainsi qu’une implémentation de l’Eclipse Standard Widget Toolkit (eSWT) UI API en version 1.0.3.
En complément du langage Java, Le SDK Symbian^3 propose d’écrire des applications natives en utilisant le langage C++ et le support intégré du tookit graphique Qt. Un support de développement basé sur les technologies Web est également disponible, il permet de construire des applications basées sur le Nokia’s Web Runtime (WRT) et l’outil PhoneGap, qui permet de tirer parti de différentes fonctionnalités de l’OS habituellement uniquement accessibles par les applications natives.
Pour les curieux, une roadmap de développement permet de se faire une idée des fonctionnalités des futures version de la plateforme.
Quelle stratégie pour Nokia en 2010?
Dès 2008, Nokia avait préparé sa riposte face à la sortie de la plateforme mobile Android de Google. Déjà détenteur de 48% de la société Symbian Limited, Nokia avait racheté les parts restantes auprès de ses concurrents de l’époque (Sony-Ericsson, Panasonic, Siemens, …) pour un montant avoisinant les 250 millions d’euros. Ce rachat qui n’était qu’une première étape devait permettre à Nokia de faire don de la plateforme Symbian à la fondation éponyme. A la même époque les autres acteurs de l’environnement Symbian devaient faire de même: Sony-Ericsson et Motorola devaient, entre autre, fournir la technologie UIQ à la fondation. Le but de la fondation Symbian était donc de créer, à partir de ces différentes contributions, une plateforme mobile unifiée ouverte à la communauté.
En l’espace de 2 ans, le paysage des plateformes mobiles a cependant bien changé: l’iOS d’Apple est devenu un leader emblématique, même s’il commence à se faire disputer le titre par la plateforme Android de Google, tandis que Microsoft tente revenir dans la course pour les fêtes avec son nouveau système Windows Phone 7. En parallèle, de nouveaux acteurs apparaissent tel que Samsung avec son système Bada, ou bien Baidu qui souhaite copier son grand frère Google avec un OS ayant pour ambition de conquérir le marché chinois …
Près de 2 ans après la présentation de sa stratégie pour contrer Google, l’annonce de la sortie de Symbian^3 par Nokia ressemble beaucoup à une tentative désespérée de raccrocher le wagon. Il n’est plus l’heure pour Nokia de redorer son blason, mais plutôt de sauver les meubles dans un secteur où les évolutions se font à coup de bottes de sept lieues. Pour s’en convaincre, il suffit de comparer le paysage des plateformes mobiles aujourd’hui avec celui de 2008. Malgré un parc important d’appareils mobiles déployés et sa communauté de développeurs, Nokia est toujours à la recherche d’un business model efficace. Ses talents d’innovation et de fabricant de combinés haut de gammes semblent être un lointain souvenir tant la concurrence a pris de l’avance rapidement. La stratégie de Nokia est-elle la bonne ? Nokia est en tout cas, aujourd’hui, au pied du mur. Le géant scandinave annonce pour la fin d’année des appareils compatibles avec la toute dernière version de la plateforme Symbian, comme le Nokia N8. Dans un marché en mouvement permanent, cela sera-t-il suffisant ?
Agilité
Cinq pièges à l’adoption des méthodes agiles
Mike Griffiths, blogueur et agiliste travaillant au PMI, nous présente dans son article les Anti-Patterns nuisant à l’adoption des méthodes agiles. Bien que les bénéfices tirés des méthodes agiles ne soient plus à prouver, le passage à l’agilité n’est pas forcément couronné de succès. Nombreux sont les pièges et les digressions dans lesquels on peut tomber. Mike décrit ensuite cinq pièges courants, mais c’est à vous d’identifier les autres selon le contexte de votre projet.
- L’agilité n’est pas un miracle
Oui, l’agilité permet de gagner du temps, d’accroître la valeur métier, et de développer un produit de meilleure qualité. Cependant, ce n’est pas une recette magique, qui va permettre à un projet anémique voué à l’échec d’être un succès. Bien au contraire, vous pourriez arriver encore plus rapidement en situation d’échec, ou au mieux vous en rendre compte avant avec des nouveaux indicateurs.
- L’agilité ne veut pas dire aucune discipline
Certaines personnes ne connaissant pas bien l’agilité ont l’idée reçu que les méthodes agiles font preuves de très peu de discipline, de planification et d’estimation. Les méthodes agiles sont parfois appelées « méthodes légères » par opposition aux anciennes méthodes.
On peut quand même constater de nombreuses cérémonies et activités de haut niveau nécessitant de la discipline, comme: le stand-up daily meeting, le sprint planning, la rétrospective, la démo, etc.
Même si les documents afférents aux cérémonies sont peu nombreux, ils ne sont pas une excuse pour manquer de discipline et éviter de rendre des comptes. Ils contiennent les indicateurs suffisants pour réaliser des plannings, des estimations, etc.
- L’agilité sans aucune explication
Une équipe agile ne travaille pas toute seule en silo. Elle interagit avec d’autres équipes, comme le marketing, l’architecture applicative, etc. Le caractère itératif d’un projet agile peut les perturber. Ainsi, il convient d’expliquer le processus agile aux autres équipes, avant d’arriver à des situations de blocages ou pire de rejets.
- L’importance du feedback client
L’une des contraintes importantes des méthodes agiles est d’avoir le client sur site. Cela permet entre autre d’avoir un feedback régulier au cours d’une itération. La réunion de démonstration a aussi pour rôle d’avoir un retour et une validation du client. Attention, même si le client ne fait pas ou peu de retours, cela ne veut pas pour autant dire que tout va bien et que son réel besoin est satisfait. Au contraire, il peut avoir fait preuve d’inattention. Pour éviter cela, Mike propose des sessions de revue, où le client est assisté par un membre de l’équipe.
- Obsédé par le processus agile
La recherche de l’amélioration du processus agile au sein d’un projet est bonne chose en soi.
Cependant, il ne faut pas tomber dans le cas extrême du scrum master obnubilé par le process et le sur-outillage avec des indicateurs inutiles. Il faut rester pragmatique et garder à l’esprit que l’objectif de l’agilité est de satisfaire le client et répondre à des contraintes business. Il faut donc garder son attention sur lui et non sur le process. Mike suggère d’utiliser des métriques orientées sur l’objectif final: satisfaction client, fonctionnalités réalisées et acceptées, plutôt que le pourcentage de pratiques agiles suivies, ou le temps passé en pair-programming.
RIA
FxObjects: un framework pour JavaFX
TheServerSide nous apprend aujourd’hui que la version 1.0 du Framework FxObjects vient de sortir. C’est un framework réalisé par Srikanth Shenoy, destiné à aider la programmation d’applications JavaFX. Il s’avère être, malgré sa jeunesse, assez ambitieux. S’articulant autour du pattern Model-View-Presenter qui facilite les tests unitaires, les 3 briques principales sont les suivantes:
- le command framework
- commandes asynchrones
- HTTP & REST
- marshalling/unmarshalling XML avec JAXB
- le Controller chain framework
- contrôleurs
- support de la navigation
- présentations des nœuds
- l’Event Framework, encore à l’état expérimental
A noter que le Controller chain framework et l’Event Framework disposent d’un cycle de vie customisable, et que l’on peut utiliser Spring pour définir les divers éléments de son application (ouf !).
De nombreuses évolutions sont d’ores et déjà au menu de la V0.2 prévue pour septembre:
- gestion du cycle de vie de l’application
- gestionnaire d’évènements
- sécurité
- conversion vers et depuis JSON
Il est intéressant de voir un framework venir aider au développement JavaFX car il semble que les programmeurs étaient, jusqu’à maintenant, peu gâtés dans ce domaine. Reste à voir s’il saura gagner l’adhésion de la communauté et réussira à dépasser le stade de proof of concept. On serait en effet tenté de dresser un parallèle avec le Swing Application Framework qui fut pendant un temps considéré comme le futur de Swing, mais qui n’a jamais réussi à fédérer assez de monde derrière lui pour devenir un standard malgré la JSR le supportant. Mais alors que ce framework devait faire face à la rude concurrence de Netbeans RCP et Eclipse RCP, c’est plus au manque d’engouement pour JavaFX que risque d’avoir à faire face FxObjects. A moins que ce ne soit lui le sauveur de JavaFX ?
Le coin de la technique
IntelliJ IDEA 9.0.3
IntelliJ IDEA continue son petit bonhomme de chemin. Et 3 mois après la release 9.0.2 , voici venir la nouvelle version de l’IDE en 9.0.3. La release notes complète se trouve ici.
Amélioration du débogueur Flex, meilleur support de Grails, l’éditeur HTML qui supporte par défaut HTML5… en bref des nouveautés plutôt intéressantes. Mais pour ma part, la killer feature de cette version est sans nul doute le gestionnaire de mots de passe encryptés pour entre autres les VCS.
Ayant depuis quelques jours migré sous Git avec tous nos repositories dorénavant sous Github, je me suis retrouvé, à chaque push vers une branche remote, à devoir ressaisir ma passphrase. Et que ce soit pour 1 ou 10 pushs, cela devient très vite embêtant pour peu que cette passphrase soit quelque peu évoluée. Mais voilà, je ne serais resté que 2 semaines dans cet état car cette nouvelle version de l’IDE apporte ce fameux gestionnaire de mots de passe.
Au premier push, IDEA vous proposera de sauvegarder votre passphrase. Si vous répondez positivement, il vous est alors demandé de rentrer un mot de passe maître. Celui-ci sera votre mot de passe pour accéder au gestionnaire et vous sera demandé la première fois que vous voudrez faire un push. Mais dès lors, votre passphrase ne vous sera plus jamais demandée ! Ainsi, une fois celui-ci saisi, vous pourrez effectuer autant de push que vous le souhaitez sans saisie de passphrase ! A noter qu’après chaque redémarrage, votre mot de passe maître vous sera redemandé uniquement lors de votre premier push serveur. Une fonctionnalité très agréable donc.
Bien évidemment, les plugins SVN ou Git nous offrent des fonctionnalités simplifiées comme un affichage élaboré de l’historique des commits ou bien encore un diff entre 2 fichiers plus visuel. Néanmoins, n’oubliez pas que Git regorge de commandes toutes plus utiles les unes que les autres ! Et rester 100% de son temps dans un IDE, ce serait passer à côté de plusieurs perles de productivités. Bien sûr, les commandes standards comme le rebase, stash, pull, push, etc sont gérées, mais d’autres comme le bisect ou le cherry-pick ne le seront pas forcément. Une bonne intégration avec l’IDE, donc, mais sans écarter complètement le terminal ou Cygwin!
VisualVM 1.3
VisualVM vient de sortir en version 1.3. Pour rappel, cet outil graphique de diagnostic permet de faire du monitoring et du profiling de nos applications Java. Développé par Sun et téléchargeable gratuitement, cette boite à outils intègre de nombreux plugins et est autant destinée à un environnement de développement qu’à un environnement de production.
Cette nouvelle version corrige quelques bugs et apporte les évolutions majeures suivantes:
- Support des langages dérivés de la JVM: Clojure, Groovy, JRuby, Jython et Scala.
- Le plugin Sampler (qui monitore les activités du CPU et de la mémoire) est maintenant intégré par défaut.
- Les plugins Sampler et Profiler disposent d’une configuration par défaut. Exemple: Classes et packages à filtrer, intervalle de temps entre les mesures, etc.
- On peut monitorer à distance des applications qui ont activé JMX.
- Apparition du Tracer framework et d’une série de sondes: jvmstat, java I/O, Garbage collectors.
- Apparition d’un nouveau plugin Threads Inspector, permettant une vision plus fine d’un thread.
Commentaire