Leur extend est juste là pour ajouter des méthodes, on est au niveau de ce qu'on fait quand on utilise des classes pour stocker des fonctions (simulation d'un "package").
Si tu veux te créer des "vraies" classes, manipuler des tableaux de manière astucieuse (Array.each, Array.slice, .shift, etc...) ou tout ce que Prototype propose, on est très loin du compte
Je dirais que jQuery c'est scriptaculous sans Prototype : c'est à dire qu'on a plein d'effet à sa disposition, une API sympa, mais le coeur n'est pas aussi complet que ce qui se peut faire dans l'API Prototype.
Mais pour donner une chance à la bête, voici quelques éléments de Prototype dont je ne peux pas me passer, quels sont les équivalents que l'on peut trouver pour jQuery ?
Note que je ne suis pas de mauvaise foi et je ne doute pas qu'on puisse retourner la question pour des fonctionnalités de jQuery qu'on ne retrouverait pas dans Prototype+Scriptaculous, mais je ne suis pas sûr qu'il y en ait autant a priori
En gros je dirais que jQuery est imbattable dans la gestion du DOM. Mais pour tout le reste... Or j'en conviens la gestion du DOM est la problématique number one dans 90% des cas où l'on souhaite ajouter du JS à une page.
J'ai personnellement souvent eu des besoins plus poussés et les méthodes citées plus haut me sont toutes utiles. Si je peux me contenter de jQuery je l'utiliserais avec plaisir, et je pense que dans nos jeux on n'a pas besoin de plus, à la rigueur Array.each, Event.* et PeriodicalExecuter, alors elles sont où ? Que je m'y mette pour de vrai ?
Si tu veux te créer des "vraies" classes, manipuler des tableaux de manière astucieuse (Array.each, Array.slice, .shift, etc...) ou tout ce que Prototype propose, on est très loin du compte
Je dirais que jQuery c'est scriptaculous sans Prototype : c'est à dire qu'on a plein d'effet à sa disposition, une API sympa, mais le coeur n'est pas aussi complet que ce qui se peut faire dans l'API Prototype.
Mais pour donner une chance à la bête, voici quelques éléments de Prototype dont je ne peux pas me passer, quels sont les équivalents que l'on peut trouver pour jQuery ?
- Manipulation des tableaux
- "sucres syntaxiques" pour la création et la manipulation de classes
- Gestion du DOM (création d'éléments avec new Element), du positionnement, etc... (pour ça je pense qu'il répond à tout, j'ai vu passer un plugin pour absolutize, bon faut fouiller un peu)
- Les classes Enumerable et Hash [edit]jQuery.each semble y répondre[/edit]
- Les raccourcis pour gérer les évènements (isLeftClick, element, etc...)
- Le binding de fonction (pour changer la valeur de this dans une fonction)[edit]je dirais qu'il n'y en a a priori pas besoin dans le cadre strict de jQuery, mais ça manquera quand-même vite[/edit]
- Object.is*, Object.toQueryString...
- Les exécutions périodiques
- Manipulation de chaines de caractères
Note que je ne suis pas de mauvaise foi et je ne doute pas qu'on puisse retourner la question pour des fonctionnalités de jQuery qu'on ne retrouverait pas dans Prototype+Scriptaculous, mais je ne suis pas sûr qu'il y en ait autant a priori
En gros je dirais que jQuery est imbattable dans la gestion du DOM. Mais pour tout le reste... Or j'en conviens la gestion du DOM est la problématique number one dans 90% des cas où l'on souhaite ajouter du JS à une page.
J'ai personnellement souvent eu des besoins plus poussés et les méthodes citées plus haut me sont toutes utiles. Si je peux me contenter de jQuery je l'utiliserais avec plaisir, et je pense que dans nos jeux on n'a pas besoin de plus, à la rigueur Array.each, Event.* et PeriodicalExecuter, alors elles sont où ? Que je m'y mette pour de vrai ?
Ressources [PHP][MySQL][prototype.js]