Tout le monde parle d'AJAX, Comet et plus généralement du Web 2.0. Une des pierres angulaire de ce nouveau type d'application est le langage JavaScript, qui grâce qu travail du W3C et de courageux pionniers, est en train de devenir un "vrai" langage de programmation (plutôt qu'une interface pour bidouille).

Cela dit, JavaScript est encore assez loin d'être le langage idéal pour le développement d'applications conséquentes. Un des problèmes principal est l'absence d"un mécanisme d'héritage autre que le modèle par prototypes (qui est incomplet, car le mot-clé super n'est pas encore implanté).

On trouve sur le wiki de Scriptaculous quelques implantations qui essaient de fournir des mécanismes d'héritage (simple), mais elles ne tiennent pas la route dès lors que l'on écrit une application conséquente (le problème récurrent étant leur implantation partielle ou non fiable d'un remplacement à super, qui tourne vite au cauchemard).

Voilà pourquoi j'ai décidé d'écrire ma propre librairie : Extend for Prototype. Elle permet de faire de l'héritage simple, de changer dynamique la hiérarchie de classes, et fournit de la méta-information indispensable au débugage, comme le nom de la class, les méthodes déclarées, les méthodes héritées,etc (ex:objet.getClass().className qui permet de connaître le nom de la classe d'une instance).

Donc si vous pratiquez JavaScript de manière intense, et que vous souhaitez passer à un développement robuste, je pense qu'Extend vous sera autant utile qu'à moi :)