Границу между веб-сайтами и приложениями усиленно стирали последние десять лет, но так и не стерли. Наоборот, с расцветом мобильных телефонов приложения вернулись и никуда не собираются уходить. Технология Instant Apps — это подход к той же проблеме с другой стороны. Что, если заменить сайты настоящими приложениями? Последствия могут навсегда изменить интернет и имеют серьезные побочные эффекты.
На прошедшем в середине мая Google I/O 2016 было показано много интересного — от вполне ожидаемой новой версии Android, об особенностях безопасности которой ты можешь прочесть в колонке Жени Зобнина, до магазина приложений для виртуальной реальности. Но может статься, что самый важный анонс — это не Android N, не виртуальная реальность и не Google Home, а нечто под названием Instant Apps.
Вот базовый пример использования Instant Apps. Ты при помощи телефона или планшета с Android ищешь в интернете какой-то товар и жмешь на ссылку в поисковой выдаче. И вместо сайта магазина твое устройство загрузит некую минимальную версию приложения, в которой будет только информация об этом товаре и кнопка «Купить».
Казалось бы, принципиальной разницы по сравнению с сайтами нет (автор веб-комикса xkcd уже успел поиронизировать над этим). Но шутки шутками, а отличия все же имеются, и очень важные.
Во-первых, ты можешь немедленно совершить покупку, используя уже имеющиеся в телефоне данные кредитной карты. Во-вторых, с твоего разрешения приложение может получить доступ к датчикам телефона и сохраненной в нем информации. В-третьих, у приложения может быть более отзывчивый интерфейс, чем у сайта.
Технически это реализовано следующим образом: разработчик строит свою программу так, чтобы у нее была легко отделимая часть, которую можно загружать отдельно. Создавать новую ветку кода при этом не обязательно, главное — в нужном месте вызвать программные интерфейсы Instant Apps. Приложение отправляется в Google Play, и остальное — это уже магия Google. Когда поисковик решит, что вместо сайта можно показать приложение, он запросит его из Google Play и покажет пользователю.
При этом не факт даже, что Instant Apps будет загружаться дольше, чем сайт, и потратит больше трафика. Многие современные сайты страдают проблемой ожирения, и нередко можно встретить страницы, которые засасывают из интернета по десять мегабайт. Этого хватило бы на целое приложение, так что если его часть будет занимать, скажем, один мегабайт, то это вряд ли сегодня кого-то напугает.
Посетители Google I/O аплодировали этому анонсу не зря. Кажется, он решает массу проблем и открывает большие возможности. Беда с приложениями в том, что часто бывает нужно немедленно использовать какую-то программу и для этого ее требуется скачать, а она, быть может, занимает слишком много, чтобы качать по сотовой сети. Причем следующий раз, когда она понадобится, может наступить, к примеру, через месяц или не наступить вовсе.
Моментальная подгрузка только самой необходимой части приложения позволит обойтись без установки и не забивать телефон. Это удобно, когда ты, скажем, хочешь заказать доставку чего-то или, к примеру, желаешь арендовать велосипед во время прогулки по другому городу.
Казалось бы, у Instant Apps сплошные плюсы и никаких минусов. Пользователи компьютеров и всяких там айфонов будут видеть обычный сайт, а Android вместо него загрузит свой кусочек программы из Google Play. «Моментальные приложения» пригодятся любому изданию, любому онлайновому магазину, а также множеству реальных магазинов, кафе, музеев, выставок, да что там — даже обычным предметам, в которые сейчас всё чаще встраивают компьютеры.
Но разреши напомнить тебе один важный исторический пример. В конце восьмидесятых годов, когда Microsoft Word был одним из множества конкурирующих текстовых процессоров, никто не жаловался на то, что его стандарт закрыт. Наоборот, это было нормой — свой стандарт файлов был у каждой программы.
Зато когда популярность Windows и Word сделали его формат фактически единственным стандартом текстовых документов, тут уже начались разговоры, что неплохо бы открыть его для всех. В течение многих лет это было очень острой проблемой, и до сих пор она решена не до конца.
Что, если популярность Android и поисковика Google сделают Instant Apps новым стандартом сайтов? Вместо веба, где можно заглянуть в код любой страницы, мы получим веб, состоящий из байт-кода Java.
Можно, конечно, посмеяться и сказать, что это давняя и несбывшаяся мечта инженеров Sun Microsystems. Но они-то представляли себе, что программы на Java будут исполняться на любом компьютере с любой архитектурой, а у Google получается так, что для запуска «инстант аппа» нужно иметь совместимое устройство. И, кстати, абы какой Android не подойдет, ведь доступ к магазину есть только в телефонах с лицензированной у Google версией системы. Вот тебе и свобода с открытостью!
К слову, речь потенциально не только про мобильные телефоны. Как известно, в Chrome OS активно встраивают поддержку приложений для Android, и нет никаких причин не добавить и Instant Apps. Хромбуки тем временем уверенно набирают популярность. В США благодаря интересу со стороны образовательных учреждений они, по подсчетам IDC, уже продаются лучше «маков» (десктопов и ноутбуков).
Магазины приложений отбирают хлеб у сайтов уже не первый год, так что появление Instant Apps вряд ли можно считать внезапным событием. На ум, кстати, приходят две другие новые технологии — гугловская же Accelerated Mobile Pages (AMP) и Facebook Instant Articles. Обе по духу близки к Instant Apps и нацелены на то, чтобы лучше приспособить для телефонов текстовый контент.
Конечно, паниковать и кричать, что Google убивает веб, пока рано. Сложно спорить с тем, что от Instant Apps будет много пользы, да и бороться с прогрессом — не лучшая затея. Мобильные телефоны еще не закончили менять привычный технологический ландшафт, и Instant Apps — не последнее проявление этого процесса. Жаль только, что изменения часто ведут к повышению закрытости и фрагментации.
А еще, конечно, никто не знает, победит эта технология или нет, насколько она в итоге будет распространенной и какими окажутся следующие шаги Google. Вот еще интересный вопрос — как отреагируют в Apple? Появится ли в iOS прямой аналог или, быть может, в Купертино придумают кардинально другой подход?
И напоследок — еще один исторический пример. Помнишь Flash? Его создатели хотели сначала внедрить свою суперпрогрессивную технологию в сайты (и это неплохо удалось), а затем сделать так, чтобы она заменила собой веб (и вот это уже не вышло). А по прошествии какого-то времени Flash стал ненавистной дырявой фигней, от которой все спешат избавиться как можно скорее. Instant Apps в Google, по крайней мере, смогут в любой момент выключить.