12 мая 2019

Беседка №239. Свободу приложениям

Многие пользователи живут под монополией двух каталогов приложений. Однако, ситуация может измениться, причём далеко не в пользу Google Play и App Store…

Оригинальный материал, автор — Оуэн Вильямс

Время сломать оковы «золотой клетки», которая замыкает вас на тех приложениях, которые Apple и Google помещают в свои каталоги. Новое поколение прогрессивных веб-приложений (progressive web app, PWA) начинает укореняться в экосистеме стационарных ПК и вскоре может продолжить своё шествие и на смартфонах, навсегда меняя то, как вы скачиваете приложения и откуда вы их берёте.

На эту потенциальную возможность указывает обновление в недавних бета-версиях Google Chrome, который занимает 63% от глобальной общей доли браузеров. Пользователи теперь могут устанавливать приложения с сайтов, просто кликая по кнопке, которая появляется в строке ввода адреса, тем самым получая практически мгновенный доступ к мощным веб-версиям сервисов, таких, как Spotify, без магазинов приложений или сложных страниц для загрузки.

Эти кнопки для установки волшебным образом дают нам возможность оценить будущее разработки приложений. Если вы перейдёте на PWA, каким является, например, веб-проигрыватель Spotify, то вы получите опыт, сходный с таковым на ПК, и новую опцию по установке приложения, если используете браузер с поддержкой такой функции. После установки приложение откроется в отдельном окне вне браузера, создаст ярлыки на рабочем столе и предложит полный набор функций (например, возможность использовать медиа-клавиши компьютера для пропуска треков или паузы в воспроизведении), характерных для «настоящего» нативного приложения.

Грядущие улучшения позволят подобным приложениям делать большее. Скрытые опции в Chrome позволят им запускаться, как только осуществляется переход по нужным ссылкам. С этой опцией PWA от Twitter становится практически на один уровень с приложением для ПК, осуществляя автоматический переход по адресам твитов к необходимому контенту.

Внешне PWA могут выглядеть как обычные веб-сайты, но они строятся на новых технологиях, которые позволяют им работать практически как обычные приложения, иметь офлайн-поддержку, использовать push-уведомления, клавиши быстрого ввода и возможность устанавливаться на рабочий стол или ПК.

Эти обновления важны для компаний, которые создают ежедневно используемые вами приложения. Многие из них «закулисно» используют веб-технологии, чтобы сберечь время и деньги, а также облегчить процесс разработки, что значительно ускоряет процесс привнесения новых функций во все операционные системы.

Веб-технологии для создания приложений для ПК используют и популярные приложения, такие как Slack, Spotify, Twitter, Visual Studio Code и WhatsApp, ведь они позволяют использовать один и тот же код на всех ОС. Инструмент Electron позволяет писать приложения при помощи веб-ориентированных языков программирования, интегрируя их таким образом, словно они являются частью вашей операционной системы и обеспечивая поддержку офлайн-доступа и push-уведомлений.

Создание приложения для любой ОС – дорогая и долгая задача, что делает разработку для веб очевидным выбором как для оптимизации расходов, так и для охвата как можно большего числа пользователей. PWA дают возможность обходиться без Electron, позволяя приложениям нативно интегрироваться в ОС, имея в качестве базы Chrome.

Ситуация с PWA для мобильной платформы немного отличается. Централизованные каталоги приложений, которыми управляют Google и Apple, являются по общей части единственным способом скачивать приложения на телефон. Да, Google технически позволяет скачивать Android-приложения из сторонних источников, но функция по умолчанию отключена, и с каждым обновлением Android она становится всё более надоедливой.

Технически PWA могут работать и на мобильных устройствах, на них, вероятно, будет тратиться меньше ресурсов, чем на обычные приложения. Несмотря на преимущества, лишь один из двух крупных игроков на этом рынке проявляет особую заинтересованность во внедрении этой технологии. Google уже давно инвестирует в интеграцию PWA и Android, позволяя пользователям устанавливать их, получать быстрые уведомления и даже использовать их без доступа к сети. Я добавил PWA для своего приложения. На базовом уровне это заняло несколько часов и теперь позволяет пользователям локально устанавливать приложение, увеличивая коэффициент удержания пользователей и добавляя дополнительные функции.

