08 octobre 2009

Lecture du soir...


Mon éditrice m'a fait parvenir un petit bouquin bien sympa : un petit guide du développeur JavaScript.

JavaScript est un langage des plus étrange : rendu indispensable par sa présence sur tous les navigateurs web, il est particulièrement obscur pour des développeurs traditionnels et comporte aussi bien des constructions très élégantes et des pièges à c.. dans lesquels on s'embourbe avec bonheur.

Comme beaucoup, j'ai moi aussi essayé de faire du développement JS avant de tomber dans des complications sans fin, malgré l'aide de frameworks en tout genre - c'est, entre autre, ce qui m'a fait aimer GWT ;)

Dans ce petit guide, Douglas CrockFord (YahooUI) prend d'office le parti d'écarter tout ce qui fait de JavaScript un langage tout pourri - sans se voiler la face - et ne présente donc que ce qui fait de JavaScript un langage prodigieux. C'est une des raison de la taille réduite du livre : hors sujet le DOM du navigateur, Ajax et ses implémentations merdiques d'un navigateur à l'autre. Ici on se concentre sur le coeur du langage, son fonctionnement et sur les bonnes façons de faire.

Pour un développeur débutant c'est clairement le livre idéal : comme on y apprend seulement ce qui marche bien, on est au moins sûr de ne pas prendre un mauvais pli. Pour les personnes plus expérimentées, la piqûre de rappel est salvatrice - j'ai enfin compris pourquoi this change si souvent de nature dans une fonction JS :)

Le livre se termine par plusieurs annexes qui dénoncent les aberrations du langage et ses mauvais éléments. Une bonne façon, une fois les bonnes pratiques acquises, de savoir là où il ne faut pas mettre les pieds et donc savoir les repérer.

Un excellent ouvrage, concis mais dense. Il donne du sens à ce langage méconnu et si loin de nos bon vieux langages objet fortement typés et basés sur des classes. Un indispensable pour toute personne qui compte se lancer dans un développement JavaScript, probablement plus indispensable que les nombreuses "bibles" du JavaScript en 400 pages qui sont bien plus délicates à exploiter. Bien sûr, pour être applicable en développement il faudra lui adjoindre une bonne référence sur l'API DOM et ses variations entre navigateurs.

Seul regret, je n'ai pas retrouvé d'information sur les problèmes de fuites mémoire, si caractéristiques des Closures JavaScript - peut être qu'une seconde lecture plus approfondie s'impose ;)


Disclaimer : bien que lié par contrat à Pearson dans un autre contexte, cette revue ne m'a pas été dictée et je parle donc en toute franchise :D