AJAX

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

AJAX (Asynchronous JavaScript And XML) — підхід до побудови користувацьких інтерфейсів веб-застосунків, за яких веб-сторінка, не перезавантажуючись, у фоновому режимі надсилає запити на сервер і сама звідти довантажує потрібні користувачу дані. AJAX — один з компонентів концепції DHTML.

Про AJAX заговорили після появи в лютому 2005-го року статті Джесі Джеймса Гарретта (Jesse James Garrett) «Новий підхід до веб-застосунків». AJAX — не самостійна технологія. Це ідея.

Суть підходу[ред.ред. код]

AJAX — це не самостійна технологія, а швидше концепція використання декількох суміжних технологій. AJAX підхід до розробки призначених для користувача інтерфейсів комбінує кілька основних методів і прийомів:

Використання цих підходів дозволяє створювати набагато зручніші веб-інтерфейси користувача на тих сторінках сайтів, де необхідна активна взаємодія з користувачем. AJAX — асинхронний, тому користувач може переглядати далі контент сайту, поки сервер все ще обробляє запит. Браузер не перезавантажує web-сторінку і дані посилаються на сервер без візуального підтвердження (крім випадків, коли ми самі захочемо показати процес з’єднання з сервером). Використання AJAX стало найпопулярніше після того, як компанія Google почала активно використовувати його при створенні своїх сайтів, таких як Gmail, Google Maps і Google Suggest. Створення цих сайтів підтвердило ефективність використання даного підходу.

Порівняння класичного підходу та AJAX[ред.ред. код]

Класична модель веб-застосунку:

  1. Користувач заходить на веб-сторінку і натискає на який-небудь її елемент
  2. Браузер надсилає запит серверу
  3. У відповідь сервер генерує повністю нову веб-сторінку і відправляє її браузеру і т. д.
    • З боку сервера можлива генерація не всієї сторінки наново, а тільки деяких її частин, з подальшою передачею користувачу.

Модель AJAX:

  1. Користувач заходить на веб-сторінку і натискає на який-небудь її елемент.
  2. Браузер відправляє відповідний запит на сервер.
  3. Сервер віддає тільки ту частину документа, яка змінилася.

Варіації[ред.ред. код]

В деяких застосунках використовуються певні варіації з форматом відповіді сервера, такі варіації набули напівофіційні назви.

AHAH (Asynchronous HTML and HTTP) — це споріднений AJAX підхід для динамічного оновлення веб-сторінок, використовуючи JavaScript. Основною його відмінністю від AJAX є те, що відповіді сервера повинні бути звичайним HTML.[1] Перевага підходу полягає в більшій сумісності і функціональності (підтримка навігаційних кнопок браузера, аплоад файлів тощо). Реалізується у вигляді звичайних фреймів, що автоматично міняють свій розмір під розмір вмісту, або у вигляді прихованих фреймів, що виконують тільки функції завантаження даних.

Asynchronous XHTML and HTTP, або абревіатура AXAH — це майже те ж саме що і AHAH. Різниця тільки в тому, що в AHAH сервер клієнтові повертає HTML, а в AXAH вже XHTML.

Оглядачі, які підтримують AJAX[ред.ред. код]

Зауважте, що це загальний список і підтримка застосунків AJAX залежатиме від особливостей підтримки оглядача:

Див. також[ред.ред. код]

Виноски[ред.ред. код]

Посилання[ред.ред. код]

  • Google suggest та Google Maps — проекти, які показали можливості Ajax
  • Protopage — гарний приклад сайту на Ajax (особисті замітки)
  • eyeOS — online-робочий стіл на Ajax
  • BIM — online-агрегатор новин на Ajax
  • Браузер по Wikipedia.org — оболонка для навігації по Wikipedia.org на Ajax

Розробникам[ред.ред. код]

Інформаційні ресурси[ред.ред. код]

  • Портал Ajax Patterns — присвячений розробці сайтів на Ajax.
  • Портал AJAX Impact — огляд новин індустрії Ajax, інструментів для розробки, статті.

Інструментарії[ред.ред. код]