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 は、ブラウザが Web ページとは別にバックグラウンドで実行するスクリプトです。ネットワーク リクエストをインターセプトし、リソースをキャッシュしてパフォーマンスとオフライン機能を向上させることができます。

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. Service Worker 登録:

  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"}}
「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > プログレッシブ Web アプリ (PWA)

プログレッシブ Web アプリ (PWA)

2024 年 8 月 19 日に公開
ブラウズ:900

Progressive Web Apps (PWAs)

プログレッシブ Web アプリ (PWA) の構築

この投稿では、ネイティブ アプリのようなエクスペリエンスを提供する Web アプリケーションを構築する最新のアプローチであるプログレッシブ Web アプリ (PWA) について説明します。 PWA の基本、その利点、PWA を最初から作成する手順について説明します。

1. プログレッシブ Web アプリ (PWA) の概要

プログレッシブ ウェブ アプリ (PWA) とは何ですか?

プログレッシブ Web アプリは、Web を通じて配信されるアプリケーション ソフトウェアの一種で、HTML、CSS、JavaScript などの一般的な Web テクノロジを使用して構築されます。 PWA は、標準に準拠したブラウザを使用するあらゆるプラットフォームで動作することを目的としています。

PWA の主な機能:

  • レスポンシブ: あらゆるデバイスと画面サイズで動作します。
  • オフライン機能: Service Worker を使用して、オフラインまたはネットワーク状態が悪い場合に機能します。
  • アプリのようなエクスペリエンス: ホーム画面のインストールなどの機能を備えたアプリのようなユーザー エクスペリエンスを提供します。
  • 安全: スヌーピングを防止し、コンテンツの整合性を確保するために HTTPS 経由で提供されます。
  • 再エンゲージ可能: プッシュ通知を有効にしてユーザーのエンゲージメントを維持します。

2. PWAのメリット

PWA を構築する理由

  • パフォーマンスの向上: 読み込み時間が短縮され、操作がスムーズになりました。
  • ユーザー エンゲージメントの強化: プッシュ通知とホーム画面へのアクセス。
  • 開発コストの削減: ウェブとモバイルの両方のエクスペリエンスを単一のコードベースで実現します。
  • 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 は、ブラウザが Web ページとは別にバックグラウンドで実行するスクリプトです。ネットワーク リクエストをインターセプトし、リソースをキャッシュしてパフォーマンスとオフライン機能を向上させることができます。

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. Service Worker 登録:

    • 開発者ツールを開きます (F12 または右クリックして [検査] を選択します)。
    • 「アプリケーション」タブに移動します。
    • [Service Workers] の下に、登録されている Service Worker が表示されます。
  3. ホーム画面に追加:

    • モバイル デバイスでは、ブラウザで PWA を開きます。
    • 「ホーム画面に追加」というプロンプトが表示されます。

9. PWA のベスト プラクティス

ベスト プラクティス:

  • HTTPS を使用する: PWA には安全なコンテキストが必要です。
  • 画像の最適化: 応答性の高い画像と遅延読み込みを使用します。
  • ネットワーク リクエストを最小限に抑える: リソースを効果的にキャッシュします。
  • オフライン機能の確保: 有意義なオフライン体験を提供します。

10. 結論

ここで取り上げた重要なポイントを要約します:

  • PWA とその利点の紹介。
  • マニフェスト、Service Worker、キャッシュを使用した単純な PWA のセットアップ。
  • 堅牢な PWA を構築するためのベスト プラクティス。

11. 追加リソース

  • PWA ドキュメント
  • 高度な PWA トピックに関するチュートリアルとガイド。
  • コミュニティ フォーラムとサポート。
リリースステートメント この記事は次の場所に転載されています: https://dev.to/suhaspalani/progressive-web-apps-pwas-3n8?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3