DevFest 2014 : Synthèse de l'événement
Cette année, le GDG Nantais a vu les choses en grand en regroupant plus de 500 développeurs passionnés au sein d'un seul endroit, le DevFest.
Avec 25 conférences sur des thématiques autour du Web, du mobile et du Cloud, le DevFest 2014 fut très riche en contenu.
J'ai profité de cette journée pour découvrir les sujets que je souhaitai découvrir. La richesse des sujets m'a obligé de faire des choix pour sur certaines conférences.
Au programme de ma journée :
- Introduction sur Docker
- Modulariser son application AngularJS avec Browserify
- Développer pour Android TV
- Introduction à Google Wear
- Présentation de Data Flow et de Flume Java
- Présentation de JHipster, une solution pour générer des portails de Hipster avec un backend Java
Un grand merci aux organisateurs du DevFest pour l'invitation à l'événement.
Le DevFest m'a aussi permis de recroiser deux blogueurs influents de la toile : Ulrich de Frandroid et Yohann de Blog Nouvelles technologies.
Introduction sur Docker
David Gageot a réalisé une présentation d'introduction sur Docker. La présentation a permis d'appréhender cet outil de virtualisation basé sur le kernel Linux et permettant aux développeurs de déployer rapidement leurs applications sur des environnements Linux spécifiques.
En terme de performance, Docker est très performant, il se repose directement sur le kernel Linux. Les nombreuses images de Docker disponibles font de Docker un outil intéressant sur les phases de développement / déploiement.
Au lieu de déployer un applicatif, l'idée de docker est de déployer une image Docker en production. Permettant ainsi d'avoir dès la phase de développement une cible de production et de simplifier les phases de mise en production de l'applicatif.
Si vous ne connaissez par encore Docker, je vous conseille vivement de découvrir cet outil au travers de la vidéo ci-dessous de David Gageot.
Modulariser son application AngularJS avec Browserify
Antoine Richard a fait une belle présentation sur l'adaptation d'AngularJS aux méthodes de développement NodeJS (modules, npm ...). Il préconise pour modulariser au maximum les applications AngularJS, d'utiliser les mêmes règles de développement NodeJS et d'utiliser l'outil Browserify pour rendre les scripts JS développés compatibles sur navigateur Web.
Au final, cela permet de simplifier le code développé. Mais cela permet surtout de tester l'ensemble du code développé via NodeJS sans passer par une solution comme Karma par exemple.
Développer pour Android TV
Xavier Hallade nous a présenté comment adapter une application mobile Android pour l'Android TV. Xavier a profité de la conférence pour faire une belle présentation d'Android TV Nexus commercialisée uniquement au Canada et aux États-Unis pour le moment.
Le store de l'Android TV est ouvert depuis 5 jours, contrairement au Google Play, les applications publiées sur l'Android TV passent par une revue interne de Google. Seules les applications de qualité sont validées et publiées sur le store de l'Android TV.
Sinon, en terme d'adaptations du code, il est très simple d'adapter une application existante à l'Android TV. 90% des adaptations se font directement dans le fichier Manifest de l'application.
Introduction à Google Wear
Cyril Mottier, expert Android et développeur mobile au sein de Capitaine Train a partagé son retour d'expérience sur le développement d'applications mobiles sur les montres Android.
Les 3 choses à retenir des Android Wear :
- La conception ergonomique d'une application Android Wear est très importante, elle doit indiquer la bonne information au bon moment dans un minimum d'espace.
- Le développement sur Android Wear est identique au développement d'une application classique Android à l'exception de certains packages qui ne sont pas disponibles.
- Les applications Android Wear doivent être packagées via Gradle au sein d'une application Android classique pour pouvoir être déployée via le Google Play.
En cible le SDK Android Wear et Google Glass devraient être similaires.
Présentation de Data Flow et de Flume Java
Martin Görner a partagé la vision de Google sur l’évolution du Map & Reduce proposée autour de la solution Dataflow.
Suite à la diffusion du papier blanc de Google sur le Map & Reduce en 2004, la majorité des solutions Big Data du marché actuel se reposent sur ce paradigme implémenté par la solution Apache Hadoop.
Martin Görner a présenté la manière dont on peut améliorer les traitements Map & Reduce via la solution Dataflow. Cette solution permet au travers d'un pipeline virtuel de transformer et de traiter de la donnée en grande échelle.
Dataflow ressemble dans la philosophie à l'outil Pig, il permet cependant de réaliser des traitements en temps réel.
Une implémentation alpha de Flume Java devrait voir le jour d'ici quelques semaines / mois. Il est probable que Google propose une offre Dataflow sur son GCloud.
Cette solution, une fois stable, pourrait remplacer l'implémentation Map & Reduce Hadoop actuelle connue de tous et utilisée sur une majorité de solutions Big Data.
Présentation de JHipster
Julien Dubois a présenté son outil de génération de portail Java / AngularJS : JHipster. Traduisez : Java for Hipster ou comment permettre à un Hipster qui développe des portails avec des technologies "Hype" d'utiliser un backend Java généré pour ses besoins.
JHipster possède aujourd'hui plus de 1000 étoiles sur Github et plus de 230 fork. Grâce à Yeoman, JHipster permet de générer des portails Web AngularJS basés sur un backend REST généré automatiquement par l'outil.
En moins d'une demi-heure vous pouvez concevoir des applications Web avec un backend Java scalable et performant pouvant utiliser une base NoSQL ou SQL pour stocker ses données.
Cet outil est un merveilleux accélérateur de développement pour ceux et celles qui souhaitent déployer rapidement des portails Web. Cependant, une fois le portail généré, toutes les adaptations doivent ensuite être réalisées manuellement. L'outil ne fournit pas de fonction de merge entre le code produit et les modifications réalisées au sein du code.
Si vous ne connaissez par encore JHipster, allez faire un tour sur la présentation en ligne de l'outil. Vous allez voir, c'est magique, c'est hype !