Хабр не раз выручал нашу команду, когда заказчик ставил задачу, которую мы никогда не делали. В недавнем кейсе по разработке демо-приложения PWA мы подсмотрели в статьях несколько полезных советов и тоже решили написать о своем опыте. Поговорим о PWA, про развитие технологии и про то, кому это выгодно и не очень. Кстати, меня зовут Сергей Филатов и я веб-разработчик в R-Style Softlab.

Реальность PWA для пользователей, разработчиков и…владельцев ОС
Любой российский продукт сегодня тяжело разместить в App Store и Play Market, да еще чтобы он нормально апдейтился. Подход PWA (Progressive Web Apps) становится в этой ситуации очень полезен: пользователь открывает веб-приложение с главного экрана и имеет все те же функции, что у нативного приложения, плюс всегда актуальную версию на любом устройстве и в том числе офлайн.
По сути, PWA — это окно браузера, которое устанавливается в постоянный кэш браузера, как файлы cookie. Разрабатываются с использованием стандартных веб-технологий: HTML, CSS и JavaScript, но во многом это черный ящик. Настроив обращения к компонентам браузера через обычное react-приложение, например, дальше ты просто надеешься, что оно будет работать — никак повлиять на API браузера разработчик не в состоянии.
Такая нестабильность сегодня ограничивает популярность PWA, хотя разрабатывать их проще и быстрее. Работать с Apple в этом смысле удобнее из-за единой инфраструктуры. Но политика Apple в отношении PWA далеко не дружелюбна: компания зарабатывает на размещении приложений в App Store и совсем не хочет, чтобы пользователи устанавливали PWA.

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