Введение: PWA v.s. Родное приложение
Действительно ли нам нужно изучать собственное приложение для веб-разработчиков? Там есть
- Вам нужно выучить новые языки (Java, Kotlin, Swift и т. Д.)
- Согласно исследованию comScore за 2019 год, Google и Facebook доминируют в экосистеме мобильных приложений в Индонезии. Трудно заставить пользователей тратить время на новые приложения.
Тем не менее, приложения по-прежнему обеспечивают большую часть мобильного времени на всех рынках. Что мы можем сделать для веб-разработчиков?
Одно из решений - постепенно улучшать веб-приложение, чтобы оно выглядело как нативное. Прогрессивное веб-приложение (PWA) может выполнять следующие задачи, чтобы предоставить пользователям возможности, аналогичные нативным.
- Установка как родное приложение
- Кэш / офлайн-поддержка
- Фоновая синхронизация
- Веб-push-уведомление
- Родные функции устройства (камера и т. Д.)
СОДЕРЖАНИЕ
Мы уже рассказывали о разработке Next.js в нескольких темах раньше. Не стесняйтесь посещать следующие темы, если вам нужно.
В этой статье представлены следующие темы.
- Добавить манифест веб-приложения в приложение Next.js
- Включить кеширование / поддержку в автономном режиме
- Введите критерии для баннера установщика приложения
Добавить манифест веб-приложения в приложение Next.js
Как сделать веб-приложение доступным для установки? Есть два шага.
Шаг 1. Введите информацию для кнопки главного экрана.
Первый шаг - создать manifest.json и поместить в него всю информацию.
Следующий снимок экрана - Android Chrome. Он показывает, что мы можем настроить значок, имя, краткое имя, цвет темы и цвет фона для PWA.
Шаг 2. Свяжите манифест приложения в заголовке.
Следующим шагом будет использование файла манифеста. Для приложения Next.js мы можем создать настраиваемый компонент и импортировать next / head.
- Для Android мы можем поместить ссылку в заголовок
- Для iOS используйте meta вместо ссылки.
Включить кеширование / поддержку в автономном режиме
Чтобы включить автономную поддержку, нужно выполнить четыре шага.
Шаг 1. Добавьте шаблон (sw.js) сервис-воркера с Workbox.
1. Предварительное кэширование: кешируйте список ресурсов после регистрации сервисного работника.
2. Стратегии маршрутизации (кэш выполнения)
- Сначала кеш: для файлов изображений
- Устаревший при повторной проверке: для файлов JS, CSS
- Сначала сеть: для файлов HTML
Шаг 2. Создайте service-worker.js
- Установите необходимые пакеты
npm install -s next-offline
- Создайте next.config.js в корневой папке
- Выполните следующую команду, чтобы создать сервис-воркер
next build && next export
Шаг 3. Зарегистрируйте сервис-воркер в компоненте React.
Поместите регистрацию и отмену регистрации в useEffect.
Шаг 4. Проверьте сервисного работника.
Мы можем открыть инструмент разработчика, чтобы обнаружить события сервис-воркера после развертывания.
- Событие установки: оно будет запущено, когда рабочий выполнит
- Событие Activate: оно будет запущено, когда сервисный работник будет готов управлять клиентской стороной. Сервисный работник может управлять клиентской стороной после обновления веб-страницы.
Введите критерии для баннера установщика приложения
Chrome автоматически отображает баннер, когда приложение соответствует следующим критериям.
1. Манифест веб-приложения со следующими элементами: short_name, name, значок 144 x 144 (image / png), start_url.
2. На вашем сайте зарегистрирован сервисный работник.
3. Отключено от HTTPS
4. Посещали как минимум дважды, с промежутком не менее пяти минут между посещениями.
Демо-сайт
- Ежедневное обучение непрофессионала
использованная литература
- Манифест веб-приложения 漸進 式 網頁 應用 程式
- Прогрессивные веб-приложения (PWA) - Полное руководство
- Workbox 之 ServiceWorker 可以 如此 简单
- День 14–30 天 Progressive Web App 學習 筆記 - 實 作 Регистрация сервисного работника
- Использование PrecacheController напрямую
- Жизненный цикл обслуживающего работника
- Создайте сервис-воркера с помощью Webpack
- Стратегии Workbox с примерами и сценариями использования
- 在 iOS 裝置 上 使用 Chrome DevTools 和 Safari Web Inspector 遠端 除錯?
- [Day29] 自動化 管理 Сервисный работник (Часть 2)
- 使用 Workbox
- Workbox 之 ServiceWorker 可以 如此 简单
Резюме
Спасибо за вашего пациента. Я Шон. Я работаю программистом.
Эта статья - моя заметка. Пожалуйста, не стесняйтесь давать мне совет, если есть ошибки. Жду ваших отзывов.
- Страница Facebook для статей
- Последний побочный проект: Daily Learning
похожие темы
Как использовать двустороннюю привязку в Knout.js и ReactJS?
Узнайте, как использовать SignalR для создания приложения для чата
Мое отражение ‹Эффективного SQL›:
ИТ и сеть:
База данных:
Тестирование программного обеспечения:
Отладка:
DevOps: