Prototype est un framework JavaScript créé par Sam Stephenson en février 2005 comme un des éléments de base pour le support Ajax de Ruby on Rails.

Prototype

Informations
Développé par Prototype Core Team
Première version Février 2005
Dernière version 1.7.3 (22 septembre 2015)
Dépôt github.com/prototypejs/prototypeVoir et modifier les données sur Wikidata
État du projet Actif
Écrit en Javascript
Type Framework
Licence MIT License
Site web http://prototypejs.org

Format

modifier

Prototype est distribué seul, mais peut être partie intégrante de plus larges projets comme Ruby on Rails, script.aculo.us et Rico. Prototype est utilisée par 2,7 % des sites web, ce qui en fait l'une des plus populaires bibliothèques Javascript[1].

Fonctionnalités

modifier

Prototype fournit diverses fonctions pour le développement d'applications. L'étendue des fonctionnalités vont des raccourcis aux fonctions utilisant XMLHttpRequest (Ajax).

Il fournit également des fonctions permettant de gérer la programmation objet, ce que le JavaScript classique ne peut faire. En JavaScript natif, la création de fonction possède une propriété prototype. Le framework prototype ne doit pas être confondu avec cet élément.

Exemples de fonction

modifier
La fonction $

La fonction dollar $ est utilisée comme raccourci de la méthode du DOM getElementById, permettant d'atteindre tous les éléments .

Exemple d'utilisation :

document.getElementById("id_of_element").style.color = "#ffffff";

Réduction du code après utilisation de la fonction :

$("id_of_element").setStyle({color: "#ffffff"});
La fonction $F

S'appuie sur la fonction $. Elle renvoie la valeur de l'élément de formulaire demandée. Pour une entrée text, la fonction retourne les données contenues dans l'élément. Pour un élément d'entrée select, la fonction retourne la valeur actuellement sélectionnée.

$F("id_of_input_element")
Objet Ajax

