Journal du mercredi 18 avril 2012 à 14:29
Le 18 avril 2012, je publiais sur LinuxFr le journal qui suit — il recueillit 91 commentaire (lien https://linuxfr.org/users/harobed/journaux/reflexions-a-propos-de-nodejs-et-de-javascript-plus-globalement)
Bonjour,
Cela fait quelques jours que je me pose la question suivante : « Est-ce que Node.js ne va pas devenir une technologie incontournable / majeure dans les 2 ans qui viennent ? »
Le contexte
Je suis développeur Python depuis de nombreuses années. J'aime ses librairies, j'aime ses outils, j'aime sa communauté.
J'aime tellement sa syntaxe que quand je vois la syntaxe d'autres langages, j'ai une réaction quelque peu épidermique à la lecture du code.
Avec le temps, l'habitude de la syntaxe Python minimaliste, proche d'un pseudo-code, rend difficile la possibilité d'apprécier un autre langage. Je ne sais pas si c'est positif ou négatif, je me pose simplement la question. Enfin, ceci est un autre sujet.
Cependant, mon regard se tourne de plus en plus vers Node.js… je n'ai pas franchi le pas, je n'ai rien développé en Node.js… mais je me demande si je ne passe pas à côté de quelque chose d'important.
Les forces de Node.js
Bien que Node.js date seulement de 2009 :
Tous les développeurs web (front-end) connaissent le langage, il est très populaire. Par conséquent, pour passer à Node.js il n'y a pas le frein d'apprendre un nouveau langage, comme ce serait le cas avec l'utilisation d'un framework web basé sur Ruby ou Python. Je pense que dans les mois qui viennent, de nombreux développeurs PHP vont passer à Node.js… surtout ceux qui regardaient ailleurs mais qui ne souhaitent pas apprendre un nouveau langage.
La possibilité de partager du code (librairies communes…) entre la partie client et serveur peut être intéressante. La question se pose de plus en plus, étant donné qu'on est de plus en plus amené à effectuer beaucoup de traitements côté client (exemple avec Backbone.js).
Dernièrement, dans tous mes projets de développement web, j'ai utilisé un moteur de template côté client en plus du moteur de template côté serveur.
Je dois gérer de plus en plus souvent une couche modèle côté client, des vues côté client… Cela fait donc plein d'éléments en double, utilisés une fois sur le serveur, une fois sur le client. Donc deux technologies à maîtriser.
Ces derniers jours, la visualisation du screencast du framework JavaScript Meteor m'a mis la puce à l'oreille.
Autre exemple : il est possible d'utiliser la même API Canvas côté client et côté serveur (avec node-canvas).
Node.js semble être très rapide et tient très bien la montée en charge.
La vitesse de l'interpréteur JavaScript est en constante progression : V8 (JavaScript engine)
Faiblesses de Node.js
Je ne sais pas si mes remarques sont exactes, je n'ai aucune expérience en Node.js.
Je ne sais pas s'il est encore tôt pour passer à Node.js, mais si la communauté continue à être aussi dynamique que ces 2 dernières années… alors les pièces manquantes seront bientôt créées.
Est-ce que l'on va retrouver JavaScript partout ?
Voici une petite liste :
Quand je vois cette liste, je me pose sérieusement la question : est-ce que JavaScript est le langage incontournable de ces 10 prochaines années ? Certes, il est déjà incontournable dans le navigateur, mais pour le reste ?