Летом 2001 года Пол Бакхейт (американский программист) разослал своим друзьям и коллегам веб-сайт, над которым он работал. Сайт представлял собой приложение, в котором пользователи могли просматривать тысячи электронных писем одновременно и получать релевантные результаты.
Бакхейт закончил работу над программным обеспечением за один день, так что оно было немного грубовато. Несмотря на это, была только одна просьба от его друзей - было бы здорово, если бы программа могла осуществлять поиск в их электронной почте. Бакхейт принял это к сведению и вернулся к работе.
Через несколько лет Google выпустил Gmail для широких масс, хотя в самом начале единственным способом получить туда доступ было приглашение, что делало его довольно эксклюзивным. Там было большое количество возможностей, плюс Gmail поставлялся с 1 ГБ памяти (когда большинство конкурентов предлагали 4 МБ) и эффективным поиском. И что самое впечатляющее - интерфейс Gmail был быстрым и отзывчивым, а строка поиска автозаполнялась по мере ввода. Переписки были организованы в разворачиваемые, легко читаемые темы. И каждый раз, когда пользователи нажимали на электронное письмо, оно загружалось почти мгновенно. Gmail был в сети, но ощущался как десктопное приложение, ведь это и был тот самый, разрабатываемый Бакхейтом почтовик.
Когда в 2004 году компанию Google приобрела Where2 Technologies, братья Расмуссен (основатели Where2 Technologies) доживали последние часы своего детища по причине провала инвестиционной сделки. Приобретение Google произошло как раз вовремя, что и послужило их спасением. Последние несколько лет Ларс и Джен Рамуссен работали над картографическим приложением с довольно необычным интерфейсом. Приложение было основано на концепции плиток. Каждая плитка представляла собой небольшую часть карты, и объединение их вместе позволяло пользователям перемещаться по карте, просто проводя по ней мышкой.
Приложение было создано для настольных компьютеров, но соучредитель Google Ларри Пейдж был большим поклонником Интернета. Он и подтолкнул поглощенную картографическим проектом команду воссоздать свое приложение в виде веб-сайта. Не зная, как работает Gmail, команда воссоздала свою технологию в браузере. Вскоре после этого, в феврале 2005 года, Google Maps перешла в бета-версию.
И у Gmail, и у Google Maps есть нечто большее, чем просто объединяющая их компания. Их интерфейсы были и динамичными, и производительными, и самыми передовыми. Они казались будущим Интернета и они оба разумно использовали JavaScript. Это позволило им асинхронно подключаться к серверу и получать новые данные без загрузки новой страницы. Они должны были поблагодарить Microsoft за эту конкретную функцию.
А в то время в Microsoft происходили другие довольно интересные вещи. Начиная с Internet Explorer 3, Microsoft добавила свою собственную реализацию виртуальной машины Java в операционную систему Windows и, в частности, в IE, для запуска апплетов Java. Но почти сразу после этого Sun (создатель Java) подала в суд на Microsoft за неполное соблюдение стандарта Java. Microsoft, уже вовлеченная в гораздо более масштабный антимонопольный иск, решила просто удалить Java из своей операционной системы, и на этом все.
Была только одна проблема. Чтобы заставить работать некоторые из более продвинутых функций их почтового веб-приложения Outlook, они ссылались на некоторые Java-компоненты Internet Explorer. Поэтому, чтобы восполнить этот пробел, прямо перед выпуском Internet Explorer 5 в 1999 году Microsoft добавила в браузер новую функцию JavaScript под названием XMLHttpRequest. Это позволяло браузеру делать HTTP-запрос к серверу и получать обратно некоторые данные в формате XML за кулисами его работы. Это означало, что данные могли быть обновлены на странице без полной перезагрузки. Новая функция довольно хорошо справилась со своей задачей, однако вся ее работа заключалась только в том, чтобы Outlook работал так, как предполагалось.
Тем не менее, это не помешало другим браузерам использовать новую функциональность. Mozilla вскоре последовала их примеру, представив собственную реализацию в Firefox. Эта функция использовалась то в одном, то в другом проекте в течение следующих нескольких лет. Самым ярким из них был Oddpost, веб-приложение для работы с электронной почтой. Oddpost содержал множество дизайнерских решений в своем приложении, которые улучшали использование электронной почты (например, окно с тремя панелями). Еще в 2002 году они довольно широко использовали функцию XMLHttpRequest в своем приложении. Однако сайт был платным и поэтому не привлекал особого внимания, пока его не купила Yahoo в 2005 году.
Именно эта функция вдохнула жизнь в Gmail и Google Maps. Для обеих команд HTML не собирался замыкаться сам на себе. JavaScript помогал собирать все это воедино.
Бакхейт из Gmail и братья Расмуссен из Google Maps говорили, что слишком сильно полагаться на JavaScript было большой ошибкой. И в этом, безусловно, была доля правды. В то время реализация в разных браузерах была неоднородной и разнообразной, и в отличие от всепрощающей природы HTML, если вы облажаетесь в JavaScript, вы можете сломать браузер.
Тем не менее, они протащили это все и привлекли внимание пользователей. Возможность просматривать тысячи электронных писем или прокручивать карту из плиток без задержек была, что и делало их бесподобными. За всю историю было несколько раз, когда отношение мира к сети сильно менялось, и это был один из них. Оба сервиса взлетели, и в мгновение ока заработали и лежащие в их основе методы.
Впоследствии Джесси Джеймс Гаретт из Adaptive Path, наконец, дал этой возможности в Javascript имя. Он назвал это "Asynchronous Javascript and XML", что переводится как "Асинхронный Javascript и XML", к счастью, сокращенным до Ajax. Ajax был не отдельным методом или технологией, а группой принципов, основанных на работе, проделанной в Google, которая описывала, как обрабатывать JavaScript в более требовательных веб-приложениях. Короткая версия на самом деле довольно проста: используйте XMLHttpRequest, чтобы сделать запрос к серверу, возьмите возвращенные XML-данные и разместите их на странице с помощью JavaScript и семантического HTML.
После этого Ajax взлетел. Сейчас он лежит в основе основных частей современной веб-разработки и породил ряд фреймворков и методологий. Сама технология со временем была заменена: XML был заменен на JSON, а XMLHttpRequest на fetch. Ajax показал многим разработчикам, что Интернет - это не только документы. Интернет можно использовать для создания приложений. Сейчас это может показаться мелочью, но тогда это было супер как важно.
Комментарии (0)