Deux méthodes : Ajax.Request (renvoie la sortie XML brut d'un appel AJAX) et Ajax.Updater (injecte le retour à l'intérieur d'un objet DOM spécifié)

Exemple d'utilisation : Le Ajax.Request ci-dessous trouve les valeurs actuelles des deux éléments d'entrée de formulaire HTML, émet une requête HTTP POST au serveur avec les valeurs de l'élément, et exécute une fonction personnalisée (appelé showResponse ci-dessous), lorsque la réponse HTTP est reçue par le serveur :

new Ajax.Request("http://localhost/server_script", {
    parameters: {
        value1: $F("form_element_id_1"),
        value2: $F("form_element_id_2")
    },
    onSuccess: showResponse,
    onFailure: showError
});

Programmation orientée objet

modifier

La bibliothèque fournit les éléments permettant la programmation orientée objet. La méthode Class.create est utilisée pour créer une nouvelle classe. À une classe est alors attribué un prototype qui agit comme un modèle pour les instances de la classe.

var FirstClass = Class.create( {
    // La méthode initialize sert de [[Syntaxe_JavaScript#Constructeur|constructeur]]
    initialize: function () {
        this.data = "Bonjour";
    }
});

Extension d'une autre classe :

Ajax.Request = Class.create( Ajax.Base, { 
    // Remplace la méthode d'initialisation
    initialize: function(url, options) { 
        this.transport = Ajax.getTransport(); 
        this.setOptions(options); 
        this.request(url); 
    }, 
    // ...
});

La fonction Object.extend(dest, src) prend deux objets en paramètre et copie les propriétés du second objet (notion d'héritage). L'objet combiné est retourné comme résultat de la fonction. Comme dans l'exemple ci-dessus, le premier paramètre crée généralement l'objet de base, tandis que le second est un objet anonyme utilisé uniquement pour définir des propriétés supplémentaires. L'ensemble de la déclaration de la sous-classe se passe dans les parenthèses de l'appel de la fonction.

script.aculo.us

modifier
 
Logo de script.aculo.us.

script.aculo.us est une bibliothèque JavaScript basée sur le framework JavaScript prototype offrant des effets visuels et des éléments de l'interface utilisateur par l'intermédiaire du DOM[2],[3].

Il est connu pour être intégré à Ruby on rails et Seaside mais peut être distribué en version standalone[2],[3].

script.aculo.us a été créé par Thomas Fuchs[2],[3]. Il a été extrait de son travail sur Fluxiom, un gestionnaire de ressources numériques de la société wollzelle[2]. La première version grand public est arrivée en juin 2005[3].

Les effets visuels natifs de script.aculo.us sont au nombre de cinq : opacité, échelle, déplacement, surlignement et parallélisme[2],[3]. Ces effets peuvent se combiner pour fournir 16 effets additionnels[2],[3]. Les développeurs peuvent également créer leurs propres effets en se basant sur cet ensemble de fonctionnalités[3]. L'activation d'un effet est le fait de l'association d'une fonction et d'un Id du DOM, par exemple :

new Effect.Fade('message-box');

Les contrôles de l'interface utilisateur incluent le glisser-déplacer (Drag and Drop), l'autocompletion, l'édition sur place[3].

Le Framework permet également de créer des éléments du DOM dynamiquement[2],[3].

Notes et références

modifier

Notes

modifier

Références

modifier
  1. (en) « Usage of JavaScript libraries for websites », sur w3techs.com (consulté le 25 janvier 2014).
  2. a b c d e f et g (de) Uwe Klappert, chap. 1.5 « Script.aculo.us », dans Web 2.0 mit ASP.NET und Ajax: Praxiseinstieg in die Erstellung interaktiver Webseiten ; [inklusive CD-ROM], mitp Verlags GmbH & Co. KG, 2010 (lire en ligne).
  3. a b c d e f g h et i (en) Dana Moore, Raymond Budd et Edward Benson, « Script.aculo.us », dans Professional Rich Internet Applications: AJAX and Beyond, John Wiley & Sons, 15 mars 2007 (lire en ligne).

Bibliographie

modifier
  • (en) Leslie M. Orchard, Ara Pehlivanian, Scott Koon et Harley Jones, Professional JavaScript Frameworks : Prototype,YUI, ExtJS, Dojo and MooTools, Wrox Press, 31 août 2009, 1re éd., 888 p. (ISBN 978-0-470-38459-6, lire en ligne)

Voir aussi

modifier

Articles connexes

modifier

Liens externes

modifier

📚 Artikel Terkait di Wikipedia

Framework JavaScript

(comment ?) selon les recommandations des projets correspondants. Un framework JavaScript est une bibliothèque d'outils à destination des développeurs front-end

React

en version open source en Mars 2015. Ce framework est basé sur React et permet de créer, toujours en Javascript, des applications multi-plateformes Android

Archetype JavaScript Framework

(aide) Archetype était un framework JavaScript, écrit au-dessus de Prototype (en) dont le but était l'industrialisation du JavaScript côté client. Celui-ci

Prototype (homonymie)

Programmation orientée prototype, type de programmation ; Prototype, framework javascript. Théorie du prototype, un modèle de catégorisation graduelle en sciences

Javascript discret

de Framework JavaScript (jQuery, Prototype, Archetype…) et les premiers débogueurs de bonne qualité rendent possible la production d'un JavaScript organisé

Programmation orientée prototype

programmation orientée prototype est une forme de programmation orientée objet sans classe, fondée sur la notion de prototype. Un prototype est un objet à partir

AngularJS

voir Wikidata (aide) AngularJS (aussi appelé Angular 1) était un framework JavaScript libre et open source conçu par Google. Il permettait de développer

React Native

pour iOS à partir d'un thread JavaScript. Ils ont décidé d'organiser un Hackathon interne pour perfectionner ce prototype afin de pouvoir créer des applications