mcpField
P
progressive-web-app

progressive-web-app

github.com/aj-geddes開発373524 回インストール34 週間前に更新
リポジトリ

progressive-web-app について

オフライン対応やインストール、Service Worker、Web アプリマニフェストを使ったプログレッシブ Web アプリの構築ガイドです。ブラウザーでアプリのような体験を作る開発者向けです。

主な機能

  1. 01オフライン対応
  2. 02Web アプリのインストール
  3. 03Service Worker の実装
  4. 04Web アプリマニフェスト
  5. 05プッシュ通知

活用シーン

  1. 01アプリのような Web 体験の構築
  2. 02ネットワークなしでの利用対応
  3. 03モバイルへのインストール対応
  4. 04プッシュ通知の追加

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill progressive-web-app

インストール後、Claude Code で/progressive-web-appを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
install-prompt-and-app-installation.md
offline-support-with-indexeddb.md
push-notifications.md
service-worker-implementation.md
web-app-manifest.md
templates/
component-template.tsx

詳細

プログレッシブウェブアプリ

目次

概要

オフラインサポート、インストール機能、サービスワーカー、ウェブアプリマニフェストを備えたプログレッシブウェブアプリを構築し、ブラウザーでアプリのような体験を提供します。

使用する場面

  • アプリのようなウェブ体験
  • オフライン機能が必要な場合
  • モバイル端末へのインストールが必要な場合
  • プッシュ通知
  • 高速な読み込みが求められる場合

クイックスタート

最小限の動作例:

// public/manifest.json
{
  "name": "My Awesome App",
  "short_name": "AwesomeApp",
  "description": "A progressive web application",
  "start_url": "/",
  "scope": "/",
  "display": "standalone",
  "orientation": "portrait-primary",
  "background_color": "#ffffff",
  "theme_color": "#007bff",
  "icons": [
    {
      "src": "/images/icon-192.png",
      "sizes": "192x192",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/images/icon-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "any"
    },
    {
// ... (see reference guides for full implementation)

リファレンスガイド

詳細な実装は references/ ディレクトリにあります:

ガイド内容
ウェブアプリマニフェストウェブアプリマニフェスト
サービスワーカーの実装サービスワーカーの実装
インストールプロンプトとアプリのインストールインストールプロンプトとアプリのインストール
IndexedDBによるオフラインサポートIndexedDBによるオフラインサポート
プッシュ通知プッシュ通知

ベストプラクティス

✅ 推奨事項
  • 確立されたパターンや規約に従います
  • 読みやすく保守しやすいコードを書きます
  • 適切なドキュメントを追加します
  • デプロイ前に十分にテストします
❌ 避けるべきこと
  • テストや検証を省略します
  • エラー処理を無視します
  • 設定値をハードコードします

コメント