AJAX (Asynchronous JavaScript And XML) — підхід до побудови користувацьких інтерфейсів вебзастосунків, за яких вебсторінка, не перезавантажуючись, у фоновому режимі надсилає запити на сервер і сама звідти довантажує потрібні користувачу дані. AJAX — один з компонентів концепції DHTML.
Про AJAX заговорили після появи в лютому 2005 року статті Джесі Джеймса Гарретта (Jesse James Garrett) «Новий підхід до вебзастосунків». AJAX — не самостійна технологія. Це ідея.
Суть підходу
AJAX — це не самостійна технологія, а швидше концепція використання декількох суміжних технологій. AJAX-підхід до розробки, який призначений для користувачів інтерфейсів, комбінує кілька основних методів і прийомів:
- Використання DHTML для динамічної зміни змісту сторінки.
- Використання XMLHttpRequest для звернення до сервера «на льоту», не перезавантажуючи всю сторінку повністю
- альтернативний метод — динамічне підвантаження коду JavaScript в тег <SCRIPT> [ 21 жовтня 2007 у Wayback Machine.] з використанням DOM, що здійснюється із використанням формату JSON)
- динамічне створення дочірніх фреймів [ 14 травня 2008 у Wayback Machine.]
Використання цих підходів дозволяє створювати набагато зручніші вебінтерфейси користувача на тих сторінках сайтів, де необхідна активна взаємодія з користувачем. AJAX — асинхронний, тому користувач може переглядати далі контент сайту, поки сервер все ще обробляє запит. Браузер не перезавантажує web-сторінку і дані посилаються на сервер без візуального підтвердження (крім випадків, коли ми самі захочемо показати процес з'єднання з сервером). Використання AJAX стало популярним після того, як компанія Google почала активно використовувати його при створенні своїх сайтів, таких як Gmail, Google Maps і . Створення цих сайтів підтвердило ефективність використання даного підходу.
Порівняння класичного підходу та AJAX
Класична модель вебзастосунку:
- Користувач заходить на вебсторінку і натискає на який-небудь її елемент
- Браузер надсилає запит серверу
- У відповідь сервер генерує повністю нову вебсторінку і відправляє її браузеру і т. д.
- З боку сервера можлива генерація не всієї сторінки наново, а тільки деяких її частин, з подальшою передачею користувачу.
Модель AJAX:
- Користувач заходить на вебсторінку і натискає на який-небудь її елемент.
- Браузер відправляє відповідний запит на сервер.
- Сервер віддає тільки ту частину документа, яка змінилася.
Варіації
В деяких застосунках використовуються певні варіації з форматом відповіді сервера, такі варіації набули напівофіційні назви.
AHAH (Asynchronous HTML and HTTP) — це споріднений AJAX підхід для динамічного оновлення вебсторінок, використовуючи JavaScript. Основною його відмінністю від AJAX є те, що відповіді сервера повинні бути звичайним HTML. Перевага підходу полягає в більшій сумісності і функціональності (підтримка навігаційних кнопок браузера, аплоад файлів тощо). Реалізується у вигляді звичайних фреймів, що автоматично міняють свій розмір під розмір вмісту, або у вигляді прихованих фреймів, що виконують тільки функції завантаження даних.
Asynchronous XHTML and HTTP, або абревіатура AXAH — це майже те ж саме що і AHAH. Різниця тільки в тому, що в AHAH сервер клієнтові повертає HTML, а в AXAH вже XHTML.
Оглядачі, які підтримують AJAX
Зауважте, що це загальний список і підтримка застосунків AJAX залежатиме від особливостей підтримки оглядача:
- Версія Microsoft Internet Explorer 5.0 і вище, а також оглядачі, засновані на ньому (версії ОС Mac не підтримуються)
- Оглядач Opera та програмне забезпечення для пристроїв від Opera Software.
- Засновані на Gecko подібно до Mozilla, Mozilla Firefox, SeaMonkey, Camino, Flock, Epiphany, та версія Netscape 7.1 і вище.
- Оглядачі з вбудованим KHTML API (WebKit) версії 3.2 і вище, зокрема Konqueror 3.2 і вище, версія Apple Safari 1.2 і вище, Google Chrome.
Див. також
Виноски
- Модуль AHAH [ 8 лютого 2010 у Wayback Machine.] в Drupal
Посилання
- Google suggest [ 7 листопада 2006 у Wayback Machine.] та Google Maps [ 13 жовтня 2014 у Wayback Machine.] — проекти, які показали можливості Ajax
- Protopage [ 13 квітня 2022 у Wayback Machine.] — гарний приклад сайту на Ajax (особисті замітки)
- eyeOS — online-робочий стіл на Ajax
- BIM [ 14 квітня 2022 у Wayback Machine.] — online-агрегатор новин на Ajax
- Браузер по Wikipedia.org [ 23 квітня 2014 у Wayback Machine.] — оболонка для навігації по Wikipedia.org на Ajax
Розробникам
- Стаття Very Dynamic Web Interfaces [ 16 листопада 2006 у Wayback Machine.] — приклад базового асинхронного запиту.
- Ajax security basics [ 21 листопада 2008 у Wayback Machine.] (англ.)
- яваскрипт.укр/AJAX [ 13 квітня 2021 у Wayback Machine.] — приклади використання AJAX.
Інформаційні ресурси
- Портал — присвячений розробці сайтів на Ajax.
- Портал — огляд новин індустрії Ajax, інструментів для розробки, статті.
Інструментарії
- Dojo Toolkit
- Prevel Framework [ 5 листопада 2020 у Wayback Machine.] — невеликий JavaScript-фреймворк. Багатий функціонал для роботи з Ajax.
- — універсальний AJAX-конвертер для ASP.NET.
- Atlas [ 25 вересня 2019 у Wayback Machine.], реалізація від Microsoft
- Atlas Control Toolkit [ 7 грудня 2006 у Wayback Machine.] — комплект безкоштовних контролів для . Доступні вихідні коди та документація.
- Google Web Toolkit [ 7 травня 2008 у Wayback Machine.] — інструментарій для Java-розробників від Google
- Sajax [ 13 листопада 2006 у Wayback Machine.] — реалізація простого AJAX на PHP
- Rico [ 28 вересня 2007 у Wayback Machine.]
- script.aculo.us [ 1 грудня 2010 у Wayback Machine.]
- XAJAX [ 20 грудня 2005 у Wayback Machine.] — клас для розробників на PHP
- Subsys_JsHttpRequest [ 8 жовтня 2006 у Wayback Machine.] від Дмітрія Котєрова
- Anthem.NET AJAX [ 23 травня 2007 у Wayback Machine.] — комплект безкоштовних контролов Anthem.NET AJAX
- The Yahoo! User Interface Library (YUI) [ 29 вересня 2007 у Wayback Machine.] — інструментарій для створення інтерактивних вебсторінок від Yahoo!.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U Vikipediyi ye statti pro inshi znachennya cogo termina Ayaks znachennya AJAX Asynchronous JavaScript And XML pidhid do pobudovi koristuvackih interfejsiv vebzastosunkiv za yakih vebstorinka ne perezavantazhuyuchis u fonovomu rezhimi nadsilaye zapiti na server i sama zvidti dovantazhuye potribni koristuvachu dani AJAX odin z komponentiv koncepciyi DHTML Model klasichnih zastosunkiv dlya merezhi zliva v pryamomu porivnyanni iz zastosuvannyam AJAX pravoruch Pro AJAX zagovorili pislya poyavi v lyutomu 2005 roku statti Dzhesi Dzhejmsa Garretta Jesse James Garrett Novij pidhid do vebzastosunkiv AJAX ne samostijna tehnologiya Ce ideya Sut pidhoduAJAX ce ne samostijna tehnologiya a shvidshe koncepciya vikoristannya dekilkoh sumizhnih tehnologij AJAX pidhid do rozrobki yakij priznachenij dlya koristuvachiv interfejsiv kombinuye kilka osnovnih metodiv i prijomiv Vikoristannya DHTML dlya dinamichnoyi zmini zmistu storinki Vikoristannya XMLHttpRequest dlya zvernennya do servera na lotu ne perezavantazhuyuchi vsyu storinku povnistyu alternativnij metod dinamichne pidvantazhennya kodu JavaScript v teg lt SCRIPT gt 21 zhovtnya 2007 u Wayback Machine z vikoristannyam DOM sho zdijsnyuyetsya iz vikoristannyam formatu JSON dinamichne stvorennya dochirnih frejmiv 14 travnya 2008 u Wayback Machine Vikoristannya cih pidhodiv dozvolyaye stvoryuvati nabagato zruchnishi vebinterfejsi koristuvacha na tih storinkah sajtiv de neobhidna aktivna vzayemodiya z koristuvachem AJAX asinhronnij tomu koristuvach mozhe pereglyadati dali kontent sajtu poki server vse she obroblyaye zapit Brauzer ne perezavantazhuye web storinku i dani posilayutsya na server bez vizualnogo pidtverdzhennya krim vipadkiv koli mi sami zahochemo pokazati proces z yednannya z serverom Vikoristannya AJAX stalo populyarnim pislya togo yak kompaniya Google pochala aktivno vikoristovuvati jogo pri stvorenni svoyih sajtiv takih yak Gmail Google Maps i Stvorennya cih sajtiv pidtverdilo efektivnist vikoristannya danogo pidhodu Porivnyannya klasichnogo pidhodu ta AJAX Klasichna model vebzastosunku Koristuvach zahodit na vebstorinku i natiskaye na yakij nebud yiyi element Brauzer nadsilaye zapit serveru U vidpovid server generuye povnistyu novu vebstorinku i vidpravlyaye yiyi brauzeru i t d Z boku servera mozhliva generaciya ne vsiyeyi storinki nanovo a tilki deyakih yiyi chastin z podalshoyu peredacheyu koristuvachu Model AJAX Koristuvach zahodit na vebstorinku i natiskaye na yakij nebud yiyi element Brauzer vidpravlyaye vidpovidnij zapit na server Server viddaye tilki tu chastinu dokumenta yaka zminilasya Variaciyi V deyakih zastosunkah vikoristovuyutsya pevni variaciyi z formatom vidpovidi servera taki variaciyi nabuli napivoficijni nazvi AHAH Asynchronous HTML and HTTP ce sporidnenij AJAX pidhid dlya dinamichnogo onovlennya vebstorinok vikoristovuyuchi JavaScript Osnovnoyu jogo vidminnistyu vid AJAX ye te sho vidpovidi servera povinni buti zvichajnim HTML Perevaga pidhodu polyagaye v bilshij sumisnosti i funkcionalnosti pidtrimka navigacijnih knopok brauzera apload fajliv tosho Realizuyetsya u viglyadi zvichajnih frejmiv sho avtomatichno minyayut svij rozmir pid rozmir vmistu abo u viglyadi prihovanih frejmiv sho vikonuyut tilki funkciyi zavantazhennya danih Asynchronous XHTML and HTTP abo abreviatura AXAH ce majzhe te zh same sho i AHAH Riznicya tilki v tomu sho v AHAH server kliyentovi povertaye HTML a v AXAH vzhe XHTML Oglyadachi yaki pidtrimuyut AJAXZauvazhte sho ce zagalnij spisok i pidtrimka zastosunkiv AJAX zalezhatime vid osoblivostej pidtrimki oglyadacha Versiya Microsoft Internet Explorer 5 0 i vishe a takozh oglyadachi zasnovani na nomu versiyi OS Mac ne pidtrimuyutsya Oglyadach Opera ta programne zabezpechennya dlya pristroyiv vid Opera Software Zasnovani na Gecko podibno do Mozilla Mozilla Firefox SeaMonkey Camino Flock Epiphany ta versiya Netscape 7 1 i vishe Oglyadachi z vbudovanim KHTML API WebKit versiyi 3 2 i vishe zokrema Konqueror 3 2 i vishe versiya Apple Safari 1 2 i vishe Google Chrome Div takozhXMLHttpRequest Web 2 0 Open AJAXVinoskiModul AHAH 8 lyutogo 2010 u Wayback Machine v DrupalPosilannyaGoogle suggest 7 listopada 2006 u Wayback Machine ta Google Maps 13 zhovtnya 2014 u Wayback Machine proekti yaki pokazali mozhlivosti Ajax Protopage 13 kvitnya 2022 u Wayback Machine garnij priklad sajtu na Ajax osobisti zamitki eyeOS online robochij stil na Ajax BIM 14 kvitnya 2022 u Wayback Machine online agregator novin na Ajax Brauzer po Wikipedia org 23 kvitnya 2014 u Wayback Machine obolonka dlya navigaciyi po Wikipedia org na Ajax Rozrobnikam Stattya Very Dynamic Web Interfaces 16 listopada 2006 u Wayback Machine priklad bazovogo asinhronnogo zapitu Ajax security basics 21 listopada 2008 u Wayback Machine angl yavaskript ukr AJAX 13 kvitnya 2021 u Wayback Machine prikladi vikoristannya AJAX Informacijni resursi Portal prisvyachenij rozrobci sajtiv na Ajax Portal oglyad novin industriyi Ajax instrumentiv dlya rozrobki statti Instrumentariyi Dojo Toolkit Prevel Framework 5 listopada 2020 u Wayback Machine nevelikij JavaScript frejmvork Bagatij funkcional dlya roboti z Ajax universalnij AJAX konverter dlya ASP NET Atlas 25 veresnya 2019 u Wayback Machine realizaciya vid Microsoft Atlas Control Toolkit 7 grudnya 2006 u Wayback Machine komplekt bezkoshtovnih kontroliv dlya Dostupni vihidni kodi ta dokumentaciya Google Web Toolkit 7 travnya 2008 u Wayback Machine instrumentarij dlya Java rozrobnikiv vid Google Sajax 13 listopada 2006 u Wayback Machine realizaciya prostogo AJAX na PHP Rico 28 veresnya 2007 u Wayback Machine script aculo us 1 grudnya 2010 u Wayback Machine XAJAX 20 grudnya 2005 u Wayback Machine klas dlya rozrobnikiv na PHP Subsys JsHttpRequest 8 zhovtnya 2006 u Wayback Machine vid Dmitriya Kotyerova Anthem NET AJAX 23 travnya 2007 u Wayback Machine komplekt bezkoshtovnih kontrolov Anthem NET AJAX The Yahoo User Interface Library YUI 29 veresnya 2007 u Wayback Machine instrumentarij dlya stvorennya interaktivnih vebstorinok vid Yahoo