» » Ajax: Новий підхід до веб-додатків

Ajax: Новий підхід до веб-додатків

Ajax: Новий підхід до веб-додатків
Якщо і можна назвати "гламурним" щось у сучасному проектуванні інтерфейсів, то це створення веб-додатків. Врешті-решт, коли в останній раз ви чули щоб хтось захоплювався інтерфейсом продукту не розміщені в Інтернеті? (Гаразд, крім iPod.) Усі найсвіжіші і новаторські роботи знаходяться в мережі.
Незважаючи на це, розробники веб-інтерфейсів не можуть нічого вдіяти з заздрістю до своїх колег, які створюють desktop-додатки. Звичайні програми мають всю ту силу й швидкість відгуку, які, здаються недоступними для веб-додатків. Та ж простота, яка сприяла швидкому поширенню всесвітньої мережі тепер створює розрив між тим користувальницьким взаємодією, яка можемо надати ми, і взаємодією користувачів з настільними додатками.
Цей розрив скорочується. Погляньте на Google Suggest. Подивіться, передбачувані пропозиції майже безперервно оновлюються в міру того як ви вводите текст. Тепер зайдіть на Google Maps. Збільште масштаб. Візьміть курсором карту й посувайте її туди-сюди. Знову ж таки, все відбувається майже миттєво, без будь-якого очікування перезавантаження сторінки. Google Suggest і Google Maps – ось два приклади нового підходу до проектування веб-додатків, який ми в компанії Adaptive Path називаємо Ajax. Це поняття утворено як скорочення від "Асинхронний javascript + XML> і являє собою фундаментальний прорив наших уявлень про можливості веба.

Що таке Ajax
Ajax – не технологія. Насправді це декілька технологій процвітаючих кожна у своїй області, зібраних в новий сильний напрям. Ajax об'єднує:
стандартизовані з використанням XHTML та CSS;
динамічне відображення та взаємодія за допомогою Document Object Model;
обмін і керування даними через XML і XSLT;
асинхронні отримання даних з використанням XMLHttpRequest;
і javascript, що зв'язує все це воєдино.
Класична модель веб-додатки діє таким чином: більшість дій користувача відправляють назад на сервер HTTP-запит. Сервер виробляє необхідну обробку – отримує дані, обробляє числа, взаємодіє з різними успадкованими системами і потім видає HTML сторінку клієнта. Ця модель запозичена з першого застосування вебу як гіпертекстової середовища, але ті хто читали книгу знають, то що робить веб підходящим для гіпертексту не обов'язково роблять його гарним для програмних додатків.
Ajax: Новий підхід до веб-додатків

У цьому підході багато технічного сенсу, але їм не досягається хорошу взаємодію з користувачем. Поки сервер робить свою роботу, чим займається користувач? Правильно, чекає. І з кожним наступним кроком користувач чекає ще і ще.
Очевидно, якщо б ми створювали веб з нуля, то не стали б змушувати користувачів весь час чекати. Якщо вже сторінка завантажена, чому взаємодія з користувачем повинно зупинятися кожен раз, коли програмі потрібно щось від сервера? Справді, навіщо користувачеві взагалі бачити що додаток з'єднується з сервером?

У чому відмінність Ajax
Додаток Ajax виключає взаємодія типу старт-стоп-старт-стоп шляхом введення механізму Ajax як проміжного шару між користувачем і сервером. Може здатися що додаючи новий рівень у додаток можна тільки уповільнити його реакцію, але в дійсності навпаки.
Замість того щоб завантажувати сторінку на початку користувача сесії браузер завантажує движок Ajax, написаний на javascript і зазвичай захований в прихований кадр. Цей движок відповідає за формування користувальницького інтерфейсу і взаємодія з сервером від імені користувача. Движок Ajax дозволяє виробляти взаємодія з користувачем асинхронно, тобто незалежно від взаємодії з сервером. Таким чином користувачеві більше не потрібно спостерігати пусте вікно браузера і курсор у вигляді пісочного годинника в очікуванні дій сервера.
Ajax: Новий підхід до веб-додатків


Кожна дія користувача, яке зазвичай справляє HTTP-запит, тепер замість цього приймає форму javascript-виклику движка Ajax. Кожна відповідь на дію користувача, що не вимагає звернення до сервера, як то проста перевірка даних, редагування даних у пам'яті, і навіть деяка навігація, виконується движком самостійно. Якщо ж для відповіді потрібна інформація з сервера, наприклад завантаження додаткового інтерфейсного коду, передача даних для обробки, або отримання нових даних, то движок проводить необхідні запити асинхронно, зазвичай за допомогою XML, не перериваючи взаємодії користувача з додатком.

Хто використовує Ajax
Величезні інвестиції в розробку підходу Ajax робить Google. Усі найбільші продукти анонсовані за останній рік – Orkut, Gmail, останні бета-версії Google Groups, Google Suggest, і Google Maps – Додатки Ajax. (За технічними подробицями реалізації Ajax зверніться до відмінних дослідженням Gmail, Google Suggest і Google Maps.) Решта не відстають: багато улюблені всіма властивості сервісу Flickr покладаються на Ajax, а механізми пошуку A9.com від Amazon використовують схожу технологію.
Ці проекти демонструють, що Ajax працює не тільки в теорії, але і на практиці для реальних додатків. Це не чергова лабораторна теорія. Програми Ajax можуть приймати будь-який масштаб від простого і з складається з однієї функції Google Suggest до дуже складного і хитромудрого Google Maps.
Працюючи з Ajax останні кілька місяців, ми в Adaptive Path зрозуміли, що відкрили тільки верхівку айсберга того багатства взаємодії та прискорення роботи, які надають програми Ajax. Зараз це важливий напрям розвитку веб-додатків, і його важливість буде тільки рости. І з огляду на велику кількість розробників, які вже вміють використовувати ці технології, ми очікуємо побачити як все більше організацій візьмуть приклад з Google і використовують конкурентні вигоди, які пропонує Ajax.

Що далі
Основне завдання створення додатків Ajax не технічна. Адже основні технології Ajax витримані часом, стабільні й добре вивчені. Навпаки, завдання для розробників цих програм полягає в тому, щоб забути про своїх уявленнях про обмеження веб-додатків і почати думати ширше, великим спектром можливостей.
Буде цікаво.


934 09.10.13



Напівжирний Нахилений текст Підкреслений текст Перекреслений текст | Вирівнювання по лівому краю По центру Вирівнювання по правому краю | Вставка смайликів Вибір кольору | Прихований текст Вставка цитати Перетворити вибраний текст з транслітерації в кирилицю Вставка спойлеру