🔥

Тред (Алексей Родионов)


Что же такое PWA? 👇

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

могут работать без доступа к интернету, получать push-уведомления и т.д.

Но на самом деле, это не так. Вот правильное определение PWA:

PWA — это веб-приложения, которые применяют стратегию прогрессивного улучшения (progressive enhancement), то есть проверяют, поддерживает ли браузер те или иные Web API, и если да, то могут их использовать. Отсюда и название — прогрессивные веб-приложения.

Как видите, в определении нет ни слова об иконке на главном экране, работе без доступа к интернету, получении push-уведомлений и т.д. 😀

Термин PWA был придуман в 2015 году инженером Google Алексом Расселом (@slightlylate) и его супругой Фрэнсис Берримэн (@phae) и впервые использован в статье infrequently.org/2015/06/progre….

Идея PWA не нова — главные концепции были заложены и реализованы еще в Palm webOS, Firefox OS и Chrome OS, где все приложения по сути являются веб-приложениями.

Еще в 2007, за 18 дней до выхода первого iPhone, Стив Джобс сформулировал идею приложений, которые создаются с использованием веб-технологий и доставляются через сеть: youtu.be/ZlE7dzoD6GA.

App Store изначально не планировался, а в течение первого года существования устройства родной SDK не был доступен.

Кстати, у PWA есть одобренный сообществом логотип: github.com/webmaxru/progr…. Впервые на то, что у технологии нет своего логотипа в мае 2017 года обратил внимание Максим Сальников (@webmaxru), ныне DevRel компании Microsoft.

There is no logo for #PWA. What if we go for #jslogo concept to create one? Other ideas? Contribute! github.com/webmaxru/progr… #pwalogo RT! pic.twitter.com/AqILfcr2Xh
Он через Twitter организовал (twitter.com/webmaxru/statu…) на GitHub конкурс на лучшее лого (github.com/webmaxru/progr…).

Народным голосованием победил логотип от Диего Гонзалеза (@diekus). В то время он был DevRel'ом команды Samsung Internet — одного из самых популярных браузеров для мобильных устройств в Азии, а с недавних пор Диего — DevRel в Microsoft.

Кстати, заметил, что многие, на кого я подписан в Twitter, кто так или иначе связан с PWA, перешли работать в Microsoft. Microsoft нехило так пылесосит рынок талантов. Посмотрим, что из этого выйдет. )))

We've got a proposed logo for WebXR! Designed by the talented Deigo Gonzalez (for whom I lack a twitter handle). This isn't the "real" logo yet, we're open to alternative proposals, but I'd be pretty satisfied if this is the one we went with. pic.twitter.com/nIxPk2iI5Y
А ещё Диего (@diekus) — автор логотипа WebXR – ещё одной технологии, которая мне очень интересна. :) twitter.com/Tojiro/status/…

Недавно у меня появился шлем виртуальной реальности. И угадайте, что я проверил первым делом? ) Правильно: как PWA работают в VR. 😀

Кстати, я использую довольно извращённую конфигурацию:

Я установил Windows 10 Pro 64-bit через Bootcamp на свой Macbook Pro 16″ 2019, CPU Intel Core i9 9980HK @ 2.40-5.00GHz, 64GB RAM, SSD 2TB, GPU AMD Radeon Pro 5500M 8GB и подключаю HP Reverb G2 к нему через адаптер USB Type-C -> DisplayPort 1.4. 😂 Полёт нормальный!

Для тестов даже пришлось доработать демку. 🛠️ 👀 Live demo: immersive-web.github.io/webxr-samples/… 📝 Pull request: github.com/immersive-web/…
notion image

Результаты тестов меня не обрадовали. Ожидание / реальность:
notion image
notion image

Снимать каждый раз шлем, чтобы разрешить или запретить доступ к тому или иному Web API — плохой UX. Поэтому я открыл issue в баг-трекере Chromium: crbug.com/1193323

Там можно почитать ответ разработчиков браузера, почему сделано именно так, что такое trusted pixels и почему всё не так просто, как кажется. :)

Кстати, в процессе ещё одна доработка демки, чтобы проверить, как в VR отображаются push-уведомления. 😉