styles.css:

/* styles.css */body {  font-family: Arial, sans-serif;  text-align: center;  background-color: #f0f0f0;  color: #333;}

app.js:

// app.jsif (\\'serviceWorker\\' in navigator) {  window.addEventListener(\\'load\\', () => {    navigator.serviceWorker.register(\\'/service-worker.js\\')      .then(registration => {        console.log(\\'ServiceWorker registered: \\', registration);      })      .catch(error => {        console.log(\\'ServiceWorker registration failed: \\', error);      });  });}

6. Настройка сервис-воркера

Service Worker — это сценарий, который браузер запускает в фоновом режиме отдельно от веб-страницы. Он перехватывает сетевые запросы и может кэшировать ресурсы для повышения производительности и возможностей автономного режима.

service-worker.js:

// service-worker.jsconst CACHE_NAME = \\'my-pwa-cache-v1\\';const urlsToCache = [  \\'/\\',  \\'/styles.css\\',  \\'/app.js\\',  \\'/manifest.json\\',  \\'/icon-192x192.png\\',  \\'/icon-512x512.png\\'];self.addEventListener(\\'install\\', event => {  event.waitUntil(    caches.open(CACHE_NAME)      .then(cache => {        return cache.addAll(urlsToCache);      })  );});self.addEventListener(\\'fetch\\', event => {  event.respondWith(    caches.match(event.request)      .then(response => {        return response || fetch(event.request);      })  );});

7. Настройка сервера

server.js:

const express = require(\\'express\\');const path = require(\\'path\\');const app = express();const PORT = process.env.PORT || 3000;app.use(express.static(path.join(__dirname, \\'public\\')));app.listen(PORT, () => {  console.log(`Server is running on http://localhost:${PORT}`);});

Запуск сервера:

node server.js

8. Тестирование вашего PWA

  1. Откройте приложение:

  2. Регистрация сервисного работника:

  3. Добавить на главный экран:

9. Лучшие практики для PWA

Рекомендации:

10. Заключение

Обобщите основные затронутые моменты:

11. Дополнительные ресурсы

","image":"http://www.luping.net/uploads/20240819/172406232366c31a735dfeb.jpg","datePublished":"2024-08-19T18:12:03+08:00","dateModified":"2024-08-19T18:12:03+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Прогрессивные веб-приложения (PWA)

Прогрессивные веб-приложения (PWA)

Опубликовано 19 августа 2024 г.
Просматривать:126

Progressive Web Apps (PWAs)

Создание прогрессивных веб-приложений (PWA)

В этом посте мы рассмотрим прогрессивные веб-приложения (PWA), современный подход к созданию веб-приложений, которые предлагают нативный интерфейс, аналогичный приложениям. Я расскажу об основах PWA, их преимуществах и шагах по созданию PWA с нуля.

1. Введение в прогрессивные веб-приложения (PWA).

Что такое прогрессивное веб-приложение (PWA)?

Прогрессивное веб-приложение — это тип прикладного программного обеспечения, распространяемого через Интернет и созданного с использованием распространенных веб-технологий, включая HTML, CSS и JavaScript. PWA предназначены для работы на любой платформе, использующей браузер, соответствующий стандартам.

Основные особенности PWA:

  • Адаптивный: работает на любом устройстве и размере экрана.
  • Возможности в автономном режиме: работает в автономном режиме или при плохом состоянии сети с использованием сервисных работников.
  • Впечатление, подобное приложению: обеспечивает взаимодействие с пользователем, как в приложении, с такими функциями, как установка на главный экран.
  • Безопасно: обслуживается по протоколу HTTPS для предотвращения слежки и обеспечения целостности контента.
  • Повторное вовлечение: включает push-уведомления для поддержания активности пользователей.

2. Преимущества PWA

Зачем создавать PWA?

  • Улучшенная производительность: более быстрая загрузка и более плавное взаимодействие.
  • Расширенное взаимодействие с пользователем: push-уведомления и доступ к главному экрану.
  • Снижение затрат на разработку: единая база кода для веб-сайтов и мобильных устройств.
  • Преимущества для SEO: PWA доступны поисковым системам.

3. Настройка PWA

Предварительные требования:

  • Базовые знания HTML, CSS и JavaScript.
  • Установлены Node.js и npm/yarn.

Создание простого PWA:

  1. Настройка проекта:

    mkdir my-pwa
    cd my-pwa
    npm init -y
    npm install express
    
  2. Структура проекта:

    my-pwa/
    ├── public/
    │   ├── index.html
    │   ├── styles.css
    │   └── app.js
    ├── server.js
    ├── package.json
    └── manifest.json
    

4. Создание файла манифеста

manifest.json:

Файл манифеста содержит метаданные о PWA и необходим для установки приложения на главном экране.

// manifest.json
{
  "name": "My PWA",
  "short_name": "PWA",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#ffffff",
  "theme_color": "#007bff",
  "icons": [
    {
      "src": "icon-192x192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "icon-512x512.png",
      "sizes": "512x512",
      "type": "image/png"
    }
  ]
}

5. Создание файлов HTML, CSS и JavaScript.

index.html:



  My PWA

Welcome to My Progressive Web App!

styles.css:

/* styles.css */
body {
  font-family: Arial, sans-serif;
  text-align: center;
  background-color: #f0f0f0;
  color: #333;
}

app.js:

// app.js
if ('serviceWorker' in navigator) {
  window.addEventListener('load', () => {
    navigator.serviceWorker.register('/service-worker.js')
      .then(registration => {
        console.log('ServiceWorker registered: ', registration);
      })
      .catch(error => {
        console.log('ServiceWorker registration failed: ', error);
      });
  });
}

6. Настройка сервис-воркера

Service Worker — это сценарий, который браузер запускает в фоновом режиме отдельно от веб-страницы. Он перехватывает сетевые запросы и может кэшировать ресурсы для повышения производительности и возможностей автономного режима.

service-worker.js:

// service-worker.js
const CACHE_NAME = 'my-pwa-cache-v1';
const urlsToCache = [
  '/',
  '/styles.css',
  '/app.js',
  '/manifest.json',
  '/icon-192x192.png',
  '/icon-512x512.png'
];

self.addEventListener('install', event => {
  event.waitUntil(
    caches.open(CACHE_NAME)
      .then(cache => {
        return cache.addAll(urlsToCache);
      })
  );
});

self.addEventListener('fetch', event => {
  event.respondWith(
    caches.match(event.request)
      .then(response => {
        return response || fetch(event.request);
      })
  );
});

7. Настройка сервера

server.js:

const express = require('express');
const path = require('path');

const app = express();
const PORT = process.env.PORT || 3000;

app.use(express.static(path.join(__dirname, 'public')));

app.listen(PORT, () => {
  console.log(`Server is running on http://localhost:${PORT}`);
});

Запуск сервера:

node server.js

8. Тестирование вашего PWA

  1. Откройте приложение:

    • Перейдите по адресу http://localhost:3000 в своем браузере.
  2. Регистрация сервисного работника:

    • Откройте инструменты разработчика (F12 или щелкните правой кнопкой мыши и выберите «Проверить»).
    • Перейдите на вкладку «Приложение».
    • В разделе «Сервисные работники» вы должны увидеть зарегистрированного своего сервисного работника.
  3. Добавить на главный экран:

    • На мобильном устройстве откройте PWA в браузере.
    • Вы должны увидеть подсказку «Добавить на главный экран».

9. Лучшие практики для PWA

Рекомендации:

  • Используйте HTTPS: PWA требуют безопасных контекстов.
  • Оптимизируйте изображения: используйте адаптивные изображения и отложенную загрузку.
  • Минимизация сетевых запросов: эффективно кэшируйте ресурсы.
  • Обеспечите офлайн-функциональность: обеспечьте содержательный офлайн-опыт.

10. Заключение

Обобщите основные затронутые моменты:

  • Знакомство с PWA и их преимуществами.
  • Настройка простого PWA с манифестом, сервисным работником и кэшированием.
  • Лучшие практики создания надежных PWA.

11. Дополнительные ресурсы

  • Документация по PWA
  • Учебники и руководства по продвинутым темам PWA.
  • Форумы сообщества и поддержка.
Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/suhaspalani/progressive-web-apps-pwas-3n8?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3