«PWA приложения»: Волшебная таблетка в эпоху санкций? 💊
«Разбираемся с PWA и сравниваем его с другими подходами в разработке»
⏱️ Время прочтения: 7 минут
ВСТУПЛЕНИЕ
На пике разработки, в том числе мобильной разработки в мире, на сегодня существует великое множество различных подходов в разработке мобильных и веб-приложений...
Когда клиент приходит с запросом разработки, начитавшись всего подряд на просторах интернета - наша задача как первоклассных специалистов предельно простая и укладывается в 3️⃣ шага:
- рассказать какие есть подходы;
- пояснить что есть каждый подход со стороны определений и примеров;
- разложить по полочкам плюсы и минусы каждого подхода…
Дак вот, если касаться мира мобильной и веб разработки, всего есть 4️⃣ разных инструмента (подхода) к вашему будущему приложению:
- веб-приложение;
- прогрессивное веб-приложение (PWA);
- кроссплатформенное мобильное приложение;
- нативное мобильное приложение
Чтобы не запутаться в каждом решении, давайте дадим краткое определение каждому решению ⤵️
📌Веб-приложение — это программа, которая отвечает определённому запросу пользователя. Например, сервис поиска билетов: на сайте пользователь вводит данные, в это время веб-сервис обращается к компаниям, которые продают билеты. В результате пользователю отображаются подобранные по его запросам варианты.
📌PWA (Progressive Web App) — один из способов реализации мобильного веба, технология, с помощью которой сайт преобразуется в веб-приложение визуально и функционально.
📌Кроссплатформенное приложение — это создание приложения на единой кодовой базе сразу для двух операционных систем, с помощью готовых библиотек и компонентов
📌Нативное приложение — это приложение, которое создается под конкретную платформу. Нативное мобильное приложение написано на «родном» для платформы языке программирования: для Android — Kotlin и Java, для Apple iOS — Objective-C и Swift.
Фух)) с матчастью вроде покончено. Надеемся всем все понятно из определений т.к. это важно будет дальше для понимания технологий, о которых пойдет речь...
Наша же задача в этой статье, разобраться именно в PWA подходе и сравнить его на фоне обычных веб-приложений, а также на фоне кроссплатформенных / нативных мобильных приложений (возьмем их в один блок для упрощения восприятия информации и назовем - кастомные приложения)
Если вы вдруг захотите подробно разобраться в кроссплатформенных и нативных приложениях - вот здесь есть наша статья 😉
Итак, а мы едем дальше... И начнем сравнение PWA с обычными веб-приложениями...👇🏻
1️⃣ PWA vs Веб-приложения
Технология PWA — точно не новинка на рынке, однако стремительный рост показала относительно недавно, в том числе подогрели интерес западные санкции, когда 7000 мобильных приложений различных Российских корпораций просто выпиливали из сторов, одно за другим.
PWA — это технология, которая визуально и функционально преобразует сайт в приложение. Его можно открыть в браузере или загрузить как обычное мобильное приложение на своём смартфоне. Получается «продвинутая версия сайта» с адаптацией под устройства пользователей, и не нужно специально разрабатывать версии для Android или iPhone.
Поэтому многие компании стали создавать прогрессивные веб-приложения для замены нативным или в качестве дополнительного канала продаж.
PWA используют:
- ритейлеры -> спортмастер, DNS; Тинькофф банк; Альфа-банк, Сбер и другие банки
- онлайн-сервисы -> aviasales.ru, ivi.ru и соцсеть «В Контакте».
Мобильные веб-приложения создаются с помощью технологий для реализации frontend: HTML, CSS, JavaScript — и backend: Ruby, PHP, Python и т. д.
С точки же зрения backend реализация не отличается от обычного веб-сайта. Любой мобильный веб можно превратить в PWA, если доработать под определённую цель. И это играет на руку бизнесу, который некогда развивал мобильный веб, но забросил. Теперь из мобильной версии сайта можно сделать PWA и запустить новый канал продаж.
PWA тоже можно создать почти на любой веб-технологии. Самые популярные и актуальные сейчас:
💡 Прежде чем выбрать технологию, нужно определиться с целью и дальнейшими планами проекта.
💬 Если нужен только мобильный веб, то подойдёт прекрасно только React, а если в будущем возможен рост проекта и его дистрибуция для всех платформ, то React или Flutter будут отличным решением для этого.
6️⃣ отличий PWA от веб-версии сайта
- Скорость загрузки У PWA она существенно выше, чем у мобильной версии сайта. Это связано с тем, что все необходимые данные загружаются в смартфон и далее не зависят от скорости интернета. Новые фичи и обновления добавляются командой, которая поддерживает приложение.
- Независимость от браузеров PWA работает внутри системы через webview и они всегда выглядят одинаково, независимо от того, какие браузеры установлены у пользователя.
- Доступность в офлайне
Сайт не может работать без интернета (мобильного или Wi-Fi), в отличие от PWA. При подключении к интернету, прогрессивные веб-приложения загружают и сохраняют необходимые файлы и дальше могут работать без доступа к сети. Но обратная сторона медали - велик риск хищения таких данных с устройства пользователя. - UI\UX интерфейс В разработке PWA есть все инструменты для реализации интерфейса, довольно близкого к нативному.
- Добавления иконки на главный экран: PWA предоставляет такую возможность, облегчая поиск сервиса. В мобильную версию сайта пользователь может зайти через браузер или создав ярлык на экране. В случае с мобильной версией сайта, ярлык откроется в браузере, а PWA — отдельным приложением.
- Уведомления На сайте можно реализовать отправку браузерных уведомлений — web push. Они отображаются на экране мобильного устройства, но отправляет их не приложение, а браузер. Для отправки уведомлений пользователь должен дать разрешение, когда заходит на сайт. У PWA тоже есть возможность настроить уведомления, но пока есть трудности с реализацией на iOS. Однако Apple анонсировали, что проблема с пушами скоро решится.
2️⃣ PWA vs Кастомные приложения
Почему на PWA приложения растёт спрос в 2022-2024 годах?
Многие приложения российских банков, такие как Сбербанк, Альфа-банк, ВТБ, ПСБ, Tinkoff и другие, из-за санкций оказались удалены из магазинов. Бизнес находится в поиске альтернативных решений, и одно из них — забытая некогда технология Progressive Web Applications (PWA), или прогрессивные веб-приложения.
💡 Технология же изначально была разработана ещё в далеком 2000 году в Microsoft, а в 2015 году Google стали развивать её для использования на Android, но из-за скудного на тот момент user experience она не смогла завоевать внимание разработчиков и пользователей.
Сейчас же PWA может стать полноценной заменой классическим приложениям и привычному App Store, и ниже мы расскажем, про все плюсы и минусы PWA для банков и крупного бизнеса в том числе.
Стоит также отметить, что для прогрессивного приложения характерны:
- Использование Service Worker — прокси-сервера, который управляет сетевым запросом от приложения и даёт возможность кэширования и запоминания информации, отвечает за фоновую синхронизацию, позволяет присылать push-уведомления для полноценной коммуникации с клиентами.
- Работает со своими ресурсами с помощью HTTPS через браузер — так же, как нативное приложение обращается через файловую систему. Браузер выступает в роли виртуальной машины, которая запускает PWA приложение.
- Web App Manifest — текстовый json-файл, который добавляется в код страницы сайта. Он определяет, как будет отображаться приложение через браузер, то есть все визуальные элементы.
Многие программисты называют PWA приложения эволюцией веб-разработки и прогнозируют слияние мобайла с вебом. Как минимум, потому что эта технология позволяет бизнесу избежать убытков в случае санкций и продолжать поддерживать взаимодействие с клиентом.
- Свобода от сторов: Прогрессивные веб-приложения не нужно размещать в сторах — пользователи скачивают его прямо из браузера. Это экономит время пользователя, а также ваш бюджет на добавление и продвижение приложения в сторах.
- Оффлайн режим: Пользователям не нужно быть подключенным к интернету для некоторых операций. Это возможно благодаря Service Workers — специальному прокси-решению от Google. Кэширование позволяет PWA работать в автономном режиме даже при потере соединения с сервером, а затем синхронизирует всю информацию при подключении.
- Скорость загрузки: PWA загружаются очень быстро благодаря HTML-отдаче. С момента загрузки до появления первого элемента или изображения обычно проходит не более 1-2 секунд.
- Занятое место: Одна из основных причин удаления приложений согласно маркетинговым исследованиям — ограниченный размер памяти смартфонов. К примеру, вес среднего приложения варьируется от 20 до 50 МБ, вес высоконагруженных может доходить до 300МБ. В то время как установленное PWA приложение занимает менее 1 МБ.
- Лояльность клиентов: Google провёл исследование, согласно которому 50% пользователей смартфонов с большей вероятностью готовы использовать сайты для мобильных устройств, потому что не хотят загружать приложения. Возможность напрямую взаимодействовать с сервисом напрямую может повысить доверие пользователей.
- Адаптивность:
PWA подстраиваются под любое пользовательское окружение. Они работают на всех возможных системах, устройствах и браузерах. Это достигается за счёт единой базы исходного кода и отражения интерфейса через webview. - Узнаваемость: При загрузке PWA на свой смартфон можно установить ярлык на экран. Визуально он не будет отличаться от привычного значка приложения.
- Ограничения по функционалу: PWA приложения используют не все функции устройства. Например, сильно урезан доступ к контактам, календарю, Bluetooth и NFC. Так как разработчики PWA ограничены возможностями браузеров, то использовать все системные API невозможно. Если бизнес-модель подразумевает активное использование функций смартфона, то разумнее выбрать кастомное приложение вместо PWA.
- Низкая виральность: Путь пользователя к сайту компании может быть долгим — многие активно пользуются сторами. В случае с PWA они должны сами найти и посетить тот сайт, который им нужен, а уже после добавить приложение на своё устройство. Поэтому бизнесу стоит учесть, что нужно заложить дополнительный бюджет на продвижение.
- Малая производительность: Производительность кастомных (нативных и кроссплатформенных) приложений выше, чем у PWA. На высококонкурентном рынке это может стать ключевым запросом большой аудитории. Например, сервисы с ИИ будут очень туго грузиться в PWA.
- Плохая совместимость с iOS: Совместимость прогрессивных веб-приложений с браузерами и операционными системами всё ещё находится на стадии разработки. В частности, iOS поддерживает не все функции PWA: недоступен Bluetooth, Siri, отправка уведомлений, Face и Touch ID. От этого пользовательский интерфейс ограничен. Однако в связи с ростом популярности PWA, Apple постепенно предоставляет API для обхода этих ограничений.
- Хищение данных:
Из-за того, что все данные сохраняются на сам смартфон, велика вероятность кражи этих данных пользователя с помощью вирусов, троянов и других червей. В первую очередь это касается Android устройства. - Высокий расход АКБ телефона:
Из-за использования JavaScript вместо Java, прогрессивные веб-приложения быстрее сажают батарею телефона и расходуют больше ресурсов.
Ниже, предлагаем визуально сравнить прогрессивные веб-приложения и кастомные мобильные приложения, мы прозрачно покажем их особенности, а дальше — решение за вами
📈 А ЧТО ПО КОНВЕРСИИ!?
В сфере E-commerce и FinTech важно помнить про коэффициент конверсии (conversion rate), так как это один из главных показателей успешности бизнеса. Вот и давайте посмотрим, как у PWA этот показатель.
В целом, PWA повышают конверсию сервиса так как:
- Загружается в течение нескольких секунд: В среднем — около 1 секунды. Время для пользователя критически важно: почти 70% пользователей мобильных приложений утверждают, что скорость загрузки решает, будут ли они пользоваться приложением дальше. 53% пользователей удаляют приложение, если оно загружается дольше 3-5 секунд.
- Подключены к голосовому поиску: PWA воспринимаются поисковыми системами как обычные сайты, что позволяет легче находить их. Умные колонки (Alexa, Алиса или Google Home) также просто интегрируются с PWA. Это поможет пользователям больше взаимодействовать с бизнесом и совершать целевые действия даже без устройства в руках.
- Единообразный интерфейс: В PWA поддерживать один стиль интерфейса (UX) проще и дешевле, чем в других приложениях — не нужно разрабатывать отдельно для каждого устройства. Это также позволит пользователям iPhone легче взаимодействовать с продуктом.
🖥️ А ЕСТЬ УЖЕ ЗАПУЩЕННЫЕ ПРОЕКТЫ!?
Прогрессивные веб-приложения — давно развивающая технология, и сейчас в мире есть много успешных примеров проектов, которые перешли на нее.
Расскажем о более крупных примерах 👇
🔺 Сбербанк использует PWA приложение совместно с App Authentification и отмечает его особые удобства для владельцев iOS — теперь пользователи могут пользоваться веб-версией как приложением и для его установки не нужно идти в офис банка.
🔺 Spotify смогли уйти от санкций в App Store благодаря разработке PWA приложения. Они отметили, что у PWA адаптивный UI, что дало возможность приложению работать гораздо быстрее. Пользователи могут использовать новое приложение как аналог обычно загружаемого из AppStore — и говорят, что стало в несколько раз удобнее.
🔺 Starbucksпровели эксперимент и разработали PWA, чтобы собирать больше заказов вместе с мобильным приложением. Выяснилось, что PWA оказалось меньше по весу на 99,84% по сравнению с классическим приложением. Выбор пользователей был сделан в пользу PWA. Количество заказов увеличилось в два раза и почти сравнялось с декстоп-заказами.
🔺 Только 1% мобильный пользователей Pinterest переходили к целевому действию: регистрации, входу в систему или установке приложений. Когда компания разработала PWA приложение, клиенты стали проводить на 60% больше времени в соцсети, а доход вырос от создаваемой пользователями рекламы.
🔺 Trivago, один из крупных немецких агрегаторов для бронирования отелей, обнаружили, что при переходе на PWA вовлечённость пользователей увеличилась на 150%.
🔺 MakeMyTrip— крупнейшая туристическая компания Индии, MAU сайта — более 8 млн пользователей. После запуска PWA коэффициент конверсии увеличился в 3 раза, а скорость загрузки страниц выросла на 38%.
💬 ЗАКЛЮЧЕНИЕ
Как вы наверное уже поняли - PWA отнюдь не панацея в мире разработки, а скорее всего, хорошо забытое старое = вроде как новое получается 😀😵💫
Мы никак не будем склонять нашего читателя в сторону хорошо или плохо про PWA, точно нет т.к. есть и плюсы и заметные минусы такого подхода...
В любом случае, когда вы выбираете ту или иную технологию разработки, не важно, это PWA, нативное приложение или любую другую - самый главный момент это выгрузить все требования к вашему продукту и на основании них уже вместе с грамотным разработчиком выбирать архитектуру вашего будущего проекта...
Так делать будет правильно с любой точки зрения, в ином случае, велика вероятность, что вы начитавшись разных статей в интернете, решите самостоятельно выбрать технологию разработки, инвестируете миллионы рублей или даже долларов, а в итоге придет момент когда все упрется в одну важную функцию продукта, которая будет недоступна на разработанной технологии...
Поэтому подходите грамотно и глубоко к выбору архитектуры ваших будущих IT-продуктов... А если нужна будет помощь - мы всегда поможем 🙂