Для доступа во Всемирную сеть не обойтись без браузера, специальной программы, предназначение которой – отображать на экране данные, полученные извне, и отправлять туда же информацию пользователя. Ничего не напоминает? Ну конечно – перед нами еще один терминал! Да, теперь это всего лишь одна из программ, запущенных на компьютере, она в разы умнее и мощнее своего прародителя, много чего умеет, но… Суть дела от этого не меняется. Браузер, как и терминал, практически ничего не знает об отображаемых данных. (Да простят меня знатоки апплетов за столь вольное обобщение.)
А что, если кроме показа веб-страниц с новостями, проигрывания музыки или видеороликов попытаться сделать кое-что необычное? Как насчет идеи превратить браузер в полноценное приложение, такое как почтовый клиент или текстовый редактор? Зачем? Да для того, чтобы использовать все плюсы, которые дает Интернет, – легкость обмена данными и совместной работы, возможность удаленного резервного копирования и простоту обновления кода работающей программы! Ах, мало? Как насчет этого: загрузка ресурсов удаленных машин (того самого центрального сервера, только теперь вместо одного их могут быть сотни и тысячи) вместо своего драгоценного компьютера, никаких проблем с администрированием и поддержкой «зоопарка» программ, а главное – доступ к своим данным с любого подключенного к Интернету компьютера. Теперь забыть взять с собой в командировку важные файлы просто не получится!
Однако не все так просто. У обычных программ главным преимуществом перед веб-приложениями до последнего времени была скорость реакции. Нажал на кнопку – немедленно получил результат. Сравните этот подход с обычным веб-сайтом, где каждый щелчок по ссылке вызывает перезагрузку страницы! Для того чтобы завоевать своего пользователя, веб-приложениям жизненно важно было стать интерактивными.
И тут появился AJAX. Перефразируя известное изречение, можно сказать, что если бы AJAX’а не было, то его следовало бы придумать. Я не буду рассказывать вам о том, что означает в русском переводе аббревиатура Asynchronous Javascript and XML, – в этом нет никакой надобности. Скажу лишь, что с помощью этой замечательной технологии, которая на данный момент поддерживается всеми современными браузерами, можно выполнять различные действия, загружать и отображать на веб-странице данные, не обновляя страницу целиком. Теперь ее можно словно набирать из кубиков, и все они будут работать независимо друг от друга.
Это изменило все. По уровню реакции на действия пользователя веб-приложения вплотную приблизились к приложениям обычным, вобрав в себя все их плюсы и умудрившись попутно избавиться от кучи минусов. Добрую службу веб-приложениям сослужила и легкость их графического оформления: создать привлекательную HTML-страницу дизайнеру оказалось гораздо проще, чем пытаться сделать нечто, ласкающее взгляд, из скучных окон привычных программ, где добавление графики или приятных глазу округлостей может превратиться в настоящее мучение для программиста. Да, с точки зрения эстетики веб-приложения уверенно побеждают своих «настольных» собратьев.
Компания Google не была первым создателем веб-приложений. Примеры реализации интерактивных сетевых сервисов существовали и до нее. Но пожалуй, именно благодаря поисковому гиганту весь мир узнал о том, что с их помощью действительно можно работать. Похоже, причина в том, что инженеры Google сумели избежать ошибки большинства первопроходцев, бодро принявшихся штамповать клоны привычных офисных пакетов и почтовых клиентов: в Cети, точно грибы после теплого дождичка, начали появляться близнецы навороченных текстовых редакторов, электронных таблиц и даже операционных систем, каждая из которых гордо называла себя WebOS, операционной системой Интернета. Программисты Google первыми поняли, что в новых условиях необходимо предлагать принципиально иные способы решения привычных задач. Их интернет-приложения ориентированы на легкий старт, лаконичность представления (а чего еще вы ждали от компании, главная страница которой – Google.com – до сих пор состоит лишь из логотипа, строки ввода и двух кнопок?), а также простоту совместной работы и публикации результатов в любом месте Сети, будь то персональный блог или популярный новостной ресурс. Все это щедро сдобрено первоклассным поиском Google, который научился искать и успешно находить информацию не только в сети Интернет, но и внутри ваших документов, почтовых сообщений и новостных лент. Неплохо, правда?