Comments 66
PWA для платформы: в нашем случае это оказалось существенно дешевле, проще и практичней.
Как всегда, никто не думал об удобстве пользователей?
А в чем неудобство? У пары банков после выкидывания из AppStore перешел на PWA. Ничуть не хуже, ни по функционалу, ни по удобству. И лишних шаловливых лапок в моем телефоне нет.
PS: Вот это вообще хорошо, кстати. :)
Ограниченная совместимость с устройством: нет доступа к календарю, контактам,
В тормозах, например. Вы не видите тормозов у веб технологий?
Так не надо, например, в банковское приложение запихивать гороскопы, сторизы, антивирус, анальный зонд и рендеринг 3Д моделей, оно и тормозить не будет. Я не вижу тормозов у веб технологий, я вижу тормоза, когда технологии используются не по назначению.
Большинство приложений сейчас, это по сути веб приложения со своим браузером.
Почему же, думали. У пользователей не было никакого приложения, а теперь есть pwa версия =)
Тормозная, небось.
Смотря с чем сравнивать. По сравнению с хорошим приложением да, медленнее конечно. А по сравнения с сайтом ровно тоже самое.
Ну и у нас все-таки не игра и небольшой лаг по времени для нас не является критичной проблемой
Тормозящий PWA, как правило, это проблема НЕ технологии, а ТЕХНОЛОГОВ.
Просто (секрет-секрет), за использованием ресурсов надо следить.
Применять виртуальные списки, оптимизировать анимацию. И так далее.
И на выходе получать супер быстрые приложения.
Но нет, проще обвинять платформу. Чойта я рендерю список из 10000 элементов, а оно тормозит?
А не думали опубликовать ваше приложение в App store Телеграма?)
Для меня, например, Хабр в таком формате оказался удобнее классического приложения.
А вы рассматривали возможность упаковать PWA в нативное приложение и отправить в AppStore/GooglePlay?
Да, конечно, собственно, этим сейчас и занимаемся. Для GooglePlay есть проторенная дорожка, а вот с AppStore сложнее, прямого способа мы не нашли. Но в комментариях ниже кажется предложили способ, я с ним не сталкивался, будем проверять)
Заходите в русскоязычное PWA сообщество - https://t.me/pwa_ru знаем все нюансы т.к. модераторы из GDE и Microsoft с большим стажем PWA. Также обратите внимание на https://www.pwabuilder.com/, как раз под ваш случай. Никакие Cordova не нужны.
Ещё один минус pwa - тормоза на слабых устройствах. А если криво сделать, то тормозит и на мощных.
Соглашусь, но частично эту проблему решает Service Worker. А так pwa тормозит не больше ни меньше чем вкладки в браузере
Если тормозит - это руки кривые. И нативно сделаете криво - будет тормозить.
А что понимается под слабыми? Есть вот трубка средне бюджетная из 2016 года, там до сих пор веб приложения хорошо работают. На чем-то более старом с 1Гб RAM уже ничего толком работать не будет, но на таких девайсах даже сам браузер уже нормально не работает.
Сам JS и движок стали только быстрее с годами, как и мощность мобильных устройств. Сегодня надо прилично "постараться", чтобы вебом сильно нагрузить современные бюджетники.
PWA не очень дружит с iOS в плане пушей и ограниченного кеша. У вас не всплывали связанные с этим баги?
Да, пока что не очень дружит. Поскольку у нас ранее не было никакого приложения и мы жили только в вебе, то у нас и не было никаких пушей и тд. Так что пока не столкнулись. Мы сталкивались с тем, что для iOS пришлось делать некоторый велосипед, чтобы загрузочный экран отображался красиво как у обычных приложений. Но это не заняло много времени
Если упаковать pwa в cordova/capasitor то минусы связаные со стором и плеймаркетом уйдут, так же можно спокойно использовать нативные функции типа deviceId если нужно.
Интересно, с таким способом не сталкивались, изучим обязательно, спасибо!
альфа версии tauri с android и ios уже в прошлом году были.(первые альфы с дек 2022)
сейчас уже "релиз кандидаты" версии, которые легко заставить запускать базовый шаблон в отличии от альф.
обещают в этом месяце закончить работы и уже выпустить релиз.
Релиз-кандидат Tauri 2.0
кроме rust(cargo) для работы можно использовать TypeScript/JavaScript(pnpm, yarn, npm, bun) или .NET.
т.е. с tauri легко можно в рамках 1 проекта собирать под 5 платформ(windows/linux/macos/ios/androud) и без знаний rust.
доступны нативные возможности через плагины в виде Notification, NFC, Barcode Scanner, Biometric, Haptics, Geolocation и др.
Пишите честно - PWA дали нам шанс свалять по быстрому без необходимости чему-то существенному учиться. А обосновать, что через лёгкость что иначе, я и сам могу что угодно. Кстати, знаете сколько места занимает Procreate на iPad?
Я не верю что в описанной ситуации Вы могли с точностью до порядка оценить сколько времени писалось бы такое приложение на том же Flutter. Порог входа очень низкий, знаний и навыков у Вас никаких - тут всякое может быть, гремучая смесь.
Как пользователь, имею мнение однозначное - гнать PWA вон безжалостно, Интернету малейшую щёлочку дай - всё устройство загадит, учёные уже. Будьте прокляты вместе с Гуглом.
Но. PWA ставятся в обход обобщённой цензуры. И в складывающихся условиях это перевешивает всё.
Я правильно понимаю, что вам pwa не нравится, потому что с помощью него можно ставить приложения быстрее чем из магазинов и этим "загаживается" весь телефон?
Конкретно PWA - прежде всего тем, что чтобы следить за ними нужна параллельная админка которой нет. Посмотрите прямо по статье как предполагается за пуши бороться - на моём устройстве PWA одна дорога... Альтернатива - жёсткие ограничения как у Эппл, но тогда PWA не только бесполезны, но и вредны - это тот же сайт, но с данными неизвестной свежести.
Кстати, вебпуши в iOS наконец-то поддерживаются, начиная с 16.4 версии - а это был один из главных блокеров для нормальных PWA (ну не считая сложностей с установкой).
А чтотв итоге с биометрией? Сделали, какие апи использовали?
Скоро будем внедрять себе пуши, предметно проверим, насколько они работают на iOS:)
По поводу биометрии – использовали вот этот ресурс
Там очень подробные инструкции и примеры
Я как-то писал статью про использование биомерии - https://habr.com/ru/articles/740000/ С iOS не помню особых проблем.
Ещё плюс PWA - realtime обновление. Не надо ждать когда пользователи обновят у себя приложения.
Люблю PWA как пользователь, и искренне рад за вас!
Познакомившись поближе с Progressive Web Apps, сейчас я уверен, что в ближайшие годы мы еще увидим повсеместный тренд по его использованию в разных сферах
Мне казалось, что пик популярности PWA прошёл где-то в 2018-2019
А мне кажется, что тогда много писали, но это были "инноваторы" и "первопроходцы" по инновационной модели. А ранее и тем более позднее большинство подтягивается вот сейчас и мы в их числе =)
Мне казалось, что пик популярности PWA прошёл где-то в 2018-2019
Вот чувствуется не понимание предметной области. Это как сказать про пик популярности ВЭБа. По мне как он рос, так и продолжает расти, и никуда уходить не собирается. В том числе благодаря ПРОГРЕССИВНОМУ добавлению новых фич. Кстати, ни одна другая область не развивается такими темпами как ВЭБ. Так что...
Всё у меня в порядке с предметной областью. Просто вы, видимо, мало с этим работали. С одной стороны, количество PWA растёт год от года, потому что любой сайт с манифестом автоматически становится PWA. А уж тем более с сервис-воркером. Но дело в том, что в 2019 многие клиенты реально просили добавить фичи, которые делаются с помощью PWA. А сейчас 99,99999999999% PWA являются таковыми лишь потому что при создании нового проекта манифест и сервис воркер создаются автоматически. Как минимум половина разработчиков не знают, что это за файлы и оставляют их потому что "наверное они для реакта нужны". В next.js вообще сервис воркер по умолчанию кэширует все картинки, и если на сайте очень много картинок, то сайт будет регулярно напоминать своим посетителям, что 128гб внутреннего хранилища для айфона маловато. Поэтому при аудите производительности сайтов на next всегда просят перепроверить сервис воркер. А потом выясняется, что он там вообще не нужен, и его просто удаляют.
Поэтому распространённость PWA действительно растёт, а вот осознанный спрос на эту технологию падает.
Я вот слышал, что Гугл переводит Хромось на платформу Андроид, так как не хватает им текущего функционала для адекватнго осуществления функций ИИ. Так что будущее точно не за PWA.
А можете поделиться ссылкой на новость пожалуйста?
Я вот слышал, что Гугл переводит Хромось на платформу Андроид, так как не хватает им текущего функционала для адекватнго осуществления функций ИИ. Так что будущее точно не за PWA.
А кстати, с чего такие выводы что будущее не за ПВА? А за чем будущее осмелюсь спросить?)) За макось приложениями или за андроид приложениями по вашему?)
Да, и в экспериментальном хроме появился встроенный движок AI, так-то)
Ваш аргумент только дополняет картину мира. Движок ИИ будет локальным. А вот PWA - это не больше чем ярлык для запуска какого-нибудь сайта в окне. Локальное кэширование не работает нормально, а только создаёт видимость доступности сайта, когда на самом деле у тебя отвалился интернет.
Мы движемся к третьей мировой войне, поэтому люди стараются найти баланс между ненадёжными удобствами, которые предлагают облачные технологии и стабильностью локальных приложений.
JavaScript и устройства достаточно производительны в наше время.
Вэб платформа удобная, простая, гибкая, безопасная для разработки приложений.
Настоящая кросс-платформенность, один стэк для всех платформ и форм факторов.
Не надо отстёгивать 30% прибыли дяде Васе из корпорации и молиться чтобы он твое приложение не забанил в сторе.
Все костыли типа не разрешение установки по клику у яблака связаны с нежеланием купертиновцев терять баблишко от своего стора, хоть на словах они и за все хорошее. Но их все равно дожмут анти-монополисты))
Прогресс не остановить.
Сам на десктопе пользуюсь в основном вэб приложениями. Особенно нравится использовать VSCode как PWA запущенные локально в Docker для разных проектов для безопасности инструкция.
Зацепила фраза:
от мобильных приложений, но полагаю, что вскоре разница между ними с точки зрения пользователя окончательно сотрется
Сколько уже времени существует проект "Фугу", который пополняется проектами (нельзя сказать, что очень сложными и мудрёными), но сильно никуда сам Chromium не движется быстрыми темпами. Огромное количество ишьюсов, которые разбираются длительное время и мелкие фичи, которые добавляются в стандарт (та же возможность открыть пикер в input type="date").
И это я говорил только про хромиум. А ещё у нас есть такие огромные мастадонты, как WebKit и Gecko.
Скоро - это точно не про ближайшие 5 лет развития. Хотя хотелось бы скорее увидеть этот прекрасный мир PWA...
Буквально на днях закончил переписывать свое старое приложение на PWA (было написано года 4 тому назад на React Native), так как пришел к мнению, что современных API в браузере достаточно для необходимого функционала. Но обнаружил несколько неприятных мелочей:
Когда с сервера отправляешь пуш сообщения (без нотификации, только дата), а приложение в данный момент не активно, то Хром на телефоне отображает нотификацию "This site has been updated in the background", а пуш сообщения могут приходить часто. После долгого поиска я так и не понял как это исправить (кроме как встроить систему в приложение, которое будет сообщать серверу когда приложение активно).
Нет API которое поможет приложению понять, что у телефона нет доступа к интернету. Есть Network Information API, но там только информация о качестве мобильного соединения, а не о его отсутствии.
P.S. Оказывается можно так:window.addEventListener('offline', handleOffline); window.addEventListener('online', handleOnline);
А при старте приложения через эти события начальное состояние можно узнать? Или только при изменении во время работы приложения?
Зачем отправлять данные через Firebase Cloud Messaging? Есть же Server-Sent Events. Через FCM обязательно выводить уведомление.
Имхо, если в вашем приложении нет никаких офлайн фич, то делать нативное приложение смысла нет.
Я бы с удовольствием снёс некотрые)
PWA вполне работают и оффлайн.
Имхо, если в вашем приложении нет никаких офлайн фич, то делать нативное приложение смысла нет.
Как так нет?
Вот вам накину немножечко:
Запустить приложения как нативное, без контроллов браузера которые отжирают пространство, например VSCode
Добавить ярлыки приложений в трей и делать быстый поиск по ним, с иконками и прочими ништяками.
Переключаться нативным способом между приложениями, а не по табам броузера.
Каждое приложение имеет свой запомненный язык ввода, а не один для всех табов.
Все свои основные Вэб приложения я уже давно установил как приложения в операционной системе. Вообще любые сайты устанавливаются как PWA в Chromium, даже те что не поддерживают это.
Для всех скептиков PWA у меня есть одна картинка с одним малюсеньким PWA которое как бы намекает на возможности этой технологий ))

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

Почему не webview просто?
PWA вместо приложения: плюсы, минусы, подводные камни