Что же это такое — веб-приложение?
Несмотря на то что многим кажется, будто компьютеры вокруг были всегда, широкое распространение эти персональные вычислительные машины получили лишь в последние 30 лет. Еще более юна Повсеместно Протянутая Паутина, или World Wide Web, — Интернету в его сегодняшнем понимании лишь недавно исполнилось 20. Кроха! Удивительно, но на протяжении этой эволюции компьютеры и их пользователи последовательно проходили несколько очень похожих этапов. Давайте разберемся.
Начало 80-х годов прошлого века. Персональных компьютеров еще очень-очень мало. Предпочтение отдается терминалам: простейшим машинам, основная задача которых состоит в том, чтобы передавать введенную пользователем информацию большому и умному серверу, отображая результаты решения задач на экране. Полная централизация. Удобно? Не очень. Компьютеры должны быть непрерывно объединены в общую сеть, мощности центрального сервера не хватает, а о какой-либо надежности и говорить не приходится. Сервер — вот узкое место! Именно в это время настает эра персональных компьютеров. Оснащенные собственным мощным по тем временам процессором, они могут самостоятельно, независимо ни от кого решать задачи, поставленные перед ним пользователем. Полная самостоятельность!
Так начинается победное шествие персональных компьютеров по планете. Концепция личной вычислительной машины оказалась очень привлекательной в мире, где только-только появившиеся сети были еще слишком медленны и дороги. Знаменитый закон Мура, гласящий, что количество транзисторов (а значит, до некоторой степени и вычислительная мощность) процессора будет увеличиваться в два раза каждые 18 месяцев, обеспечил непрерывный прирост производительности компьютеров. Впрочем, ускорение весьма умело осваивалось программистами, создающими все более «навороченные» программы (игры!).
А тем временем как-то внезапно выяснилось, что людям не очень-то нужны «стопроцентно персональные» компьютеры. Они хотят делиться и обмениваться друг с другом текстами, музыкой, видео! Интернет здесь оказался весьма кстати — с ним можно было забыть о неудобных дискетах, дисках, винчестерах и других накопителях, которые использовались для обмена информацией между машинами. Все через сеть! Благо к началу XXI в. высокоскоростной доступ в Интернет в крупных городах сначала за рубежом, а затем и в России перестал быть дорогим удовольствием и постепенно превратился в нечто обязательное вроде водопровода, электричества или канализации.
Для доступа во Всемирную сеть не обойтись без браузера, специальной программы, предназначение которой — отображать на экране данные, полученные извне, и отправлять туда же информацию пользователя. Ничего не напоминает? Ну конечно — перед нами еще один терминал! Да, теперь это всего лишь одна из программ, запущенных на компьютере, она в разы умнее и мощнее своего прародителя, много чего умеет, но… Суть дела от этого не меняется. Браузер, как и терминал, практически ничего не знает об отображаемых данных. (Да простят меня знатоки апплетов за столь вольное обобщение.)
А что, если кроме показа веб-страниц с новостями, проигрывания музыки или видеороликов попытаться сделать кое-что необычное? Как насчет идеи превратить браузер в полноценное приложение, такое как почтовый клиент или текстовый редактор? Зачем? Да для того, чтобы использовать все плюсы, которые дает Интернет, — легкость обмена данными и совместной работы, возможность удаленного резервного копирования и простоту обновления кода работающей программы! Ах, мало? Как насчет этого: загрузка ресурсов удаленных машин (того самого центрального сервера, только теперь вместо одного их могут быть сотни и тысячи) вместо своего драгоценного компьютера, никаких проблем с администрированием и поддержкой «зоопарка» программ, а главное — доступ к своим данным с любого подключенного к Интернету компьютера. Теперь забыть взять с собой в командировку важные файлы просто не получится!
Однако не все так просто. У обычных программ главным преимуществом перед веб-приложениями до последнего времени была скорость реакции. Нажал на кнопку — немедленно получил результат. Сравните этот подход с обычным веб-сайтом, где каждый щелчок по ссылке вызывает перезагрузку страницы! Для того чтобы завоевать своего пользователя, веб-приложениям жизненно важно было стать интерактивными.
И тут появился AJAX. Перефразируя известное изречение, можно сказать, что если бы AJAX’а не было, то его следовало бы придумать. Я не буду рассказывать вам о том, что означает в русском переводе аббревиатура Asynchronous Javascript and XML, — в этом нет никакой надобности. Скажу лишь, что с помощью этой замечательной технологии, которая на данный момент поддерживается всеми современными браузерами, можно выполнять различные действия, загружать и отображать на веб-странице данные, не обновляя страницу целиком. Теперь ее можно словно набирать из кубиков, и все они будут работать независимо друг от друга.
Это изменило все. По уровню реакции на действия пользователя веб-приложения вплотную приблизились к приложениям обычным, вобрав в себя все их плюсы и умудрившись попутно избавиться от кучи минусов. Добрую службу веб-приложениям сослужила и легкость их графического оформления: создать привлекательную HTML-страницу дизайнеру оказалось гораздо проще, чем пытаться сделать нечто, ласкающее взгляд, из скучных окон привычных программ, где добавление графики или приятных глазу округлостей может превратиться в настоящее мучение для программиста. Да, с точки зрения эстетики веб-приложения уверенно побеждают своих «настольных» собратьев.
Компания Google не была первым создателем веб-приложений. Примеры реализации интерактивных сетевых сервисов существовали и до нее. Но пожалуй, именно благодаря поисковому гиганту весь мир узнал о том, что с их помощью действительно можно работать. Похоже, причина в том, что инженеры Google сумели избежать ошибки большинства первопроходцев, бодро принявшихся штамповать клоны привычных офисных пакетов и почтовых клиентов: в Сети, точно грибы после теплого дождичка, начали появляться близнецы навороченных текстовых редакторов, электронных таблиц и даже операционных систем, каждая из которых гордо называла себя WebOS, операционной системой Интернета.
Программисты Google первыми поняли, что в новых условиях необходимо предлагать принципиально иные способы решения привычных задач. Их интернет-приложения ipad ориентированы на легкий старт, лаконичность представления (а чего еще вы ждали от компании, главная страница которой — Google.com — до сих пор состоит лишь из логотипа, строки ввода и двух кнопок?), а также простоту совместной работы и публикации результатов в любом месте Сети, будь то персональный блог или популярный новостной ресурс. Все это щедро сдобрено первоклассным поиском Google, который научился искать и успешно находить информацию не только в сети Интернет, но и внутри ваших документов, почтовых сообщений и новостных лент. Неплохо, правда?
Google предлагает своим пользователям множество веб-приложений, и для описания работы с каждым из них не хватит, наверное, и десятка книг. Именно поэтому эта книга посвящена лишь наиболее популярным и полезным из них — тем, с которыми любой желающий может начать работу прямо сейчас. Электронная почта недаром считается центром информационной вселенной. С помощью почты автор этой книги общается с друзьями, управляет деятельностью нескольких своих сайтов, а также хранит важные файлы и другую информацию, которая может пригодиться в любой момент. Речь о возможностях электронной почты «от Google» под названием Gmail пойдет не далее как в следующей статье.
Что нас ждет дальше? Документы. На самом деле это целых три приложения, этакий онлайновый офисный пакет: кроме текстового редактора для подготовки электронных документов в комплект входят электронные таблицы и средство для создания презентаций. За скучным словосочетанием «офисный пакет» спрятаны удивительные возможности совместной работы, сбора данных из Интернета, публикации своих идей и достижений на сайтах и в блогах. Обо всем этом — в следующих статьях.
Календарь. На самом деле не календарь, а календари. Да какие! Не забыть о дате оплаты по ипотечному кредиту, дне рождения любимой тещи и делового партнера, годовщине свадьбы старого друга, а также лишний раз напомнить совести о том, что в субботу вечером организму просто необходимо посетить бассейн, помогают именно календари. О том, во сколько раз онлайновый календарь лучше привычного органайзера, — в специальной статье.
Карты. Возможность посмотреть на собственную дачу из космоса, конечно, дорогого стоит. Но возможности карт не ограничиваются только развлечениями. В главе 6 читатели узнают, как можно использовать географический сервис Google на пользу себе и окружающим: не потеряться в чужой стране, скорректировать маршрут поездки с учетом пробок, узнать о достопримечательностях незнакомого города задолго до его посещения… Ну а когда вы впервые увидите в Картах режим под названием Street View, то поймете, что будущее уже наступило. И вам давно пора с ним познакомиться.
Reader. В день я читаю порядка ста новостных лент — так я всегда в курсе последних событий и получаю информацию из первых рук, с пылу с жару. Технология RSS сделала ненужной ежедневную проверку множества сайтов, и теперь все, что нужно для чтения нового и интересного, — агрегатор Google Reader. Кроме того, RSS служит подспорьем для выяснения собственной сетевой популярности и даже отслеживания самых настоящих почтовых посылок и бандеролей. Все тонкости работы с Reader честно рассмотрены, хотя в настоящее время сервис уже не работает.
Фотографии — мой любимый сервис. Путешествуя, я постоянно выкладываю сделанные снимки на сервис веб-альбомов Picasa, после чего родственники и друзья с удовольствием, а иногда и легкой завистью рассматривают неповторимые виды других стран и городов. О том, как легко и просто создавать фотоальбомы и что собой представляет фантастическая опция «Распознавание лиц», расскажет специально написанная статья.
Самое интересное — конечно, напоследок. Сервис «Сайты» позволит вам быстро и легко организовать сайт-визитку для себя любимого, базу знаний по интересующим вопросам или даже представительство собственной компании в сети Интернет. Заманчиво?