Но Apple не торопятся правильно применять многие веб-стандарты, что позволило бы прогрессивным веб-приложениям корректно работать на мобильных устройствах. Компания умалчивает о своих планах, но несложно предположить, что причина в том, что такая функциональность будет конкурировать с одним из источников доходов компании и люди станут скачивать меньше привычных приложений.

Google и Apple поощряют «нативный» код для своих платформ. Удержание разработчиков внутри своих платформ позволяет компаниям брать часть прибыли с продажи приложений и сохранять контроль над тем, что существует в рамках их платформ. Теоретически, PWA-версию могут иметь такие приложения, как неоднократно блокированное Apple Metadata+, оно отслеживает по всему миру авианалёты США с использованием дронов. Да, это также означает, что не привязанные к платформе сервисы, такие как Infowars, могут существовать в форме приложения, но они по меньшей мере лишаются потенциала масштабного распространения, который гарантирует присутствие в официальном каталоге приложений.

В любом случае движение PWA уже набирает обороты и в контексте крупных игроков. Копните поглубже и увидите, что новый дизайн Facebook, представленный в рамках конференции F8, является прогрессивным веб-приложением. И оно демонстрирует то, как сильно такие технологии могут изменить пользовательский опыт.

Обновленный Facebook, который сейчас «выкатывают» для пользователей, ощущается больше как приложение, нежели как веб-сайт, подготавливая «сцену» для десктопной версии, которая впервые отделена от браузера. Новый веб-сайт Twitter – тоже PWA. Он появился в результате переработки мобильного веб-сайта и со временем стал сайтом по умолчанию. Растущая популярность PWA среди разработчиков приложений подкрепляется данными: представители Tinder рассказали, что их веб-приложение помогло уменьшить время загрузки с 11 секунд до 4 и уменьшило размер приложения на 90% по сравнению с нативным приложением. AliExpress при помощи PWA увеличили конверсию на 104% и отметили прирост во времени, проведенном в сервисе, на 74%.

Microsoft в конце прошлого года уже анонсировала, что позволит разработчикам публиковать прогрессивные веб-приложения непосредственно в каталоге Windows Store, что сделает их доступными для установки для миллионов компьютеров по всему миру. Сейчас компания планирует индексировать все подобные приложения, что найдёт в сети, и автоматически добавлять их в каталог, аналогичным образом должна поступить и Google в конце 2019 года со своим каталогом Play Store.

Safari на iOS остаётся краткосрочной проблемой для PWA, но концепция уже меняется по мере того, как Apple тайком начала понемногу использовать отдельные части этого стандарта, несмотря даже на то, что это лишает устройство ключевых функций, таких как поддержка уведомлений или доступ к использованию камеры iPhone в PWA.

Если Apple продолжит блокировать такие приложения, то это поставит под сомнение возможность компании сохранять присутствие среди широких масс пользователей. Такое поведение чревато определёнными рисками для Apple: схожие шаги в прошлом вызвали антимонопольные расследования и большие штрафы.

Веб-технологии уже взяли верх над десктопными приложениями, а кнопка по мгновенной установке приложений в Chrome и Edge станет финальной точкой в этом процессе. Миллионы людей по всему миру уже проводят большую часть времени в браузерах, поэтому имеет смысл сделать веб платформой для приложений. В этом заключается долгожданный уход от закрытых экосистем и возврат к открытому веб-пространству, где любой может создать приложение, опубликовать его и позволить миллионам мгновенно установить его.

Оригинальный материал, автор — Оуэн Вильямс

Как часто это бывает с новыми технологиями, на первый взгляд всё прекрасно, пока не возникает вопрос с безопасностью. В рамках своих каталогов Apple и Google, пусть и не на 100%, но готовы заявить о безопасности приложений. А кто даст эти гарантии пользователям веб-приложений вне зависимости от степени их прогрессивности? Или кому попало не доверят создание такого приложения? Смешно, но не очень.

Не сказать, что я являюсь активным сторонником PWA, но, как оказалось, я пользуюсь некоторыми такими приложениями, среди них — Uber и Flipboard, иногда занимаю время, играя в 2048. Но потенциал таких приложений на самом деле довольно велик, особенно эта концепция близка Google в контексте Chrome OS. Да и мобильные устройства только выиграют от лёгких, но функциональных версий обычных приложений, то же приложение Facebook для Android уже успело попортить крови многим пользователям благодаря своему размеру и привычке ухудшать быстродействие системы.

Как вы считаете, смогут ли такие приложения заменить привычные нативные клиенты или же их время пока не пришло?

Читайте также

