Repolode
dexie

dexie/Dexie.js

ブラウザー標準搭載のデータベースIndexedDBを、使いやすいクエリAPIで扱える軽量なTypeScriptラッパー。

スター
14,658
フォーク
719
未解決の Issue
584
最終コミット
一昨日

これは何?

Dexie.jsは、最新のブラウザーに標準搭載されているクライアントサイドデータベースIndexedDBをラップし、テーブルの定義、データの書き込み、クエリの実行を簡単にします。スキーマは簡潔なバージョン付き構文で宣言でき、インデックス、範囲、フィルター、一括操作に対応したチェーン可能なAPIでクエリを記述できます。

さまざまなIndexedDB実装のバグを回避し、ブラウザー間で一貫した動作を実現します。通常のWebアプリやPWAで動作するほか、ElectronデスクトップアプリやCapacitorベースのiOS/Androidアプリでも利用できます。型定義が含まれており、npm経由またはscriptタグで読み込めます。

リアルタイム同期、認証、コラボレーションには、別アドオンのDexie Cloudを利用できます。ホステッドサービスとしても、セルフホストでも運用できます。

主な機能

  • 01IndexedDBのテーブルに対し、インデックス、範囲、フィルターを扱えるチェーン可能なクエリAPI。
  • 02簡潔な文字列構文で記述するバージョン付きスキーマ宣言。
  • 03書き込みを高速化するbulkPutやbulkAddなどの一括操作。
  • 04ブラウザー固有のIndexedDBのバグを回避し、より安定した動作を実現。
  • 05ブラウザー、Electron、Capacitorアプリに対応し、TypeScriptの型定義も同梱。
  • 06同期と認証に使えるオプションのDexie Cloudアドオン。

ユースケース

  • ブラウザー内にデータをローカル保存する、オフライン対応PWAの開発。
  • ネットワーク通信を減らすため、APIレスポンスやユーザーデータをクライアント側にキャッシュ。
  • ElectronデスクトップアプリやCapacitorモバイルアプリでのアプリデータの保存。
  • Dexie Cloudを使い、既存のWebアプリにローカルファーストな同期機能を追加。

クイックスタート

  1. 1

    npmからDexieをインストールする

    npm install dexie
  2. 2

    データベースとテーブルを宣言し、アプリのコードからクエリを実行する(READMEのHello Worldの例を参照)

使う前に知っておきたいこと

  • DexieはIndexedDBをラップしているため、ブラウザー、Electron、Capacitorなどのブラウザーに似た環境でのみ動作します。

収録されている特集

トピック

よくある質問

Dexie.js とは?
ブラウザー標準搭載のデータベースIndexedDBを、使いやすいクエリAPIで扱える軽量なTypeScriptラッパー。 Dexie.jsは、最新のブラウザーに標準搭載されているクライアントサイドデータベースIndexedDBをラップし、テーブルの定義、データの書き込み、クエリの実行を簡単にします。スキーマは簡潔なバージョン付き構文で宣言でき、インデックス、範囲、フィルター、一括操作に対応したチェーン可能なAPIでクエリを記述できます。
Dexie.js は無料で使えますか?ライセンスは?
Dexie.js は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
Dexie.js は今もメンテナンスされていますか?
活発にメンテナンス中。Dexie.js の最終コミットは 2026年10月21日 です。
Dexie.js は何に使えますか?
ブラウザー内にデータをローカル保存する、オフライン対応PWAの開発。 ネットワーク通信を減らすため、APIレスポンスやユーザーデータをクライアント側にキャッシュ。 ElectronデスクトップアプリやCapacitorモバイルアプリでのアプリデータの保存。 Dexie Cloudを使い、既存のWebアプリにローカルファーストな同期機能を追加。
Dexie.js のインストール方法は?
npmからDexieをインストールする: npm install dexie データベースとテーブルを宣言し、アプリのコードからクエリを実行する(READMEのHello Worldの例を参照)
Dexie.js はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/dexie/Dexie.js

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト