SUPER_OLEG_DEV Telegram 98
Также, локально нам нужен доступ на относительный урл /sw.js или какой-там урл мы сконфигурируем с желаемым скоупом. В tramvai приложении это прощее всего сделать добавив конфиг для http-proxy-middleware, который будет смотреть на dev-сервер.

Спустя десяток-два новых тудушек в репе, базовая интеграция готова, интересно какие кейсы всплывут на приложениях коллег.

Хочется выявить и добавить какие-то общие рецепты/паттерны, может даже в виде кода для импорта в сервис-воркере, с фичами реализованными на workbox - например при генерации статических страниц (SSG) - кэшировать просмотренные для работы оффлайн. Сгенерированные в рантайме кэшировать все-таки не безопасно.
Также у нас есть механизм для работы в режиме CSR с одной страницей-заглушкой - вот ее точно можно кэшировать.

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

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

Но билдтайм, это параметры @tramvai/cli, у нас не расширяемый, пользователь не может поменять вебпак конфиг или вклиниться на другие этапы сборки. И по сути разрабатывая независимый функционал, часть которая касается сборки мне приходится зашивать в код cli, усложнять его и в целом риск поломки есть всегда.

Хороший повод поскорее реализовать систему плагинов-модулей для cli - у нас уже многое для этого готово, добавляли в cli наш dependency injection контейнер для абстракции над сущностью Builder - подготовка к возможности в будущем поддерживать разные бандлеры.

Второй инсайт, это то что у нас разделен рантайм и билдтайм.

К примеру у Nuxt.js плагины имеют доступ одновременно к параметрам сборки, и могут менять что-то в рантайме.

В моем случае, из-за того что функционал сильно связан между собой, приходится делать ряд манипуляций - передавать какие-то параметры из cli в клиентский код PWA модуля, думать куда ложить конфигурацию под разные фичи - в статичный конфиг файл tramvai.json или в рантайм через DI провайдеры (к этом у cli нет доступа).

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

А что для вас было бы идеальной интеграцией возможностей PWA в приложении?
👍4



tgoop.com/super_oleg_dev/98
Create:
Last Update:

Также, локально нам нужен доступ на относительный урл /sw.js или какой-там урл мы сконфигурируем с желаемым скоупом. В tramvai приложении это прощее всего сделать добавив конфиг для http-proxy-middleware, который будет смотреть на dev-сервер.

Спустя десяток-два новых тудушек в репе, базовая интеграция готова, интересно какие кейсы всплывут на приложениях коллег.

Хочется выявить и добавить какие-то общие рецепты/паттерны, может даже в виде кода для импорта в сервис-воркере, с фичами реализованными на workbox - например при генерации статических страниц (SSG) - кэшировать просмотренные для работы оффлайн. Сгенерированные в рантайме кэшировать все-таки не безопасно.
Также у нас есть механизм для работы в режиме CSR с одной страницей-заглушкой - вот ее точно можно кэшировать.

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

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

Но билдтайм, это параметры @tramvai/cli, у нас не расширяемый, пользователь не может поменять вебпак конфиг или вклиниться на другие этапы сборки. И по сути разрабатывая независимый функционал, часть которая касается сборки мне приходится зашивать в код cli, усложнять его и в целом риск поломки есть всегда.

Хороший повод поскорее реализовать систему плагинов-модулей для cli - у нас уже многое для этого готово, добавляли в cli наш dependency injection контейнер для абстракции над сущностью Builder - подготовка к возможности в будущем поддерживать разные бандлеры.

Второй инсайт, это то что у нас разделен рантайм и билдтайм.

К примеру у Nuxt.js плагины имеют доступ одновременно к параметрам сборки, и могут менять что-то в рантайме.

В моем случае, из-за того что функционал сильно связан между собой, приходится делать ряд манипуляций - передавать какие-то параметры из cli в клиентский код PWA модуля, думать куда ложить конфигурацию под разные фичи - в статичный конфиг файл tramvai.json или в рантайм через DI провайдеры (к этом у cli нет доступа).

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

А что для вас было бы идеальной интеграцией возможностей PWA в приложении?

BY SuperOleg dev notes


Share with your friend now:
tgoop.com/super_oleg_dev/98

View MORE
Open in Telegram


Telegram News

Date: |

How to Create a Private or Public Channel on Telegram? "Doxxing content is forbidden on Telegram and our moderators routinely remove such content from around the world," said a spokesman for the messaging app, Remi Vaughn. With the administration mulling over limiting access to doxxing groups, a prominent Telegram doxxing group apparently went on a "revenge spree." ZDNET RECOMMENDS Telegram channels fall into two types:
from us


Telegram SuperOleg dev notes
FROM American