mcpField
M
mobile-offline-support

mobile-offline-support

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

mobile-offline-support について

mobile-offline-supportは、オフライン優先のモバイルアプリを設計するためのスキルです。ローカルストレージ、接続回復後の同期、競合処理を扱い、ネットワークがない間も使えるアプリの開発に役立ちます。

主な機能

  1. 01堅牢なローカルストレージの実装
  2. 02オンライン時の自動同期
  3. 03後で同期する操作のキューイング
  4. 04データ競合の処理
  5. 05頻繁に使うデータのキャッシュ

活用シーン

  1. 01インターネット接続なしで使えるアプリの構築
  2. 02再接続後の端末とサーバー間のデータ同期
  3. 03ローカルストレージによるアプリ応答性の向上

インストール

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

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill mobile-offline-support

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

同梱ファイル

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

references/
android-room-database.md
ios-core-data-implementation.md
react-native-offline-storage.md
templates/
component-template.tsx

詳細

モバイルのオフライン対応

目次

概要

接続状況にかかわらず、シームレスなユーザー体験を提供するオフラインファーストのモバイルアプリケーションを設計します。

使用する場面

  • インターネット接続がなくても動作するアプリを構築する
  • 接続が復旧した際にシームレスに同期する機能を実装する
  • デバイスとサーバー間のデータ競合に対処する
  • インテリジェントなキャッシュでサーバー負荷を軽減する
  • ローカルストレージでアプリの応答性を高める

クイックスタート

最小限の実行可能な例:

import AsyncStorage from '@react-native-async-storage/async-storage';
import NetInfo from '@react-native-community/netinfo';

class StorageManager {
  static async saveItems(items) {
    try {
      await AsyncStorage.setItem(
        'items_cache',
        JSON.stringify({ data: items, timestamp: Date.now() })
      );
    } catch (error) {
      console.error('Failed to save items:', error);
    }
  }

  static async getItems() {
    try {
      const data = await AsyncStorage.getItem('items_cache');
      return data ? JSON.parse(data) : null;
    } catch (error) {
      console.error('Failed to retrieve items:', error);
      return null;
    }
  }

// ... (see reference guides for full implementation)

リファレンスガイド

references/ ディレクトリにある詳細な実装:

ガイド内容
React Native Offline StorageReact Native オフラインストレージ
iOS Core Data ImplementationiOS Core Data の実装
Android Room DatabaseAndroid Room データベース

ベストプラクティス

✅ 推奨事項
  • 堅牢なローカルストレージを実装する
  • オンライン時に自動同期を使用する
  • オフライン状態を視覚的にフィードバックする
  • 後で同期するアクションをキューに追加する
  • 競合に適切に対処する
  • 頻繁にアクセスされるデータをキャッシュする
  • 適切なエラー復旧を実装する
  • オフラインのシナリオを十分にテストする
  • 大容量データには圧縮を使用する
  • ストレージ使用量を監視する
❌ 禁止事項
  • 常時接続を前提にしない
  • 大きなファイルを頻繁に同期しない
  • ストレージの制限を無視しない
  • 不要な同期を強制しない
  • オフラインモードでデータを失わない
  • 機密データを暗号化せずに保存しない
  • キュー項目を無制限に蓄積しない
  • 同期の失敗を黙って無視しない
  • 短い間隔で同期を繰り返さない
  • オフラインテストをせずにデプロイしない

コメント