Pull to refresh

Comments 43

Чтобы PWA действительно начали использоваться, они должны как минимум уметь делать всё то, что и нативные приложения, а с этим туго на iOS и изменений в лучшую сторону не видно, или apple передумали?

Ага, а недостатков у PWA, конечно же, нет.


И, да, нативное приложение — это приложение, не требующее для своей работы браузера.

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

Да что вы говорите. А если у меня Android 1.0 с каким-нибудь не менее экзотическим на конец 2019 браузером? А если у меня javascript не поддерживается?

Передирая пустословные статьи англоязычных копирайтеров, неплохо бы хотя бы проверять, что именно вы передираете, чтоб совсем уж воду и пургу на хабр не тащить.

Справедливости ради отмечу, что сейчас на Android 1.0 в принципе мало что работает.


Но это не отменяет того, что статья — типичный маркетинговый буллшит.

А если у Вас вовсе нет смартфона или любого другого девайса, об этом Вы подумали?

Статья по ощущениям написана школьником, который в воскресенье вечером вспомнил, что на понедельник задан реферат.


Даже не смотря на такую мелочь как отсутствие секции «недостатки PWA», нулевую смысловую нагрузку статьи и бесконечное количество воды, я насчитал в статье 2(!) разные (!!) секции о преимуществах PWA.

Автор статьи работает в компании, которая разрабатывает PWA. Втянулся, впечатлился, захотел выразить своё восхищение. Конечно же недостатков хватает, но захотелось человеку озвучить положительные аспекты.
огромный недостаток — возможность работать с железом.

как он может работать с железом? это же js в браузере, нет?

Думаю, автор предыдущего комментария имел ввиду отсутствие возможности работы с железом.

вот как ставят минусы? что у минусателей в голове? пробка? или хабр стал пристанищем борцов с другим мнением? или? уже сколько статей было про не нормальность такого тупого минусования, бездумного формирования кармы. а уж комментов и в разы больше. а сколько «инакомыслящих» уже покинуло хабр…
хабр становится помойкой. интересных статей всё меньше, посредственных больше, переводы — повторение уже имеющейся инфы…
если раньше инфу можно было получать в комментах, то теперь все критические комменты вытираются, простым минусованием, понижением кармы, что ведёт выживание из хабра трезвомыслящих членов.
жаль, раньше хабр был намного интересней…
счас как сборище бабок у подъезда…
Огромному количеству нативных программ абсолютно необязательна нужна возможность работать с железом. Взять тот же Google Docs, которые реализовали монструозные Excel и Word, либо карты, либо обработка изображений, либо чаты, либо соцсети, либо просмотр видео, да куча всего. Вряд ли большинство калькулятороподобных/CRM-ориентированных нативных приложений сложнее устроены либо обязательно требуют вычислений на графическом процессоре, драйверов, низкоуровневого доступа и т.д.

Можно даже перефразировать эту фразу — крайне небольшому количеству нативных программ действительно нужна возможность работы с железом на том уровне, на котором с железом не умеют работать веб-сайты, PWA и гибридные приложения.
Ну расскажите про обработку изображений или офисный пакет, которым не нужно например сканирование.
UFO just landed and posted this here
С самой обработкой изображений всё так, пока у вас картинка low-HD-разрешения в 1 слой. Про PDF хотя бы листов на 30 помолчим, как и про чертёж стандартного А0.
UFO just landed and posted this here
Ладно бы JS был медленным, он память жрёт как не в себя и нифига её не освобождает. Типичный юз-кейс сайтов — это постоянно открывать и закрывать страницы. Но реально рабочие приложения на компах могут не закрываться месяцами, уходя тупо в сон или гибернацию вместе с компом. А хром нужно рестартить каждый день.
С самой обработкой изображений всё так, пока у вас картинка low-HD-разрешения в 1 слой.

Что покрывает очень-очень большое количество случаев работы с обработкой изображения простыми пользователями. Нет?
Простым пользователям нужен чатик и игори, приложения им не нужны.
Ух как сильно вы ошибаетесь. Касательно фоточек: всяческие фильтры, обрезка, композиции, бьютифизация, анимирование, презентации, добавление элементов и другие действия (даже в деловой среде, когда нужно обвести красным) — это огромный пласт пользователей. Скорее всего, вы даже не представляете себе насколько.
Я же не отрицаю, что приложения для работы на нативном уровне не нужны, я просто говорю, что это какая-то определенная доля рынка, при этом не настолько большая.
нужен чатик и игори

Карты, документы, заметки, мобильный банкинг, интернет покупки (еда, товары, путешествия), такси, виртуальные кошельки, объявления, видео-стриминг, звонки и многое другое, что можно организовать без низкого уровня доступа к железу, обычному пользователю, конечно же, не нужно.

Представляете, если бы при заходе на сайт госуслуг, вас просили установить нативное приложение, потому что нужен доступ к сканеру, который скорее всего вам вообще не понадобится при работе с гослусгами?
Вы таки не поверите, но при заходе на сайт госуслуг для вещей серьёзнее записи на приём к чиновнику или оплаты налогов таки надо устанавливать нативное приложение (для КЭП). Потому что браузеры из коробки не поддерживают работу с аппаратными токенами.
Под сканированием вы имеете в виду доступ к камере? Ну, PWA может работать с камерой, как и любой современный браузер.

