Voila Devoxx c’est fini !! Ces 3 jours étaient passionnants! J’ai découvert énormément de choses !! Peut être même trop pour mon petit cerveau !
Ne pouvant pas faire un retour sur tout, je vous propose un petit top 5 !
Let’s Go !!
5- Expression lambda dans Java 8 …. ou « Comment ajouter des fonctionnalités à des classes existantes sans tout casser:) »
Une première béta de la java 8 étant sortie récemment, Guillaume Tardif nous a proposé un petit tour du propriétaire.
On démarre avec une petite introduction sur l’implémentation de la programmation fonctionnelle dans la JDK.
On découvre entre autre de nouvelles méthodes sur les collections qu’on utilise avec des prédicats. Du coup, un code du style :
| Agent[] agents =…..
foreach (Agent a in agents) { System.out.println(“Nom:” + a.Nom); } |
Pourra s’écrire
| Agent[] agents =…..
agents.ForEach (a => { System.out.println(“Nom:” + a.Nom); }) ; |
Deuxième exemple, la méthode filter(Predicate) qui permet ni plus ni moins de faire des “sorts” directement sur une collection.
| Predicate<String> longName= s->a.Nom.length()>4;
Block<String> display = s->System.out.println(a.Prenom); agents.filter(longName).forEach(display); |
Ce code permet d’afficher les prénoms des agents qui ont un nom avec plus de 4 lettres.
Une autre nouveauté est la possibilité d’ajouter à une interface des méthodes non abstraites, avec une implémentation par défaut.
Cette nouveauté a été rajoutée entre autre pour l’utilisation des lambdas.
En effet cette solution a été choisie afin de permettre de faire évoluer les librairies de collections, sans pour autant casser l’API. Rendez vous en 2013 !
4- En attendant un petit peu de Guava… Ou lorsque Google contribue à nos 5 fruits et légumes journaliers .
Guava est un ensemble de librairie développée par Google. Nous avons eu l’opportunité d’avoir l’équipe presque complet (il manquait une personne).
L’objectif de Guava est de transformer notre java en une sorte de java ++.
On se retrouve avec de « superbes collection » qu’on peut filtrer en utilisant des predicates. (Ca ne vous rappelle rien ?? ) Une vraie boite à outils !
Chaque nouvelle release est considérée comme majeure, et apporte son lot de petites surprises !
Attention! L’une des particularités de Guava c’est qu’il mélange API « Frozen » et API Beta et ça bouge rapidement : Une release tous les 3 mois.
3-Tester votre application web avec Selenium 2, Selenium Grid et TestNG
En général les phases de test sont de vraies prises de tête… Et c’est encore pire lorsque c’est une application web.
Il est important de vérifier que l’application a le même comportement sur tous les navigateurs. Et idéalement, avant toutes livraisons, il faudrait faire des tests de non régression.
Donc, soit on installe 10 personnes dans un bureau avec les principaux navigateurs du marché, un cahier de scénario, un fichier Excel et beaucoup de café…
Soit on essaie d’automatiser le tout !
Pour ce faire Mathilde Lemee nous a présenté Selenium 2
Les tests Selenium sont écris en java et se basent entre autre sur les ID des différents éléments de la page.
On définit les scénarios ainsi que le navigateur à utiliser, on clique …et boum!Le navigateur s’ouvre automatiquement et c’est parti pour un tour .
Ca marche très bien mais c’est un peu lent. Cela risque d’être problématique pour de grosses applications. L’idéal serait de pouvoir paralléliser les tests ..
Ha ben ça c’est une bonne idée ! C’est exactement ce que permet TestNG !
En plus nous pouvons avoir une gestion de groupe, gestion de dépendance entre les tests.
La possibilité d’en rendre certains inactifs très simplement et en bonus il comporte une gestion d’accès concurrente et un passage de paramètres dynamiques… (oui moi aussi j’ai dit woaw lol)
Allons plus loin ! Et si on arrivait à avoir des machines dédiées pour faire les tests ?
Des tests en mode distribué ? C’est ce que propose Selenium Grid !
La possibilité d’avoir des machines dédiées qui s’occupent de faire les tests sur des navigateurs que vous définissez au préalable.
Cela se décompose en un hub et des nodes. Cerise sur le gâteau c’est que le tout peut être dans le cloud.
La démonstration a été très impressionnante . Cela m’a presque fait aimer les tests ! J’ai dit presque hein ?!
2-Scala bien … et toi ?
Scala n’est pas le nouveau langage à la mode. Il a quand même plus de 10 ans.
Souvent décrié, décris comme trop compliqué ou complètement illisible par certains, il fait cependant le bonheur de certains « spécimens » comme Sadek Drobi et Guillaume Bort , qui avaient la lourde tache de démystifier les choses .
Scala c’est un peu la « canada dry » du java. Ca ressemble a du java , on retrouve des mots clé de java … Mais ça n’a rien à voir avec le java !
L’une des forces de Scala c’est que c’est un langage orienté objet supportant la programmation fonctionnelle. (oui encore du fonctionnel)
Comme nous l’a conseillé les intervenants il ne faut pas essayer de faire un lien entre les 2 langages, mais partir de zéro.
Il y a 2 problématiques :
- Les concepts ( Orienté expression , pattern Matching etc…)
- La syntaxe
Une fois ces éléments assimilés , je dois avouer que ce langage à son charme.
Dans tous les cas Scala est un langage qui ne reste pas indifférent .
1-Play 2.0 ou WOA en action !!
Sadek Drobi et Guillaume Bort (oui encore eux) nous ont présenté Play 2.0 qui est sorti il y a peine 3 mois.
C’ est un framework opensource qui permet de développer des application web .
L’idée générale est de permettre d’avoir une grande productivité et de permettre un développement sans cérémonie.
Elle est l’application concrète de la mouvance Web Oriented Architecture qui préconise un retour à la source : web = http + html + uri
Le développement se fait en Java ou en Scala, et permet en autre une prise en compte des modifications à chaud.
C’est à dire que lorsque l’on modifie le code il suffit de recharger la page pour voir les modifications.
Je ne vais pas développer ce sujet plus longtemps car il sera le sujet de mon prochain poste
Conclusion
Devoxx a été un vrai produit dopant ! Chaque soir je repartais très fatigué mais intellectuellement très motivé !
Toutes ces conférences m’ont permis de découvrir les tendances et d’imaginer l’informatique de demain : L’avènement de la programmation fonctionnelle, l’émergence du cloud computing. et une nouvelle façon de concevoir les applications web.
Un retour aux sources en quelque sorte… comme quoi la vie est vraiment un éternel recommencement
PS :vous pouvez trouver tous les slides de Devoxx sur le normandyJUG !!
Pingback: Devoxx France 2012 : On en parle sur le web | NormandyJUG