Представьте, ситуацию. Вы обратились к разработчикам с просьбой ускорить загрузку интернет-магазина. Они предложили сделать это всего за три месяца благодаря новой технологии PWA (Progressive Web App). Пообещали загрузку до 1,5 секунды и приемлемый бюджет на разработку. К сожалению, на практике такая картинка не очень близка к реальности. Мы наблюдаем ряд существенных проблем, связанных с новизной технологии. О них и хочется рассказать честно, с уже пройденного опыта.

Для справки: что такое PWA

На сегодня более 70% ecommerce веб-трафика приходится на мобильные устройства. Прогрессивное веб-приложение создано специально для «мобильных» клиентов, сочетает в себе функции сайта и нативного приложения. Что PWA значит для пользователя: он может открыть сайт в мобильном браузере и сохранить его как приложение на телефоне, минуя Google App или App Store. Пользователь может и не устанавливать. В любом случае, сайт будет визуально выглядеть как приложение, открываясь на весь экран. Также ваш сайт получает дополнительные плюшки: возможность рассылать push-уведомления и работать без доступа к интернету.

Проблема #1

Скорее всего, сайт как приложение пользователь не установит. Согласно последнему исследованию в США 88% опрошенных готовы скачать до 38 приложений, и лишь 10% согласны видеть больше иконок на своем телефоне. Да, если речь идет о повторных заказах суши, почтовых услугах или о покупках на маркет-плейсе, то есть высокая вероятность, что приложение таки установят. Но в остальных случаях – нет.

Проблема #2

Сайты на PWA не загружаются за 1-1,5 секунды. Но скорость – это основной профит, который ожидает получить клиент. Практика показывает, что на PWA нет ожидаемых полторы секунды на загрузку. Почему так происходит? На чистых демопроектах, как правило, используется простой функционал. Сайты для среднего и крупного бизнеса всегда требуют дополнительный. Это и затормаживает работу сайта.

Но заказчик хочет, чтобы трекер загрузки страницы показывал не больше 1,5 секунды. Как следствие разработчики вынуждены идти на хитрости - многие данные воспроизводить используя ajax. Это значит, что важные блоки (меню, картинка товара, название, цена) – сразу появляются на странице загрузки, а остальные позже. Так можно выиграть доли секунды. Но так или иначе сложная функциональность сайта коррелирует со скоростью его загрузки всегда.

Проблема #3

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

Есть базовый коробочный функционал PWA. Он подходит для малого бизнеса. Но, скорее всего, малый бизнес и не требует перехода на PWA, ведь это дорогостоящая технология. В свою очередь, у крупного бизнеса есть потребность широкого функционала, который пока что не разработан для PWA. Дополнительные фичи - это кастомная разработка. А кастомная разработка на PWA требует не мало времени и денег.

К примеру, в “коробке” PWA нет возможности использовать special price для продукта. Казалось бы, это базовая вещь для екоммерс, а ее нет. Также в коробке не предусмотрено bundle products – комплекты товаров. Например, кровать и две тумбочки – дешевле купить вместе, но можно купить и по отдельности. В итоге, эти функции мы разрабатывали специально для заказчика.

Хорошая новость в том, что PWA регулярно обновляется. Мы уже полгода разрабатываем сайт для Tefal, и уже трижды обновляли продукт. К примеру, в начале разработки PWA на Magento не поддерживала страницу сравнения, но сейчас она есть.

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

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

Выводы

Резюмируя, можно задать себе вопрос: а зачем тогда переходить на PWA, если это требует таких затрат, много кастомной разработки и все равно не дает 1,5 сек? Может проще обычную Magento хорошенько оптимизировать?

Во-первых, PWA таки ускорит работу сайта – это гарантированно. Выиграть одну секунду, или даже доли секунды – это то, за что борется современный екоммерс каждый день. Скорость очень важна для customer experience и как следствие конверсии. PWA близок к нативным технологиям, подтягивает с телефона пользователя информацию - локацию, имя, фамилию. Приложение может взять эти данные, чтобы пользователь только частично заполнял checkout. Как результат - возможность делать заказ в один клик или даже без интернет связи.

Во вторых, PWA – это headless архитектура. Независимая работа фронтенда и бэкенда позволяет осуществить технические работы на сайте более безболезненно. Вы можете даже заменить бэкенд движок, а пользователи не ощутят подмены.

В-третьих, специфика обновлений на PWA в том, что в отличие от нативных приложений, согласование с Google Play или Apple Store не нужно. С типичным мобильным приложением для запуска обновления нужно пройти техническую проверку Google Play или Apple Store. На этот апрув уходят дни, а то и недели. Плюс часто возвращают обновление обратно на доработку.    

И главный наш вывод - пропуская новые технологии сегодня, потом догнать сложнее. Часто представители бизнеса думают, что могут сэкономить на технологиях, а уже позже «обновиться». Опыт показывает, если не внедрять сначала, то в итоге тратиться в половину больше времени на разработку. Желаем вам не упускать время и работать максимально эффективно!