Все это одна из областей Веба 2.0, в которой мы ожидаем тем больших изменений, чем больше устройств подключено. Какие приложения появятся, когда все наши телефоны и автомобили будут не только потребителями информации, но и ее поставщиками? Мониторинг пробок в реальном времени, флэш-мобы, любительская журналистика - вот только несколько первых ласточек, намекающих нам на возможности новой платформы.
Еще со времен браузера Viola (1992) у всех на устах слово «апплеты» и прочие способы доставки активного контента через браузер. Появление в 1995 году Java тоже сопровождалось упоминанием апплетов. JavaScript - а затем и DHTML - были представлены публике как простые пути для выполнения приложений на стороне клиента и обогащения пользовательских интерфейсов. Несколько лет спустя Macromedia использовала термин Rich Internet Applications (впрочем, им не гнушалась и Laszlo Systems - разработчик флэш-решений в открытых исходниках), чтобы подчеркнуть возможности Flash не только в области доставки мультимедиа-контента, но и как основы для построения GUI-интерфейсов.
Однако потенциал веба для постройки полномасштабных приложений не принимали всерьез до появления Gmail, за которым последовал Google Maps. В обоих случаях веб-приложения предлагали богатые пользовательские интерфейсы и почти неотличимую от ПК-приложений интерактивность. В одном из своих эссе Джесс Джеймс Гаррет из веб-студии Adaptive Path «окрестил» использованные для этой цели технологии AJAX. Он писал:
Сам AJAX не является технологией. Это несколько вполне самостоятельных технологий, работающих вместе. AJAX включает в себя:
обработку стандартов XHTML и CSS;
динамическое отображение и интерактивное использование DOM (Document Object Model);
взаимный обмен и управление данными посредством XML и XSLT;
асинхронное извлечение данных с помощью XMLHttpRequest;
и JavaScript, объединяющий все это вместе.
AJAX также является ключевым компонентом таких приложений, как Flickr, приложений от 37signals, Gmail и Orkut (Google). Мы вступаем в беспрецедентный период нововведений в пользовательских интерфейсах, раз уж разработчики, наконец, научились создавать веб-приложения, ничем не уступающие в этом аспекте ПК-приложениям.
Интересно, что многие из новых возможностей, на самом деле, не являются новыми. Еще в конце 90-х гг. и Microsoft, и Netscape понимали, что это достижимо, но их битва привела к несовместимости стандартов. И только после того, как Microsoft выиграла «браузерные войны» и у нас де-факто остался один-единственный стандарт браузера, создание таких приложений стало реальным. Firefox, конечно, возродил конкуренцию на рынке браузеров, но пока что мы не видим разрушительной войны стандартов, которая задержала наше развитие в конце XX века.
В ближайшие несколько лет появится множество новых веб-приложений - как абсолютно новых, так и переделок старых ПК-приложений под веб. Любая смена платформы создает новые возможности для захвата лидирующего положения на рынке, даже если этот рынок казался полностью устоявшимся.
Gmail уже продемонстрировал несколько интересных нововведений в области электронной почты, комбинируя сильные стороны веба (доступность из любой точки, нетривиальные возможности работы с данными, возможность поиска) с пользовательскими интерфейсами, сравнимыми по удобству с ПК-интерфейсами. Между тем почтовые клиенты на платформе ПК усовершенствуются в другом направлении, добавляя в свой интерфейс, например, возможности инстант-мессенджера и датчика онлайнового присутствия. Как далеко зайдут интегрированные клиенты, объединяя лучшее, что есть в e-mail, IM и мобильной телефонии (используя VoIP, чтобы добавить голосовые возможности)? Гонка началась.
Легко увидеть, как Веб 2.0 меняет привычные «адресные книги». Адресная книга для Веба 2.0 использует локальную базу контактов на ПК или телефоне для запоминания тех контактов, которые вы специально отметили для сохранения. Между тем Gmail-подобный веб-агент помнит все сообщения, полученные или отосланные, все адреса, все телефоны и на основе эвристики социальных сетей пытается решить, какие именно альтернативы вам предложить, когда в локальной базе нужного контакта нет. При отсутствии нужного ответа система может задействовать социальную сеть большего масштаба.
Текстовый процессор для Веба 2.0 будет поддерживать совместное редактирование в стиле Wiki. Но кроме этого он же предоставляет широкие возможности форматирования, которое мы привыкли ожидать от ПК-приложений. Writely - хороший пример подобного приложения, хотя мэйнстримом такой подход пока не назовешь.