tgoop.com/super_oleg_dev/95
Last Update:
Привет!
Занимаюсь задачкой по различным интеграциям для удобной разработки PWA приложения на tramvai, хочется написать некий лог разработки, прокрутить все еще разок в голове, поток мыслей в общем.
У нас уже был внутренний модуль, который просто подключал со стороны Service Worker и webmanifest, а сам SW и манифест разрабатывались и загружались на s3 отдельно от приложения.
Но сейчас под планируемый функционал у нескольких приложений хочется получить DX близкий к разработке приложения, возможность более быстрой итерации от изменения кода до получения результата.
По фичам PWA:
- Нам нужно генерировать сервис-воркер
- Также генерировать webmanifest
- Дополнительно генерировать иконки
- Интегрировать все это в приложение
По технологиям:
- workbox помогает легко реализовать все популярные кейсы с SW (кэширование, оффлайн) + подробные логи
- workbox-window умеет правильно подключать SW и упростить общение с ним из приложения + подробные логи
- sharp как популярное решение для работы с изображениями
В идеале сделать workbox опциональным и дать возможность генерировать SW без его участия, но для начала можно зашить его в конфигурацию.
Есть ряд PWA плагинов под популярные мета-фреймворки, в качестве референса использую плагин для Nuxt.js - https://pwa.nuxtjs.org/
Почему именно ее:
- Nuxt.js один из немногих мета-фреймворков с адекватной расширяемой архитектурой, полноценно поддерживает плагины, в которых можно конфигурировать build-тайм и рантайм фичи
- Отличная декомпозиция - выделены модули по фичам: Workbox, Manifest, Icon и Meta - готовая ментальная модель для разработки похожего функционала
- Подробная документация, описаны конфигурации для каждого модуля, можно переиспользовать
Кстати этот плагин как раз поддерживает работу без workbox.
BY SuperOleg dev notes
Share with your friend now:
tgoop.com/super_oleg_dev/95
