Если а также дозволено наименовать "гламурным" что сейчас-в таком случае в современном проектировании интерфейсов, в таком случае это создание веб-приложений. В конце концов, в какое время в завершительный момент вы слышали дабы кто-в таком случае восхищался интерфейсом продукта далеко не размещённого в Всемирной паутине? ( Ладно, кроме iPod.) Все самые свежие а также новаторские работы находятся в сети.
Несмотря на это, разработчики веб-интерфейсов отнюдь не могут ничто поделать вместе с завистью к своим коллегам, какие делают desktop-приложения. Обычные программы имеют всю ту силу а также быстроту отклика, какие, кажутся недоступными с целью веб-приложений. Та же простота, которая способствовала спешному распространению всемирной сети нынче создаёт разрыв посреди тем пользовательским взаимодействием, которое можем предоставить все мы, а также взаимодействием пользователей вместе с настольными приложениями.
Этот разрыв сокращается. Взгляните на Google Suggest. Посмотрите, предполагаемые предложения приблизительно постоянно обновляются согласно мере того как будто вы вводите текст. Нынче зайдите на Google Maps. Увеличьте масштаб. Захватите курсором карту а также подвигайте её туда-сюда. Опять же, всё происходит едва мгновенно, кроме всякого ожидания перезагрузки страницы. Google Suggest а также Google Maps - вот 2-ва примера нового подхода к проектированию веб-приложений, какой все мы в фирмы Adaptive Path называем Ajax. Это понятие образовано как будто сокращение от <Асинхронный JavaScript + XML> а также представляет собой фундаментальный прорыв наших представлений об возможностях веба.
Что такое Ajax
Ajax - никак не процесс создания. На самом деле это немного технологий преуспевающих каждая в своей области, собранных в новое сильное настроение. Ajax объединяет:
стандартизованное представление вместе с использованием XHTML а также CSS;
динамическое отображение а также взаимодействие при помощи Document Object Model;
обмен а также управление данными чрез XML а также XSLT;
асинхронные получение данных вместе с использованием XMLHttpRequest;
и JavaScript, связывающий всё это вместе.
Классическая модель веб-приложения действует следующим образом: большая часть действий пользователя отправляют назад на сервер HTTP-запрос. Сервер производит необходимую обработку - получает данные, обрабатывает числа, взаимодействует вместе с различными унаследованными системами а также следом выдаёт HTML страницу клиенту. Эта модель заимствована из первоначального применения веба как будто гипертекстовой среды, однако те кто читали книгу знают, в таком случае что сейчас мастерит веб подходящим ради гипертекста никак не непременно делают его хорошим ради программных приложений.
Рисунок 1: Сверка традиционной виды веб-приложений (слева) вместе с моделью Ajax (справа).
В этом подходе множество технического смысла, однако им далеко не достигается хорошее взаимодействие вместе с пользователем. Пока сервер мастерит свою работу, чем занимается пользователь? Правильно, ждёт. А также вместе с каждым следующим шагом пользователь ждёт ещё а также ещё.
Очевидно, в случае бы все мы создавали веб вместе с нуля, в таком случае отнюдь не стали бы заставлять пользователей всё время дожидаться. В случае если уж страница загружена, отчего взаимодействие вместе с пользователем должно останавливаться любой момент, в какое время программе нужно что именно-так от сервера? В самом деле, ради чего пользователю вообще наблюдать что сейчас приложение соединяется вместе с сервером?
В чём отличие Ajax
Приложение Ajax исключает взаимодействие вида старт-стоп-старт-стоп путём введения механизма Ajax как будто промежуточного слоя промеж пользователем а также сервером. Вероятно показаться что сейчас добавляя новый степень в приложение дозволено лишь только замедлить его реакцию, только в действительности навыворот.
Вместо того для того чтобы загружать страницу в начале пользовательской сессии браузер загружает движок Ajax, написанный на JavaScript а также как правило спрятанный в скрытый фрейм. Оныйа#Только движок отвечает за формирование пользовательского интерфейса а также взаимодействие вместе с сервером от имени пользователя. Движок Ajax разрешает производить взаимодействие вместе с пользователем асинхронно, так существует независимо от взаимодействия вместе с сервером. Таким образом пользователю незначительно больше отнюдь не нужно наблюдать пустое окно браузера а также курсор в виде песочных часов в ожидании действий сервера.
Рисунок 2: Сверка диаграмм взаимодействия традиционного веб-приложения (сверху) а также асинхронного приложения 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 выдержаны временем, стабильны а также отлично изучены. Наоборот, задача ради разработчиков этих приложений заключается в том, затем чтобы позабыть об собственных представлениях об ограничениях веб-приложений а также активизировать мыслить шире, внушительным спектром возможностей.
Будет увлекательно.
Вопросы а также ответы.
13 марта 2005: После публикации эссе Джесси все мы получили невероятно большое число писем от читателей вместе с вопросами об Ajax. Здесь Джесси отвечает на отдельные наиболее общие вопросы.
Вопрос. Изобрела ли Ajax фирма Adaptive Path или это сделала Google? Участвовала ли фирма Adaptive Path в создании Ajax-приложений Google?
Ответ. Ни Adaptive Path ни Google никак не изобретали Ajax. Последние работы Google просто лучшие примеры приложений Ajax. Adaptive Path отнюдь не была вовлечена в разработку Ajax-приложений Google, только все мы делали это ради иных собственных клиентов.
Вопрос. Продаёт ли Adaptive Path содержания Ajax или является владельцем зарегистрированного товарного знака? В каком месте их дозволено скачать?
Ответ. Ajax это никак не так, что сейчас дозволено скачать. Это подход, так существует средство представлений об архитектуре веб-приложения использующего определённые процесса создания. Ни подход, ни само название Ajax далеко не являются собственностью Adaptive Path.
Вопрос. Является ли Ajax ещё одним названием с целью XMLHttpRequest?
Ответ. Нет. XMLHttpRequest лишь частица уравнения Ajax. XMLHttpRequest - это технический компонент, какой мастерит возможными асинхронные взаимодействия вместе с сервером; Ajax все мы называем всеобщий подход описанный в статье, какой основывается никак не лишь на XMLHttpRequest, а схоже на CSS, DOM, а также иных технологиях.
Вопрос. С целью чего нужно было доставлять всему этому название?
Ответ. Нужно было что сейчас-в таком случае больше короткое чем <Асинхронный JavaScript + CSS + DOM + XMLHttpRequest> ради обсуждения сего подхода вместе с клиентами.
Вопрос. Способы асинхронного взаимодействия вместе с сервером существуют уж множество лет. В чём же новизна подхода Ajax?
Ответ. Новизна в выдающемся использовании этих способов ради изменения фундаментальной виды взаимодействия в реальных веб-приложениях. Ajax закрепляется только лишь немедленно благодаря тому что, что именно требовалось время ради совершенствования этих технологий а также представлений О том как будто наилучшим образом их применять.
Вопрос. Ajax это технологическая платформа или всего лишь только манера проектирования?
Ответ. А также в таком случае а также другое. Ajax это набор технологий используемых дружно определённым образом.
Вопрос. Ради приложений какого вида не меньше всего подходит Ajax?
Ответ. Пока все мы сего далеко не знаем. Из-за относительной новизны данного подхода наши представления об том в каком месте он лучше всего применяется всё ещё на начальной стадии совершенствования. Иной раз а также традиционная модель веб-приложения подходит как будто наилучшее решение задачи.
Вопрос. Означает ли это что сейчас Adaptive Path это анти-Flash?
Ответ. Совершенно конечно нет. Macromedia является клиентом Adaptive Path, а также все мы долгое время поддерживали Flash-технологию. Как специалисты в Ajax все мы ожидаем что сейчас иной раз ради каких-так конкретных задач поэтому Ajax станет наиболее проходящим решением, однако иной раз лучшим решением станет Flash. Похоже все мы заинтересованы в изучении способов комбинирования этих технологий (как будто в случае вместе с Flickr, кой использует а также так а также другое).
Вопрос. Существует ли около Ajax значительные ограничения доступности или совместимости вместе с браузерами? Отключают ли приложения Ajax кнопку <Назад>? Совместим ли Ajax вместе с REST? Существуют ли мнения О безопасности разработки в Ajax? Могут ли быть изобретены Ajax-приложения ради работы при выключенном JavaScript?
Ответ. На все данные вопросы дозволено ответить всего лишь <может быть>. Большинство разработчики еще работают в этом отношении. Все мы считаем что сейчас нужно ещё потрудиться для того чтобы выявить все ограничения Ajax, а также предполагаем что именно на своём пути сообщество разработчиков встретит ещё множество подобных вопросов.
Вопрос. Некоторые из приведённых вами примеров Google отнюдь не применяют XML вообще. Вынужден ли я приминять XML и/или XSLT в приложении Ajax?
Ответ. Нет. XML это один из наиболее развитых способов ввода а также вывода данных из клиентской элементы Ajax, а ничего далеко не мешает вам достигнуть того же эффекта при помощи таких технологий структурирования данных ради обмена как будто JavaScript Object Notation или тому подобных.
Вопрос. Проще ли разработать приложение Ajax согласно сравнению вместе с традиционным веб-приложением?
Ответ. Не непременно. Ajax приложение неизбежно приводит к запуску сложного кода JavaScript на стороне клиента. Не таким образом так без затруднений сваять оныйа#однако мудреный код эффективным а также свободным от ошибок, а также ради успеха в этом потребуются лучшие структуры а также инструменты разработки.
Вопрос. Всегда ли приложение Ajax представляет лучшее взаимодействие вместе с пользователем, чем традиционно веб-приложение?
Ответ. Не непременно. Ajax не менее гибок ради проектировщиков интерфейса. Однако, чем внушительную мощь все мы имеем, тем не менее внимательно нужно вместе с ней обращаться. Надо быть осторожными в использовании Ajax, для того чтобы улучшить комфорт приминения приложений, однако далеко не ухудшить его.
Навигация
E-mail рассылка
Теги
привод linux телефоны процессоры мониторы железо космос роботы intel ноутбук amd софт озу звуковые карты интернет игрушки nvidia видеокарты жесткие диски windows системные платы asus корпус gigabyte ajax Оверклокинг MSI
