vendredi 23 novembre 2012

Node.js ou comment avoir du javascript coté serveur.

C'est en cherchant quelques informations sur l'utilisation des WebSockets coté serveur en Java, que j'ai découvert nodeJS.
WebSocket est un protocole de communication définit dans HTML 5.
Cette nouveauté me semble etre une petite révolution, sans rentrer dans les détails les websocket créent un canal de communication bidirectionnel entre le client et le serveur sur le protocole HTTP qui lui avait l’énorme lacune d’être unidirectionnel ( requête client -> réponse serveur).
Du coup beaucoup de choses deviennent possible de façon standard !!
Que le serveur puisse interroger ou notifier les clients change assez radicalement les choses.

Pour en revenir à ma recherche, je voulais juste savoir s'il existait déjà des façons d'implmenter les WebSockets coté serveur en java.

J'ai d'abord lu cet article :

http://blog.zenika.com/index.php?post/2012/06/22/Les-WebSockets-en-pratique

Il s'agit d'un petit comparatif de quelques solutions pour utiliser les websockets.
L'auteur conclu que pour lui "node.js & Socket.IO" est la solution qui fait référence.

J'ai un peu honte de l'avouer mais c'est la premiere fois que j'entendais parler de node.js, et d'une technologie basé sur du Javascript coté serveur, je me suis senti obligé de creuser un peu.
A priori Node.js à pas mal de succès de plus la communauté node.js semble très active, avec de nombreux modules déja existant.
Nodejs utilise l'interpreteur javascript de google chrome, autrement dit : c'est rapide !

J'ai donc voulu essayé, pour ça j'ai suivi ce tutoriel :

http://nodejs.developpez.com/tutoriels/javascript/node-js-livre-debutant/

Et puis j'ai vu ce tutoriel vidéo qui m'a convaincu de la simplicité de nodejs + Socket.IO :

Créer un tchat avec NodeJS et Socket.IO

Ca parait tellement simple !!
Par contre ça passe par un apprentissage Javascript, je dois bien avouer que pour moi qui suis un pur développeur objet en java certaines lignes de code sont déconcertantes.
Mais je reconnais que ça peut parfois être élégant !

Je manque peut etre d'imagination mais je vois pas nodejs concurrencer JAVA coté serveur, je n'ose imaginer une couche métier en javascript.
J'imagine que le succès de nodejs vient à la base des developpeurs front end (html,css,javascript), qui peuvent ainsi s'exprimer coté serveur.

Faut reconnaître que c'est assez surprenant de voir que le javascript s'invite sur les serveurs, alors que Java lui disparaît progressivement coté client, quand on voit les possibilités de HTML5 même JavaFX va avoir du mal à se faire un place coté client.

Aucun commentaire:

Enregistrer un commentaire