19 комментариев на «“Беседка №239. Свободу приложениям”»

  1. у PWA для iOS нет пушей. Адекватный маркетолог не допустит этого безобразия, и направит в AppStore.

    Конец сказки.

    • Zliuka Z:

      Это пока… Все равно эти веб-индусы, гуру дендрофекального кодописания, будут ломиться со своими «прорывными технологиями» во все двери и окна… Могут и пропустить и/или со временем и прикрутить, если денежка замаячит…

      • Lecron:

        Флеш вроде не пробил. А там была немалая денежка Адоба.

      • денежка маячит только из аппстора. нетфликс и спотифай давят не первый год, а эппл болт клала на их хотелки.

        самое забавное, что apple первая придумала делать пуши для бразуера, реализовала их в сафари для macos, но потом одумалась и на ios не пустила.

    • anonymousses_2019:

      Сделают как с фейсбуком — постоянный поллинг и высаживание батарейки. А поскольку правила сторов на это распространятся не будут, привет времена первых диких версий софта на тогда ещё экзотичном андроиде.

      • лень искать service workers limitations на iOS, но думаю, что если нативку киляют через 10 минут, то эти штуки тоже будут. так что, лонг пулинг не спасёт.

        • anonymousses_2019:

          Ну вообще есть специальные методы. Например то же приложение интернет радио прекрасно работает в фоне бесконечно, пока воспроизведение идёт. Другой вопрос, что эти методы могут быть недоступны для приложения без специальных функций, заточенных именно для фоновой работы – ну точнее, с ними в магазин не пропустят. Но мы же вроде обсуждали вопрос отскока от магазинов…

  2. Lecron:

    Запрашиваю более подробное сравнение PWA c веб-страницами. Все иллюстрации, это скрины обычного классического браузера. Так есть ли причина так акцентировать внимание именно на «PWA»?
    По поводу легкости… недавно прочел на хабре, что элементарный js-таймер, может кушать до 10% процессора. А активная работа в Electron-приложениях, легко снижает автономность вдвое. И это на ноуте. На смарте, боюсь будет еще хуже.

    • zy2ba /2:

      А PWA же и есть обычная страница, просто использующее некоторые дополнительные апи, которые добавили широко только год как, и маскирующееся визуально под приложение.
      Главная вещь вокруг которой получается строить PWA — это service worker, который скачивается при первом заходе на сайт и сохраняется у пользователя. То есть стандарт разрешил держать на постоянной основе у пользователя некоторый javascript код, что и дало возможность делать фоновую работу (push например получать) и внятно реагировать на ситуации с отсутствием интернета и сохранять часть функционала, который от этого не зависит. При желании можно полностью там описать своё веб приложение и интернет тебе будет по сути нужен только для первой загрузки страницы.
      Ну и мобильные сафари и хром позволяют сохранить на рабочем столе такие приложения и запускать в будущем без интерфейса браузера, так что будет похоже по использованию на обычное приложение. Это если они конечно решат, что ты соответствуешь стандарту PWA.
      Ну самый банальный пример PWA — это mobile.twitter.com , если зайти с мобильника, то на андроиде в хроме тебе вылезет табличка с предложением установить. На айос ничего не вылезет, но добавленный для такого сайта ярлык на рабочий стол будет запускать PWA без интерфейса браузера.

  3. Alexandr.Noskov:

    «Как вы считаете, смогут ли такие приложения заменить привычные нативные клиенты или же их время пока не пришло?»
    На примере моего одного из любимых ресурсов «Военное обозрение» видно, что даже сами владельцы ресурса в этом не заинтересованы. Мало того что сайт устроен криво (нет необходимых ссылок для внутренних переходов), но и в упрощенном режиме просмотра (на всех устройствах) оно полное днище, полное глючных помоев, а не кода. Другими словами, до тех пор пока владельцев устраивает шаблон от Google, никакой PWA им не нужен.

  4. Onix:

    заголовок был красивый, а дальше PWA печаль

  5. katalnikov:

    А было бы интересно поюзать смартфон только с Хромом на борту 😉 Эдакий Хромбук в кармане (если вы понимаете о чем я 😉

  6. zveroboy:

    Ватсап для пк — драная дрань, по сравнению с Телеграммом для пк. Телеграм нативный, а ватсап — вебприложение в обертке. Тормозной, большой, жручий и тупой — вот такой красивый PWA Whatsup для ПК. Аминь