jeudi 28 avril 2011

Nous sommes tous des mauvais programmeurs javascript

Le javascript a longtemps été le vilain petit canard de la programmation. Lancé en même temps que Java, son nom introduit dès le départ une ambiguïté java - javascript. Le choix a été dicté par le souhait des concepteurs de surfer dans le sillage de Java. Les fées n'ont pas été sympa avec lui: un mauvais nom, pas de norme, un moteur lent et des mauvaises habitudes de copier/coller.
Moi, le premier je prenais des morceaux de code javascript sur des sites au petit bonheur la chance. De fait, il y a beaucoup de personnes qui font du javascript SANS connaitre le javascript.

Heureusement les choses changent. Les moteurs javascript ont multiplié leur puissance par 1000 en moins de 5 ans. Le langage est normé. De bons programmeurs font des bons programmes javascripts (exemple jquery). Alors JAVA, Perl , Ruby ,Python ? non Javascript !. Les autres langages ne servent qu'a servir la soupe.
Ci dessous un document illustrant le bon usage du javascript:

Avec quelques bonnes pratiques:

  • Séparer la structure d'une page (HTML) et son comportement (JS)
  • Séparer la structure d'une page (HTML) et sa mise en forme (css)
  • Utiliser des vrais 'ID' (unique)
  • Utiliser  l'attribut 'class' pour le CSS
  • Privilégier les structures hiérarchiques du HTML (H1,H2 etc)  aux DIV
=> Pas de javascript dans le HTML
=> Éviter le css dans le HTML
=> Le CSS en tête de chargement

Et surtout : utiliser firebug !
 

Le moteur pour exécuter du javascript en ligne de commande : spidermonkey.
ou node.js (mais c'est une autre histoire).
Le livre qui va avec tout ca:


Les produits dérivés :

Node.js : déja cité
  is an event-driven I/O framework for the V8 JavaScript engine on Unix-like platforms
 (c'est pas beau ca ?)
C'est un concentré de l'informatique de demain: faire des serveurs qui supportent des milliers de connexions critiques et  'longues' (ex : steaming, flux twitter, informatique embarquée) .

coffeesscript : lien ici
Langage à la Ruby pour écrire simplement du javascript.

Rails 3.1 qui embarque jquery dans sa pile de manière très propre : pas de javascript dans le HTML.

Aucun commentaire: