mcpField
M
Mobile Web Domain Knowledge

Mobile Web Domain Knowledge

github.com/danhvb開発87 回インストール
リポジトリ

Mobile Web Domain Knowledge について

モバイルおよびWebアプリの要件分析に使うリファレンススキルです。アプリの種類ごとに、プラットフォームの違い、UXパターン、技術上の考慮事項を整理します。

主な機能

  1. 01Webとモバイルのアプリ種別を比較
  2. 02iOS、Android、Webの要件を確認
  3. 03認証とオフライン対応を検討
  4. 04パフォーマンスとレスポンシブ設計を網羅
  5. 05アクセシビリティ、UX、ストア審査を扱う

活用シーン

  1. 01ネイティブ、クロスプラットフォーム、PWAを比較
  2. 02認証とオフライン要件を作成
  3. 03アクセシビリティと性能基準を確認

インストール

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

$npx skills add https://github.com/danhvb/my-ba-skills --skill mobile-web-domain-knowledge

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

詳細

モバイル/Web ドメイン知識スキル

目的

モバイルおよび Web アプリケーションプロジェクトの要件を分析するため、プラットフォームの違い、UX パターン、技術的な考慮事項に関する包括的な知識を提供します。

アプリケーションの種類

Web アプリケーション

静的 Web サイト:HTML/CSS、サーバー側のロジックなし シングルページアプリ(SPA):クライアント側レンダリング(React、Vue、Angular) サーバーサイドレンダリング(SSR):サーバーが HTML をレンダリング(Next.js、Nuxt) プログレッシブ Web アプリ(PWA):ネイティブアプリのような機能を備えた Web アプリ

モバイルアプリケーション

ネイティブ:プラットフォーム固有(Swift/iOS、Kotlin/Android) クロスプラットフォーム:単一のコードベース(React Native、Flutter) ハイブリッド:ネイティブコンテナー内の Web アプリ(Ionic、Cordova) PWA:モバイルにインストール可能な Web アプリ

比較
項目ネイティブクロスプラットフォームPWA
パフォーマンス最高良好良好
デバイスへのアクセス完全ほとんど可能限定的
開発コスト高(2 つのコードベース)中低
アプリストア必須必須任意
更新速度アプリストアの審査が必要アプリストアの審査が必要即時
オフライン完全完全限定的

プラットフォーム要件

iOS に関する考慮事項
  • Swift/Objective-C または React Native/Flutter
  • iOS 15 以降をサポート(推奨)
  • App Store のガイドラインへの準拠
  • ソーシャルログインを使用する場合、Apple でサインインが必須
  • 認証には Face ID/Touch ID を使用
  • APNs によるプッシュ通知
  • Apple によるアプリ内購入(手数料 30%)
  • プライバシー栄養表示ラベル
Android に関する考慮事項
  • Kotlin/Java または React Native/Flutter
  • Android 12 以降をサポート(推奨)
  • Google Play ストアのガイドライン
  • Material Design の原則
  • 指紋/生体認証
  • FCM によるプッシュ通知
  • 複数の画面サイズ/密度
  • 権限モデル
Web に関する考慮事項
  • ブラウザーとの互換性(Chrome、Safari、Firefox、Edge)
  • レスポンシブデザイン(モバイルファースト)
  • アクセシビリティ(WCAG 2.1 AA)
  • SEO 要件
  • パフォーマンス(Core Web Vitals)
  • プログレッシブエンハンスメント

よくある要件パターン

認証

要件:

REQ-AUTH-001: User shall login with email and password
REQ-AUTH-002: User shall login with social accounts (Google, Facebook, Apple)
REQ-AUTH-003: User shall use biometric authentication (Face ID, Touch ID, Fingerprint)
REQ-AUTH-004: Session shall expire after 30 minutes of inactivity
REQ-AUTH-005: User shall reset password via email link

セキュリティに関する考慮事項:

  • トークンの安全な保存(Keychain/Keystore)
  • 証明書ピンニング
  • HTTPS のみ
  • OAuth 2.0/OIDC 標準
  • レート制限
オフライン機能

オフラインサポートのレベル:

レベル 1:読み取り専用キャッシュ

  • 以前に読み込んだデータを表示
  • オフラインでの変更は不可
  • 実装が簡単

レベル 2:楽観的更新

  • キャッシュされたデータを表示
  • オフラインで変更を実行
  • オンライン時に同期
  • 競合の解決が必要

レベル 3:完全オフライン

  • すべての機能をオフラインで利用可能
  • すべての操作をキューに追加
  • 複雑な同期ロジック
  • バックグラウンド同期

要件の例:

REQ-OFFLINE-001: App shall cache last 50 orders for offline viewing
REQ-OFFLINE-002: App shall indicate offline status to user
REQ-OFFLINE-003: App shall queue actions when offline
REQ-OFFLINE-004: App shall auto-sync when connection restored
REQ-OFFLINE-005: App shall notify user of sync conflicts
プッシュ通知

種類:

  • トランザクション通知:注文の更新、パスワードのリセット
  • マーケティング通知:プロモーション、おすすめ
  • 再エンゲージメント通知:カートの放棄、非アクティブなユーザー

要件:

REQ-PUSH-001: User shall receive order status notifications
REQ-PUSH-002: User shall opt-in to marketing notifications
REQ-PUSH-003: Notification shall deep-link to relevant screen
REQ-PUSH-004: User shall manage notification preferences in settings

技術:

  • iOS:APNs(Apple プッシュ通知サービス)
  • Android:FCM(Firebase Cloud Messaging)
  • Web:Web Push API
パフォーマンス要件

モバイルのパフォーマンス:

REQ-PERF-001: App shall launch in < 2 seconds (cold start)
REQ-PERF-002: Screen transitions shall complete in < 300ms
REQ-PERF-003: API responses shall complete in < 2 seconds
REQ-PERF-004: App shall maintain 60 fps during scrolling
REQ-PERF-005: Crash rate shall be < 1%

Web のパフォーマンス(Core Web Vitals):

REQ-PERF-010: LCP (Largest Contentful Paint) < 2.5 seconds
REQ-PERF-011: FID (First Input Delay) < 100ms
REQ-PERF-012: CLS (Cumulative Layout Shift) < 0.1
REQ-PERF-013: TTI (Time to Interactive) < 3.8 seconds
レスポンシブデザイン

ブレークポイント:

  • モバイル:< 768px
  • タブレット:768px - 1024px
  • デスクトップ:> 1024px

要件:

REQ-RESP-001: Layout shall adapt to screen sizes 320px to 2560px
REQ-RESP-002: Touch targets shall be minimum 44x44 pixels on mobile
REQ-RESP-003: Content shall be readable without horizontal scroll
REQ-RESP-004: Images shall use responsive sizing (srcset)
アクセシビリティ(WCAG 2.1)

要件:

REQ-A11Y-001: All images shall have alt text
REQ-A11Y-002: Color contrast ratio shall be 4.5:1 minimum
REQ-A11Y-003: All interactive elements shall be keyboard accessible
REQ-A11Y-004: Form fields shall have visible labels
REQ-A11Y-005: Error messages shall be associated with fields
REQ-A11Y-006: App shall support screen readers (VoiceOver, TalkBack)

主な UX パターン

ナビゲーション
  • タブバー(モバイル):主要なセクションを 3~5 個配置
  • ハンバーガーメニュー:二次ナビゲーション
  • ボトムシート:コンテキストに応じた操作
  • モーダルダイアログ:特定のタスクに集中
フォーム
  • 単一カラムのレイアウト(モバイル)
  • 入力内容に合ったキーボードの種類
  • インライン検証
  • 分かりやすいエラーメッセージ
  • 複数ステップのフォームには進行状況インジケーターを表示
読み込み状態
  • スケルトン画面
  • 引っ張って更新
  • 無限スクロールとページネーションの使い分け
  • 楽観的 UI 更新
ジェスチャー(モバイル)
  • タップ:主な操作
  • 長押し:二次メニュー
  • スワイプ:リスト操作、ナビゲーション
  • ピンチ:ズーム

アプリストアに関する考慮事項

App Store (iOS)
  • 審査時間:24~48 時間
  • 初回申請時は人による審査
  • 却下理由:バグ、クラッシュ、ガイドライン違反
  • 必須:プライバシーポリシー、年齢レーティング
  • アプリ内課金:手数料 15~30%
Google Play (Android)
  • 審査時間:数時間~数日
  • 自動審査と人による審査
  • 必須:プライバシーポリシー、年齢レーティング
  • アプリ内課金:手数料 15~30%
よくある却下理由
  • クラッシュやバグ
  • 機能の未完成
  • プライバシーに関する問題
  • ガイドライン違反
  • 誤解を招くメタデータ
  • リンク切れ

アナリティクスとトラッキング

主なイベント:

  • アプリのインストール/起動
  • 画面表示
  • 機能の利用
  • コンバージョンイベント
  • エラー/クラッシュ

ツール:

  • Firebase Analytics
  • Mixpanel
  • Amplitude
  • App Store Connect / Google Play Console

ステークホルダーへの質問

  • ネイティブ、クロスプラットフォーム、PWA のどれにしますか?
  • どのプラットフォームとバージョンをサポートしますか?
  • オフライン機能は必要ですか?
  • プッシュ通知のユースケースはありますか?
  • パフォーマンスに関する期待値はありますか?
  • アクセシビリティ要件はありますか?
  • アプリストアへの掲載は必要ですか?
  • アナリティクスの要件はありますか?

参考資料

  • Apple Human Interface Guidelines
  • Material Design Guidelines
  • Web Content Accessibility Guidelines (WCAG)
  • Core Web Vitals Documentation

コメント