AJAX
Матеріал з Вікіпедії — вільної енциклопедії.
AJAX (Asynchronous JavaScript And XML) — підхід до побудови призначених для користувача інтерфейсів веб-додатків, за якого веб-сторінка не перезавантажуючись, сама довантажує потрібні користувачу дані. AJAX — один з компонентів концепції DHTML.
Про AJAX заговорили після появи в лютому 2005-го року статті Джесі Джеймса Гарретта (Jesse James Garrett) «Новий підхід до веб-додатків». AJAX — не самостійна технологія. Це ідея.
Зміст |
[ред.] Суть підходу
AJAX підхід до розробки призначених для користувача інтерфейсів базується на двох основних принципах:
- Використання DHTML для динамічної зміни змісту сторінки.
- Використання XMLHttpRequest для звернення до сервера «на льоту», не перезавантажуючи всю сторінку повністю (також існує альтернативний варіант — динамічне підвантаження JavaScript з використанням DOM).
Використання цих двох підходів дозволяє створювати набагато зручніші веб-інтерфейси користувача на тих сторінках сайтів, де необхідна активна взаємодія з користувачем. AJAX — асинхронний, тому користувач може продовжувати переглядати контент сайту, поки сервер все ще обробляє запит. Оглядач Тенет не перезавантажує web-сторінку і дані посилаються на сервер без візуального підтвердження (крім випадків, коли ми самі захочемо показати процес з'єднання з сервером). Використання AJAX стало найбільш популярне після того, як компанія Google почала активно використовувати його при створенні своїх сайтів, таких як Gmail, Google Maps і Google Suggest. Створення цих сайтів підтвердило ефективність використання даного підходу.
[ред.] Порівняння класичного підходу та AJAX
Класична модель веб-застосування:
- Користувач заходить на веб-сторінку і натискає на який-небудь її елемент
- Оглядач тенет надсилає запит серверу
- У відповідь сервер генерує повністю нову веб-сторінку і відправляє її браузеру і т.д.
- З боку сервера можлива генерація не всієї сторінки наново, а тільки деяких її частин, з подальшою передачею користувачу.
Модель AJAX:
- Користувач заходить на веб-сторінку і натискає на який-небудь її елемент.
- Браузер відправляє відповідний запит на сервер.
- Сервер віддає тільки ту частину документа, яка змінилася.
[ред.] Оглядачі, які підтримують AJAX
Зауважте, що це загальний список і підтримка застосувань AJAX залежатиме від особливостей підтримки оглядача:
- Версія Microsoft Internet Explorer 5.0 і вище, а також оглядачі засновані на ньому (Версії ОС Mac, не підтримуються)
- Оглядач Opera та програмне забезпечення для пристроїв від Opera Software
- Засновані на Gecko подібно до Mozilla, Mozilla Firefox, SeaMonkey, Camino, Flock, Epiphany, Galeon та версія Netscape 7.1 і вище
- Оглядачі, з вбудованим KHTML API версії 3.2 і вище, зокрема Konqueror 3.2 і вище, версія Apple Safari 1.2 і вище
[ред.] Дивіться також
[ред.] Посилання
- Google suggest та Google Maps — проекти, які показали можливості Ajax
- Protopage — гарний приклад сайту на Ajax (особисті замітки)
- eyeOS - online-робочий стіл на Ajax
- BIM - online-аггрегатор новин на Ajax
- Браузер по Wikipedia.org - оболочка-навигатор по Wikipedia.org на Ajax
[ред.] Розробникам
- Стаття Very Dynamic Web Interfaces — приклад базового асинхронного запиту.
- Ajax security basics (англ.)
[ред.] Інформаційні ресурси
- Портал Ajax Patterns — присвячений розробці сайтів на Ajax.
- Портал AJAX Impact — огляд новин індустрії Ajax, інструментів для розробки, статті.
[ред.] Інструментарії
- Dojo Toolkit
- Ajaxium — Універсальний AJAX-конвертер для ASP.NET.
- Atlas, реалізація від Microsoft
- Atlas Control Toolkit — комплект безкоштовних контролов для MS Atlas. Доступні вихідні коди та документація.
- Rialto
- Google Web Toolkit — Інструментарій для Java-розробників від Google
- Sajax — реалізація простого AJAX на PHP
- Prototype
- Rico
- script.aculo.us
- XAJAX — Клас для розробників на PHP
- Subsys_JsHttpRequest від Дмітрія Котєрова