И js умеет обрабатывать изображения.
Под сканированием я имею в виду доступ к сканеру. TWAIN там и прочее.
И нет, js не имеет доступа к сканеру, надо ставить мутные плагины к браузеру.
Т.е. банальная автоматизация рабочего места «тёти на респешене» нормально не реализуется (чтобы у тёти на компе не оставалось например сканов паспортов и прочих документов).
UFO just landed and posted this here
Сканирование штрих-кодов и документов это немножко совсем разные задачи, вам не кажется?:) Ещё раз, есть куча рабочих мест — бухгалтерия, касса, секретарь на ресепшене, где сотруднику нужно быстро отсканировать предъявленные документы (не только паспорта, но и допустим доверенности). И на данный момент эта задача веб-приложениями не решается. Сканировать на комп отдельной программой и потом выбирать последние файлы это не вариант, потому что долго, несекурно и ведёт к человеческим ошибкам.
И на данный момент эта задача веб-приложениями не решается.

А кто сказал, что эта задача решается веб-приложениями? Вы, кажется, не совсем правильно поняли мой комментарий.
А я и не отвечал на ваш комментарий. Ну или перелогиньтесь.

а доступ например к зебра принтеру у него есть? или нужно будет писать свой браузер с внешним API для is чтобы напечатать что-то в один клик например?

расскажите про обработку изображений

Есть множество онлайн редакторов изображений, редакторов диаграм, редакторов UI/UX. Что не так с этим пунктом для вас?

расскажите про… офисный пакет, которым не нужно например сканирование

Эээ… Google Docs. Если вам не подходит Google Docs, не используйте Google Docs. В чем проблема?
Зависит от задачи приложения и ниши.
Мы разрабатываем корпоративные PWA приложения, завязаные на данные через веб-серверы.
К слову сказать, большинство корпоративных приложений привязаны к БД.
Если нет интернета, то заставка: «абонент временно недоступен». :)
Резюмирую повторно: зависит от области применения.
Существует много сайтов, которые состоят из нескольких простых страниц со статичным контентом, таким как контактная информация, статьи в блоге и предоставляемые услуги. Чтобы такой сайт считался PWA, он должен содержать интерактивные функции, которые вызываются пользователем.

Разве не наоборот. Всегда думал что ниша pwa — это чисто контентные сайты. Если приложение/сайт содержит интерактив взаимодействующий с БД — то сделать его как PWA практически непосильная задача. «Запомнить» что там накликал юзер в оффлайне, а потом при возобновлении интернета всё это добро засинхронить с беком. А если там логика в приложении такая, что «состояние на беке» изменилось, и то что юзер накликал в офллайне уже неактуально… юзер тогда всё кликал зря, и надо по новой? Даже с точки зрения UX — как-то не очень выходит.
Получается лучше не обманывать ожидания пользователя, а честно показать «Интернета нет, займись чем-то другим полезным. Как появится интренет — можешь работать дальше». Вместо того тобы создавать себе проблемы, а потом героически их решать.

Если нет интернета, то заставка: «абонент временно недоступен». :)

Т.е. обманываете пользователя? Он думает что абонент недоступен, а на самом деле — тот доступен, просто интернета сейчас у тебя нет.)

Насчёт лёгких обновлений в PWA-приложении. А так ли всё легко? Загружаю обновлённый бандл приложения в виде js-файла, смотрю в телефон, а там старый бандл закешированный остался. Как мне принудительно сбросить кэш в таком случае? Желательно, сделать это программными методами с моей стороны, так как класть эту задачу на пользователя – нереально.

Менять адрес JS-файлов, например. Или дописывать к ним URL Query параметры.
Обновить файл в кэше из кода Service Worker'а элементарно. Единственное, Service Worker должен как-то понять, что обновление необходимо.
Если делать это, как выше предложено (менять адрес файла), то можно даже старую версию файла из кэша удалить, чтобы место зря на устройстве не занимать.
В общем, для всяких хитрых случаев, когда стандартного кэширования не хватает, вполне можно этот процесс под свой контроль взять.
В Service Worker можно же настроить lifecycle — пять вариантов на выбор плюс каждый можно сконфигурировать еще точнее. Мне нравится фоновая подгрузка новой версии, при доступной сети плюс сообщение-всплывашка.
UFO just landed and posted this here
А вы пробовали Ctrl+Shift+I, вкладка Application, Service Workers?
Там просто жмёте Unregister на нужном.
UFO just landed and posted this here
Добавлю на всякий случай.
Чтобы включить отладку мобильного устройства по USB, нажмите на 3 точки справа вверху, там More tools, Remote devices.
На мобиле надо включить Режим разработчика, например, так.
Теперь на мобиле открывайте тот зловредный сайт и на вкладке Application смотрите его service workers и отключайте их.
Ещё можно удалить его куки, а также записи в Local Storage (в соответствующих разделах), если они есть.
А главного плюса PWA в статье и нет, или, вернее, нет в явном виде. PWA это же приложения которые можно легко и просто установить на смартфон БЕЗ модерации сторов. Для бизнесов, которые, скажем так, никак не могут, в силу рода своей деятельности, попасть в сторы, PWA это единственный путь попасть на смартфон юзера в виде почти полноценного приложения (а не просто в виде закладки в браузере или иконки сайта).
Думаю, что пока PWA очень далек от нативных приложений, но то, что такие технологии появляются — это круто. Статья подойдет тем, кто хочет разобраться в теории PWA. Спасибо автору!
Sign up to leave a comment.