Prototype - Fonctionnalités utiles
Voyons maintenant ce que Prototype peut faire spécifiquement pour nous pour développer une application Web dynamique.
Prise en charge de plusieurs navigateurs
Lors de la programmation JavaScript, il est nécessaire de gérer différents navigateurs Web différemment. La bibliothèque de prototypes a été écrite de telle manière qu'elle prend en charge tous les problèmes de compatibilité et que vous pouvez faire de la programmation entre navigateurs sans aucun problème.
Le modèle objet de document
Prototype fournit des méthodes d'assistance qui soulagent une partie de la tension de la programmation DOM. En utilisant Prototype, vous pouvez manipuler DOM très facilement.
Formulaires HTML
Avec Ajax, d'autres mécanismes de saisie tels que le glisser-déposer peuvent être utilisés dans le cadre d'une conversation entre le navigateur et le serveur. Avec la programmation JavaScript conventionnelle, il est difficile de capturer ces entrées et de les transmettre au serveur. Prototype fournit un ensemble d'utilitaires pour travailler avec des formulaires HTML.
Événements JavaScript
Prototype fournit une excellente prise en charge inter-navigateurs lors du codage d'événements, et étend également l'objet Function pour faciliter le travail avec la gestion des événements.
Utilitaires Ajax
La caractéristique la plus importante de Prototype est sa prise en charge d'Ajax. Tous les principaux navigateurs prennent en charge une version de l'objet XMLHttpRequest qui rend Ajax possible, soit en tant que composant ActiveX, soit en tant qu'objet JavaScript natif.
XMLHttpRequest, cependant, expose le protocole HTTP à un niveau très bas, ce qui donne au développeur beaucoup de puissance, mais l'oblige également à écrire beaucoup de code afin de faire des choses simples.
Prototype utilise son propre système d'héritage d'objets pour fournir une hiérarchie d'objets d'assistance Ajax, des classes de base plus génériques étant sous-classées par des assistants plus ciblés qui permettent de coder les types les plus courants de requête Ajax sur une seule ligne.