Comments 43
Ага, а недостатков у PWA, конечно же, нет.
И, да, нативное приложение — это приложение, не требующее для своей работы браузера.
Это значит, что PWA могут быть максимально прогрессивными и будут работать на всех возможных операционных системах. PWA способны работать в любом браузере. PWA не назывались бы прогрессивными, если бы не смогли подстраиваться под пользовательское окружение.
Да что вы говорите. А если у меня Android 1.0 с каким-нибудь не менее экзотическим на конец 2019 браузером? А если у меня javascript не поддерживается?
Передирая пустословные статьи англоязычных копирайтеров, неплохо бы хотя бы проверять, что именно вы передираете, чтоб совсем уж воду и пургу на хабр не тащить.
Статья по ощущениям написана школьником, который в воскресенье вечером вспомнил, что на понедельник задан реферат.
Даже не смотря на такую мелочь как отсутствие секции «недостатки PWA», нулевую смысловую нагрузку статьи и бесконечное количество воды, я насчитал в статье 2(!) разные (!!) секции о преимуществах PWA.
а недостатки у pwa есть?
как он может работать с железом? это же js в браузере, нет?
Думаю, автор предыдущего комментария имел ввиду отсутствие возможности работы с железом.
хабр становится помойкой. интересных статей всё меньше, посредственных больше, переводы — повторение уже имеющейся инфы…
если раньше инфу можно было получать в комментах, то теперь все критические комменты вытираются, простым минусованием, понижением кармы, что ведёт выживание из хабра трезвомыслящих членов.
жаль, раньше хабр был намного интересней…
счас как сборище бабок у подъезда…
Можно даже перефразировать эту фразу — крайне небольшому количеству нативных программ действительно нужна возможность работы с железом на том уровне, на котором с железом не умеют работать веб-сайты, PWA и гибридные приложения.
С самой обработкой изображений всё так, пока у вас картинка low-HD-разрешения в 1 слой.
Что покрывает очень-очень большое количество случаев работы с обработкой изображения простыми пользователями. Нет?
Я же не отрицаю, что приложения для работы на нативном уровне не нужны, я просто говорю, что это какая-то определенная доля рынка, при этом не настолько большая.
нужен чатик и игори
Карты, документы, заметки, мобильный банкинг, интернет покупки (еда, товары, путешествия), такси, виртуальные кошельки, объявления, видео-стриминг, звонки и многое другое, что можно организовать без низкого уровня доступа к железу, обычному пользователю, конечно же, не нужно.
Представляете, если бы при заходе на сайт госуслуг, вас просили установить нативное приложение, потому что нужен доступ к сканеру, который скорее всего вам вообще не понадобится при работе с гослусгами?
И js умеет обрабатывать изображения.
И нет, js не имеет доступа к сканеру, надо ставить мутные плагины к браузеру.
Т.е. банальная автоматизация рабочего места «тёти на респешене» нормально не реализуется (чтобы у тёти на компе не оставалось например сканов паспортов и прочих документов).
а доступ например к зебра принтеру у него есть? или нужно будет писать свой браузер с внешним API для is чтобы напечатать что-то в один клик например?
расскажите про обработку изображений
Есть множество онлайн редакторов изображений, редакторов диаграм, редакторов UI/UX. Что не так с этим пунктом для вас?
расскажите про… офисный пакет, которым не нужно например сканирование
Эээ… Google Docs. Если вам не подходит Google Docs, не используйте Google Docs. В чем проблема?
Мы разрабатываем корпоративные PWA приложения, завязаные на данные через веб-серверы.
К слову сказать, большинство корпоративных приложений привязаны к БД.
Если нет интернета, то заставка: «абонент временно недоступен». :)
Резюмирую повторно: зависит от области применения.
Существует много сайтов, которые состоят из нескольких простых страниц со статичным контентом, таким как контактная информация, статьи в блоге и предоставляемые услуги. Чтобы такой сайт считался PWA, он должен содержать интерактивные функции, которые вызываются пользователем.
Разве не наоборот. Всегда думал что ниша pwa — это чисто контентные сайты. Если приложение/сайт содержит интерактив взаимодействующий с БД — то сделать его как PWA практически непосильная задача. «Запомнить» что там накликал юзер в оффлайне, а потом при возобновлении интернета всё это добро засинхронить с беком. А если там логика в приложении такая, что «состояние на беке» изменилось, и то что юзер накликал в офллайне уже неактуально… юзер тогда всё кликал зря, и надо по новой? Даже с точки зрения UX — как-то не очень выходит.
Получается лучше не обманывать ожидания пользователя, а честно показать «Интернета нет, займись чем-то другим полезным. Как появится интренет — можешь работать дальше». Вместо того тобы создавать себе проблемы, а потом героически их решать.
Если нет интернета, то заставка: «абонент временно недоступен». :)
Т.е. обманываете пользователя? Он думает что абонент недоступен, а на самом деле — тот доступен, просто интернета сейчас у тебя нет.)
Насчёт лёгких обновлений в PWA-приложении. А так ли всё легко? Загружаю обновлённый бандл приложения в виде js-файла, смотрю в телефон, а там старый бандл закешированный остался. Как мне принудительно сбросить кэш в таком случае? Желательно, сделать это программными методами с моей стороны, так как класть эту задачу на пользователя – нереально.
Если делать это, как выше предложено (менять адрес файла), то можно даже старую версию файла из кэша удалить, чтобы место зря на устройстве не занимать.
В общем, для всяких хитрых случаев, когда стандартного кэширования не хватает, вполне можно этот процесс под свой контроль взять.
Там просто жмёте Unregister на нужном.
Чтобы включить отладку мобильного устройства по USB, нажмите на 3 точки справа вверху, там More tools, Remote devices.
На мобиле надо включить Режим разработчика, например, так.
Теперь на мобиле открывайте тот зловредный сайт и на вкладке Application смотрите его service workers и отключайте их.
Ещё можно удалить его куки, а также записи в Local Storage (в соответствующих разделах), если они есть.
Всё, что нужно знать о Progressive Web App (PWA)