BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Interviews Discussions sur le développement JavaScript avec Loïc Frering

Discussions sur le développement JavaScript avec Loïc Frering

Favoris
   

1. Bonjour Loïc, merci d'accepter cette interview pour InfoQ dans le cadre de Mix-IT. Peux-tu rapidement te présenter, ta vie, ton oeuvre, etc. ...

Ok, je m'appelle effectivement Loïc Frering, j'habite et je travaille à Lyon. Je travaille dans la société qui s'appelle Atos WorldLine en tant qu'architecte logiciel.

   

2. Dans ta présentation Mix-IT, tu abordes un sujet récurrent : Backbone versus Ember versus Angular. Alors je sais que tu fais partie de l'équipe du projet RestHub, vous avez choisi Backbone pour votre stack front, est-ce que tu peux nous expliquer ce choix ?

Donc le contexte n'était pas le même, Ember n'était pas du tout stable, Angular n'était pas encore répandu, très connu, du coup à ce moment-là on a fait le choix le plus pertinent : Backbone. Du coup à partir du moment où on a commencé à investir sur Backbone, à former pas mal les gens chez nous, à faire beaucoup d'outillage en développant RestHub, en développant des composants Backbone, on a cet investissement sur lequel on essaye de capitaliser, donc on reste principalement à travailler avec Backbone.

   

3. Il y a peu sur Twitter tu répondais à Julien Ponge s'inquiétant d'un parti pris dans ta présentation, que Backbone n'était pas ton favori. Du coup lequel préfères tu et pourquoi ?

Effectivement je disais que Backbone n'était pas forcément mon favori. Au moment où l'on a fait le choix il était pertinent comme je viens de le dire, mais depuis il y a eu pas mal de choses qui ont changées, et Angular a beaucoup monté en puissance avec une forte promotion de la part de Google et Ember commence à converger vers une version finale. Donc l'objectif de mon talk, n'était pas de ressortir un favori, donc je ne vais pas en ressortir un maintenant. Si je devais commencer une nouvelle application, en fonction du contexte je pourrais me diriger vers l'un ou vers l'autre, peut-être le routeur d'Angular qui me freine encore un petit peu pour l'instant et j'aimerais bien qu'ils travaillent dessus pour avoir quelque chose qui embrasse vraiment le développement d'applications riches en javascript et qui aille un peu vers le routeur super costaud d'Ember.

   

4. Angular fait beaucoup parler de lui dans le monde des "Javaistes" et parait avoir beaucoup plus de succès qu'un Backbone. Aurais-tu une explication du phénomène ?

Du coup, effectivement, en ce qui concerne Angular, Google est vraiment arrivé à un moment donné où la communauté Java commençait à se dire : "il va falloir que l'on aille dans Javascript, que l'on commence à s'y mettre et que l'on développe des clients riches en Javascript". Et Google est arrivé au bon moment sur une grosse conf. sur DevoXX, ils sont arrivés avec une armada au niveau de la communication, "un gros coup de poing au niveau de la communication". Ils ont fait plein de confs, ils ont envoyé plein de gens de partout, ils ont beaucoup travaillé sur la documentation, sur la visibilité d'Angular sur le web, sur comment accompagner les développeurs pour découvrir Angular, pour les accompagner au mieux. Cela a vraiment aider à diffuser Angular, non seulement à la communauté Java, mais aussi en dehors. Et du coup, je pense que la communauté Java peut être intéressée par Angular, dans le sens où en faisant moins de Javascript (et pour ceux qui sont allergiques à Javascript peut-être) ils arrivent à faire des choses impressionnantes très rapidement avec quelques balises HTML, quelques attributs, etc. ... Et puis, comme je le disais tout à l'heure, les concepts d'injection de dépendances qui peuvent sembler familiers à certains "Javaistes", de retrouver nos tests unitaires, de pouvoir changer l'implémentation de notre couche de persistance, des choses qui sont un peu familières.

   

5. Y-a-t-il d'autres frameworks Javascript typés MVC qui te paraissent intéressant à suivre comme CanJS, Batman, ... et pour quelles raisons ?

Les trois dont j'ai parlé sont les trois que je suis principalement, les autres du coup, je les suis d'un peu plus loin. J'essaye de me tenir au courant, j'aime vraiment cette diversité dans les technologies et puis tester plein de choses pour pour voir les différentes approches et toujours apprendre plus de choses. Donc, je les suis, mais de plus loin.

   

6. Tu es le papa de Backbone.Datagrid et Backbone.Handlebars, est-ce que tu as d'autres projets dans les tuyaux ou bien est-ce que tu as envie de nous parler de l'un des deux ?

Effectivement ces deux projets (que l'on a aussi un peu développés dans le cadre de RestHub) existent pour toujours améliorer l'outillage de nos applications Backbone, et dans le cadre de nos développements d'entreprise en tous les cas. Mes prochains objectifs vont être de sortir de nouvelles versions de ces composants, notamment pour Backbone.Handlebars qui pour l'instant est en version 0.2 (qui n'est pas encore tout à fait prêt), car j'aimerais capitaliser sur Backbone.Handlebars pour avoir cette notion de nested views dans Backbone.

   

7. Quel est ton avis sur les transpilers Javascript comme Coffeescript ou Typescript ?

Alors Typescript, je n'ai pas encore trop regardé ni trop testé, par contre j'ai pas mal joué avec Coffeescript, pas mal fait de Coffeescript, donc moi, qui aime bien faire du Ruby, je retrouve un petit peu la légèreté syntaxique avec Coffeescript. Je trouve que c'est sexy tout ce qu'amène Coffeescript, pas mal de fonctionnalités sexy. Je sais qu'il y a pas mal de gens qui sont rebutés par le Coffeescript, mais par exemple pour faire la présentation j'ai développé un petit outil en Coffeescript parce que ça me faisait plaisir, donc j'aime bien, par contre ça peut être un peu compliqué d'accompagner des développeurs qui ne connaissent pas bien Javascript sur Coffeescript.

   

8. Comment est construite ton usine de développement, c'est à dire les outils que tu utilises tous les jours, l'IDE et si tu ne devais en garder qu'un, lequel ?

En termes de développement je travaille principalement sur une console dans des sessions Tmux avec Vim, donc "à l'ancienne" si on peut dire. J'aime bien travailler dans mon environnement Unix et d'avoir tout mon outillage Unix à portée de main, travailler dans ma console, travailler avec Git dans ma console, et tous les outils dont j'ai besoin dans cette console. En termes d'outillage, évidement je teste mon code sur Travis. En ce qui concerne tout ce qui est gestion du cycle de vie du projet, j'utilise pas mal Grunt, notamment la dernière version, la 0.4, que je trouve chouette. J'aime bien Grunt, j'aime bien tous ses plugins, son intégration avec Mocha, Grunt-Watch, les différentes contributions que l'on va retrouver sur Grunt et du coup, oui en Javascript, je travaille pas mal avec Grunt. Notamment avec Grunt-Watch pour compiler automatiquement mon Coffeescript, ce sont des choses que j'aime bien.

   

9. Et donc ça serait Grunt que tu garderais ?

Oui. Ce que je garderais de base c'est Vim pour pouvoir coder, et oui effectivement Grunt pour Javascript.

InfoQ : Merci Loïc, et à bientôt.

Merci beaucoup, à bientôt.

15 oct. 2013

BT