Ajax et Web 2.0
Par PlaceOweb le samedi, septembre 9 2006, 01:36 - Javascript - Lien permanent
A la découverte de AJAX : Asynchronous JavaScript And XML selon le soit disant Web 2.0
AJAX est une méthode de développement (à base de langage Javascript et de son objet XMLHttpRequest) pour les sites web qui permet de mettre à jour une page web, sans avoir à la recharger, ce qui permet de gagner en rapidité.
Les frameworks JavaScript (JS)
- SmartClient Ajax RIA System d'Isomorphic Software : SmartClient is the mature Ajax RIA system for high-performance, high-productivity business web applications.
- ExtJs : Cross-browser JavaScript library for building rich internet applications
Bibliothèques JavaScript (JS)
- Dojo : The Dojo Toolkit is an open-source JavaScript toolkit useful for building great web applications.
- jQuery : Query is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript.
- Mootools : MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer.
- Prototype : Prototype is a JavaScript Framework that aims to ease development of dynamic web applications.
- Rico (basé sur Prototype) : Rico is a JavaScript library for creating rich internet applications. Based on Prototype, it includes grids, calendar & tree controls, drag & drop, and cinematic effects. Its object-oriented framework makes it easy to add richness to your web application.
- Scriptaculous (basé sur Prototype) : script.aculo.us provides you with easy-to-use, cross-browser user interface JavaScript libraries to make your web sites and web applications fly.
- SimpleJS (basé sur Sake) : SimpleJS is a javascript library simple and light proposing functions ready with the use to facilitate the exploitation of ajax.
- Yahoo! User Interface Library : The YUI Library is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX.
Tips et vrac
- webjax.eu est un site basé sur des exemples d'utilisations les librairies JS, ce qui permet rapidement de juger de leur simplicité. Actuellement les nuages de tags les + présents vous indiqueront l'axe de ce site : prototype.js (66) javascript (58) prototype (57) xml (55) xhtml (51) Scriptaculous (48) Scriptaculous.js (40) DOM (36) Ajax (26) ajax (25)
- Tutoriels, exemples de scripts Ajax
- Savoir si les librairies JavaScript jQuery, Prototype, Mootools, YUI et DOJO sont présentes sur une page web
- The Best JavaScript Library, après comparaison entre jQuery, Prototype et YUI (Yahoo! UI), Emad nous indique qu'il a préférer la librairie javascript jQuery et pourquoi.
- Quand un habitué de Prototype teste jQuery :
- http://stickmanlabs.com/lightwindow/index.html, est écrit avec l'aide de scriptaculous et prototype
- Un bloc note prototype.js
Ancien article
Commençons par les meilleures explications qui soient :
- L'objet XMLHttpRequest
- Tout JavaScript.com > Tutoriaux > XMLHTTPRequest
- L'objet XMLHttpRequespar l'OpenWeb
- Web 2.0, allez plus loin avec AJAX et XMLHttpRequest (developpez.com)
Document sur Ajax par l'excellent j0k3r.net:
Introduction à AJAX
L'objet XmlHttpRequest
Les frameworks AJAX les plus connus
Premier pas avec AJAX
Exemples de scripts
Édition à la volée en AJAX (Edit in place)
Ajax - Une autocompletion avancée en AJAX, Une autocompletion avancée, documentée et codée en AJAX
Ajax - Lier deux champs en autocompletion
Auto complétion en ajax :
- Ajax - une autocomplétion pas à pas (developpez.com)
- Utilisation du composant AJAX Auto Complete Text Field pour Sun java Studio Creator 2
- Une explication autours de la ville et du code postal pour une saisie automatique.
Les frameworks :
Ce blog propose les une description des différents framework JS
- Scriptaculous (basé sur Prototype)
- OpenRico (basé sur Prototype)
- jQuery
- Mootools
- Prototype
- Yahoo! User Interface Library
- SimpleJS (basé sur Sake)
Cet autre blog explique les technologies riches : AJAX
- Dojo de la Dojo Foundation.
- Rialto : Rich Internet Application Toolkit.
- ATF pour AJAX Toolkit Framework, à suivre de près car soutenu par l'ensemble des acteurs du marché (IBM, Google, Oracle, Red Hat, Eclipse, etc.).
- Google Web Toolkit (WGT) pour développer en Java des applications s'appuyant sur AJAX.
- Script.aculo.us : le framework AJAX spécialisé dans les effets
script.aculo.us
script.aculo.us est une extension de la magnifique bibliothèque Prototype.
Une nouvelle version de script.aculo.us (1.6.4) a été publiée script.aculo.us ce 6 septembre 2006. script.aculo.us vous permet de faire de beaux effets en JavaScript mais vous facilite aussi l'approche d'AJAX. Cette mise à jour concerne uniquement des beugues et doit toujours être utilisé avec la dernière version de prototype, la 1.5.0_rc0 final. prototype.js est inclut dans le paquetage, rassurez-vous.
sajax
Mais alors qu'est ce que sajax ?
Sajax (Simple Ajax) est une bibliothèque pour simplifier au maximum l'utilisation des requêtes distantes de type XMLHTTPRequest. Sajax permet d'appeler des fonctions PHP depuis une page Web via JavaScript, dans réaliser de rafraîchissement de page. La bibliothèque prend 99% du travail en charge, alors vous n'avez pas de raison de ne pas l'utiliser. (webmaster-hub.com)
Les IDE
Et quels IDE sont diponibles pour Ajax ?
Compléments 2008
Ajaxian : Ajax Platform : Actualité sur tout ce qui peut toucher Ajax
Comparatif yahoo (yui) vs prototype
http://blog.barbayellow.com/2007/01/12/yahoo-vs-prototype-cas-pratique-2/
Etude des Frameworks Ajax par clever-age.com
- Google Web Toolkit (GWT) : Google Web Toolkit (GWT) est un framework de développement d'applications Ajax écrit en Java. Il aide le développeur à monter plus facilement des applications riches, sans avoir à se soucier de la compatibilité entre navigateurs.
- jQuery : JQuery est une librairie Javascript Open Source fortement axée sur la souplesse d'utilisation, la qualité du code et la légèreté. Malgré sa toute relative jeunesse, cette politique lui a valu une adoption rapide.
- Yahoo ! User Interface (YUI) : Yahoo ! User Interface est une librairie développée par les ingénieurs de Yahoo ! mise à disposition du public depuis le début de l'année 2006. YUI est une librairie de qualité, fonctionnelle et pérenne.
Comparaison de 5 framework ajax (mai 01, 2007)
- Dojo 0.3.1 (dojotoolkit.org).
- Prototype and Scriptaculous 1.4 (www.prototypejs.org and script.aculo.us).
- Direct Web Reporting 1.0 (getahead.org/dwr).
- Yahoo! User Interface Library 0.11.1 (developer.yahoo.com/yui).
- Google Web Toolkit 1.0 (code.google.com/webtoolkit).
Among the five AJAX frameworks, Dojo, Prototype/Scriptaculous, and YUI were pure JavaScript libraries and worked well in our environment.
DWR is a Java AJAX framework that dynamically generates JavaScript based on Java classes from the application server. Java methods are called from web pages. Unfortunately, this didn't fit into our content-management server architecture. Because a custom patch was required to make it work with our environment, we decided that DWR wasn't a good fit.
GWT is a Java-based AJAX framework that lets you write front-end UI components using Java, then use the GWT compiler to convert them into HTML and JavaScript files. GWT's programming model also didn't fit well with our development environment because our team was split between UI developers and back-end Java developers. Also, the generated HTML/JavaScript code would be difficult to change if we had browser issues. Finally, building the application with GWT required us to learn new Java APIsnot good, considering our time and budget constraints.
Nous avons pris un coup d'oeil au code source de chaque cadre et estimé que YUI est plus facile à comprendre en raison de son bien documentée et détaillée code tutoriels du site Yahoo. Au moment de ce projet de développement, tant Dojo et Prototype manque de documentation complète et nous avons dû essayer de construire nos propres prototypes. En fin de compte, YUI apparaît comme le plus facile à travailler.
PHP AJAX
- xajax : xajax PHP & Javascript Library - The easiest way to develop powerful Ajax applications with PHP
- ajaxcore: AjaxCore an Ajax PHP Framework which is based on prototype javascript library
- Un post d'un gars qui essayer les 2 frameworks et qui a opté pour le dernier.
Envie de jouer à Super Mario en Javascript (14kB)
- Version normale : sans musique or avec musique
- Double taille: sans musique or avec musique
2 frameworks javascript :
- extJS: www.extjs.com (utilisé par beaucoup d'autres frameworks tels GWT-EXT)
- Zapatec: www.zapatec.com (payant)
Une liste de librairies Javascript pour développer en Ajax
Ce site énumère :
- Prototype : ce framework Javascript est utilisable tel quel, mais il sert également de base pour des librairies plus évoluées et plus lourdes comme Rico et Script.aculo.us (à voir ci-dessous). Il n'inclut donc pas d'effets visuels, mais comporte tout le nécessaire pour effectuer des requêtes en Ajax.
- Rico : A l'inverse de Prototype, Rico propose donc en plus du support Ajax la possibilité de fabriquer des animations ou d'effectuer des glissers-déposers (ou drags and drops en anglais) comme dans un logiciel classique. Malheureusement, sa documentation semble un peu succincte.
- Script.aculo.us : sûrement un des plus connus (probablement à cause de son intégration à Ruby on Rails). Il bénéficie d'une communauté par conséquent importante et dispose même d'un mécanisme d'extensions. Script.aculo.us est fournit de base avec l'auto-complétion en Ajax.
- Mootools : une librairie compacte et modulaire qui a été conçu en suivant les principes de la programmation orientée objet. Sa syntaxe est très agréable et de nombreuses extensions viennent compléter les fonctionnalités de base. Le module Ajax est capable de gérer le format Json.
- Dojo Toolkit : certainement une des librairies les plus complètes qui soient. Dojo Toolkit est supportée par une fondation qui regroupe des entreprises comme IBM ou encore Sun Microsystems. Elle repose sur un système de widgets et le package Ajax prend en compte différents types de transport comme les iframes.
- jQuery : JQuery est une librairie Javascript très prometteuse. Elle est légère, extensible et très simple à utiliser. La documentation est vraiment très complète, avec des tutoriaux abordant de manière thématique les différentes fonctionnalités. Idéal pour se lancer dans le développement Ajax.
- MochiKit : apparemment, les développeurs Python devraient s'y retrouver plus facilement que les autres, car on retrouve dans cette librairie un peu la philosophie de ce langage. MochiKit dispose de tout le nécessaire pour implémenter des tâches asynchrones.
- Yahoo! UI Library : Yahoo! a mis à disposition sa librairie Javascript sous une licence open source. Il est donc maintenant possible de concevoir des pages tout aussi riches et interactives que celles des nombreux portails de la société. Le support est bien évidemment exemplaire.
libs javascript
- dhtmlgoodies : A library of DHTML and Ajax scripts
Les IDE javascript (Integrated Development Environment)
- Aptana Studio est un puissant, libre et open source Ajax environnement de développement qui se lance seul ou dans Eclipse. Sachez qu'il existe également le serveur ajax : Jaxer.
- JavaScript Plus! est un éditeur avancé pour JavaScript sous Windows.
Payant.
- JSide pour JavaScript, est un simple mais efficace IDE JavaScript. JavaScript a été une partie du web pour longtemps, mais avec l'avènement d'AJAX est devenu une partie intégrante.
Ce projet n'est plus maintenu et n'évoluera plus. J'ai tester la dernière version 1.0, juste en ouvrant un .js et je n'ai rien compris ni trouvé la complétion syntaxique.
- Spket IDE est un puissant outil pour développer du JavaScript et du XML. Le puissant éditeur de JavaScript, XUL/XBL et Yahoo! Widget développement.
Et pour le déboguer : le module Firebug pour Firefox
Tableau éditable (Grid editor, DataGrid, Cell Editing)
- JS
- JS+PHP
- La vielle lib (2006) xajaxGrid permet d'éditer les enregistrements un à un en ouvrant à chaque fois le formulaire associé.
- phpMyDataGrid permet également l'édition mais aussi à la volée dans la cellule (inline). Vous trouverez les démos de phpMyDataGrid. Par contre la version payante permet plus d'options.
Cliquer glisser (Drag and Drop)
Références
Autres ressources
- 50 Excellent AJAX Tutorials (2008)