La conférence dotJS est l'une des plus importantes conférences JavaScript d'Europe et rassemble les plus grands acteurs ainsi que les plus grosses communautés autour du langage. Plusieurs étudiants d'HETIC ont pu y participer et l'un d'entre eux, Loïc Saint-Roch, développeur JavaScript chez Geeklist, nous partage sa vision de la place qu'occupe ce langage dans le web aujourd'hui.

dotJS, une expérience qui fait réfléchir

HETIC m'a donné l'opportunité d'assister au dotJS le lundi 2 décembre 2013, la plus importante conférence dédiée au JavaScript en Europe. Je profite de cette occasion non pas pour effectuer un banal résumé de cette journée très enrichissante, mais plutôt pour répondre à une question que beaucoup de développeurs se posent actuellement : quel avenir pour le JavaScript ? La synthétique réponse que je vous propose dégage des faits constatés accompagnés d'un point de vue personnel. 

Le JavaScript et le JavaScript moderne

Le langage JavaScript a été créé en 1995 par Brendan Eich, actuel CTO de la Mozilla Corporation, avec pour objectif principal de rendre les pages web interactives afin d'améliorer l'expérience utilisateur. "Don’t lock user. Empower user." Malgré tous les reproches faits à ce langage, son succès est tel qu'il est devenu un incontournable du web et s'étend désormais à d'autres usages.

Les principaux navigateurs web optimisent constamment leur moteur de rendu JavaScript afin de répondre aux nouvelles technologies comme le WebGL. Les applications sont quant à elle écrites en JavaScript et / ou supportent le JavaScript pour les applications externes comme c'est le cas de Spotify par exemple.

Une compréhension facultative

Le problème qui commence à apparaître est la faculté des développeurs à coder en JavaScript sans même comprendre le fonctionnement du langage suite à l'apparition de toutes les solutions modernes évoquées dans le pragraphe précédent. L'exemple le plus courant concerne jQuery. La plupart des sites web embarquant du JavaScript inclue la bibliothèque jQuery afin de faciliter le développement mais aussi afin de maximiser la compatibilité entre les navigateurs. Utiliser le terme bibliothèque jQuery est à moitié une erreur. Nous pouvons le considérer comme un framework car il permet de coder en JavaScript d'une manière complètement différente. Ainsi, il n'est pas rare de voir aujourd'hui des développeurs jQuery ayant très peu de notions de JavaScript natif, voir aucune. D'ici quelques années, il ne serait pas improbable de voir des offres d'emploi demandant des compétences en jQuery avec connaissances en JavaScript facultatives. Il est important de ne pas oublier une chose : pour être bon dans un domaine il ne faut pas connaître toutes les fonctionnalités par coeur mais il faut comprendre le fonctionnement du langage.

Le JavaScript moderne change la donne

Depuis le milieu des années 2000, les développeurs se sont penchés sur le cas JavaScript afin de l'utiliser comme langage à tout faire. L'émergence de solutions comme jQuery, Angular.js, Dart, Meteor, MongoDB, etc. accroissent considérablement son l'importance. Il est également possible de coder en JavaScript côté serveur avec Node.js ou encore de créer des applications mobiles avec PhoneGap ! Un seul langage est donc utilisé, ce qui facilite de manière conséquente le développement. Le JavaScript est aujourd'hui considéré comme le langage web le plus puissant car il est accompagné de solutions impressionnantes et indispensables à la création de web apps. Ce langage en lui-même n'est pas mieux ou plus puissant qu'un autre, en revanche toutes les solutions (bibliothèques, frameworks, surcouches, non-blocking code, NoSQL) portées sur celui-ci rendent les possibilités sans limites.

Un langage comme les autres, mais infiniment puissant

Brendan Eich était présent au dotJS et a brièvement énoncé son point de vue personnel concernant le JavaScript dans l'évolution du web. Le créateur du langage en question reconnaît que sa création comporte de nombreuses imperfections, mais que ces bonnes parties ("good parts") sont remarquables et infiniment puissantes. Il voit donc son langage comme le langage "final" pour le web vers lequel tout doit converger : web, applications, mobile. Tout est possible avec JavaScript.

Normalisation

C'est aux navigateurs web d'implémenter un moteur de rendu JavaScript afin que le code soit exécuté correctement du côté de l'utilisateur. Le JavaScript n'est qu'une version spécifique de l'ECMAScript. Ce dernier possède un "comité de sages décisionnaires" (aussi nommé comité TC39 pour les intimes) qui détermine un standard spécifiant dans les moindres détails le fonctionnement du langage. Comment faire évoluer ce langage tout en restant cohérent ? Ce n'est pas simple car chaque moteur de rendu JavaScript souhaite faire mieux que ses concurrents. Voilà pourquoi certaines expériences ne sont disponibles que sur le moteur V8 de Google, moteur de rendu le plus poussé à l'heure actuelle. Le comité TC39 a décidé de ne pas s'arrêter à la version actuelle d'ECMAScript (version 5) et travaille sur une prochaine version qui sera nommée ECMAScript Harmony. Celle-ci vise à faciliter l'utilisation de JavaScript dans des applications modernes.

En une phrase

Avec toutes les technologies tournées sur le JavaScript en 2013, il est possible de dire aujourd'hui que ce langage a un bel avenir devant lui et sera le langage "ultime" d'ici quelques années uniquement si les standards sont respectés et si les navigateurs web répondent aux différentes contraintes techniques requises par les technologies portées sur JavaScript.

 

Loïc Saint-Roch, P2016

 

Article résumant la conférence dotJS :
http://blog.xebia.fr/2013/12/18/retour-sur-dotjs-2013/
http://frenchweb.fr/dotjs-les-geants-du-net-misent-sur-le-javascript-pour-creer-de-la-valeur/134618
http://blog.ippon.fr/2013/12/06/un-retour-sur-dotjs-2013/