Javascript discret

Un article de Wikipédia, l'encyclopédie libre.

Le javascript discret (Unobtrusive Javascript) est une pratique dans la programmation informatique en javascript. Cette pratique n'est pas décrite par une norme. Cette pratique consiste en la séparation du code html et du javascript.

[modifier] Origine de la méthode

Le javascript a une réputation de langage de script limité et mal fait, inadapté à des développements massifs. Cette réputation est du à un longue accumulation de mauvaises pratiques mais aussi à une implémentation différente d'un navigateur à l'autre.

La récente émergence de standard appliqués aux navigateurs, de Framework Javascript (Prototype,Archetype, ...) et les premiers débogueurs de bonne qualité rendent possible la production d'un JavaScript organisé et évolutif.

Le Javascript discret peut-être vu comme une partie du mouvement des standards web.

[modifier] Séparation du html et du javascript

Il est courant d'obsverver un code présenté ainsi :

<input type="text" name="date" onchange="validateDate(this);" />

L'appel javascript est inclus au sein du html. Ceci rend plus difficile la lecture et la maintenance du code. Ce qui vaut au javascript sa mauvaise réputation de code instable et difficile à maintenir. Il pourtant possible de faire la même chose de cette manière :

<input type="text" name="date" class="datefield" />

Cette façon est appelé discrète car l'association avec l'action javascript n'est plus inclus dans le html mais se réalise par l'assignation d'une classe HTML. Le code javascript se rattache alors grâce à la classe HTML.

[modifier] Bonnes Pratiques

L'essence même du concept de javascript discret se trouve dans la séparations des couches. Il se voit donc appliqué un certain nombre de principes :

  1. Un respect strict du DOM du W3C
  2. D'une manière plus générale, l'utilisation de concepts déjà présents dans d'autres langages de programmation comme l'encapsulation, les couches d'abstractions, les conventions de nommage, l'utilisation des design pattern appropriés et des tests systématiques.
Autres langues