ホームページ > 記事 > ウェブフロントエンド > プログレッシブ Web アプリ (PWA)
この投稿では、ネイティブ アプリのようなエクスペリエンスを提供する Web アプリケーションを構築する最新のアプローチであるプログレッシブ Web アプリ (PWA) について説明します。 PWA の基本、その利点、および PWA を最初から作成する手順について説明します。
プログレッシブ Web アプリ (PWA) とは何ですか?
プログレッシブ Web アプリは、Web を通じて配信されるアプリケーション ソフトウェアの一種で、HTML、CSS、JavaScript などの一般的な Web テクノロジーを使用して構築されます。 PWA は、標準に準拠したブラウザを使用するあらゆるプラットフォームで動作することを目的としています。
PWA の主な機能:
PWA を構築する理由
前提条件:
シンプルな PWA の作成:
プロジェクトのセットアップ:
mkdir my-pwa cd my-pwa npm init -y npm install express
プロジェクト構造:
my-pwa/ ├── public/ │ ├── index.html │ ├── styles.css │ └── app.js ├── server.js ├── package.json └── manifest.json
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" } ] }
index.html:
8b05045a5be5764f313ed5b9168a17e6 49099650ebdc5f3125501fa170048923 93f0f5c25f18dab9d176bd4f6de5d30e 1fc2df4564f5324148703df3b6ed50c1 4f2fb0231f24e8aef524fc9bf9b9874f b2386ffb911b14667cb8f0f91ea547a7My PWA6e916e0f7d1e588d4f442bf645aedb2f 810801fb5d57e2948359b7eef57cb689 02ccac29734b382144275b53674934d7 9c3bca370b5104690d9ef395f2c5f8d1 6c04bd5ca3fcae76e30b72ad730ca86d 4a249f0d628e2318394fd9b75b4636b1Welcome to My Progressive Web App!473f0a7621bec819994bb5020d29372a 1e1ccda7e68c35a670bf47149c0f0c612cacc6d41bbb37262a98f745aa00fbf0 36cc49f0c466276486e50c850b7e4956 73a6ac4ed44ffec12cee46588e518a5e
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); }); }); }
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); }) ); });
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
アプリを開きます:
Service Worker 登録:
ホーム画面に追加:
ベストプラクティス:
ここで取り上げた重要なポイントを要約します:
以上がプログレッシブ Web アプリ (PWA)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。