Webアプリ向けのオープンソースなリアクティブデータベース。純粋なTypeScriptでサーバー関数やデータ処理を記述できます。
pubkey/rxdb
ブラウザー、Node.js、React Native、Electronで動作し、自前のバックエンドとレプリケーションできる、JavaScriptアプリ向けのローカルファーストなリアクティブNoSQLデータベース。
- スター
- 23,411
- フォーク
- 1,182
- 未解決の Issue
- 19
- 最終コミット
- 6 時間前
これは何?
RxDBは、データをローカルファーストで保持し、変更を購読できるJavaScriptアプリケーション向けのNoSQLデータベースです。クエリは一度だけ実行することも、変更を監視することもできます。クエリ結果や単一のフィールドが変わると、UIが自動的に更新されます。
ストレージ層は差し替え可能です。同じデータベースのコードをLocalStorage、IndexedDB、OPFS、SQLite、インメモリストア、WebWorkerなどの上で動作させられるため、ブラウザー、Node.js、React Native、Capacitor、Flutter、Electronで利用できます。
同期機能として、RxDBには自分で実装したHTTPエンドポイントと連携するレプリケーションエンジンがあり、GraphQL、CouchDB、WebSocket、WebRTC、Supabase、Firestore、NATS、Google Drive向けのプラグインも用意されています。さらに、スキーマ検証、暗号化、マイグレーション、競合処理、添付ファイル、CRDTにも対応しています。
主な機能
- 01結果や単一のフィールドが変わると更新を通知するリアクティブクエリ。
- 02IndexedDB、OPFS、SQLite、インメモリなどに対応した差し替え可能なストレージエンジン。
- 03自前のHTTPエンドポイントや、GraphQL、CouchDB、Supabaseなどのプラグインを介したレプリケーション。
- 04スキーマ検証、暗号化、マイグレーション、競合処理。
- 05ブラウザー、Node.js、React Native、Capacitor、Flutter、Electronで動作。
ユースケース
- データをクライアント側に保持する、オフライン対応またはリアルタイムUIアプリの開発。
- 特定のクラウドデータベースを採用せずに、既存のバックエンドへ同期機能を追加。
- Web、モバイル、デスクトップのJavaScript環境で共通のデータ層を利用。
- ビューがリアルタイムに更新されるマルチプレイヤー機能や共同編集機能の開発。
クイックスタート
- 1
npm で RxDB と RxJS をインストールする
npm install rxdb rxjs --save - 2
コレクションを含むデータベースを作成し、ドキュメントを挿入する
- 3
データを一度だけクエリするか、ライブクエリの結果を購読する
使う前に知っておきたいこと
- クイックスタートではブラウザーのストレージに LocalStorage を使用します。他の環境では別のストレージプラグインが必要です。
- 一部のレプリケーションプラグインや高度な機能は有料で、購入が必要です。
トピック
よくある質問
- rxdb とは?
- ブラウザー、Node.js、React Native、Electronで動作し、自前のバックエンドとレプリケーションできる、JavaScriptアプリ向けのローカルファーストなリアクティブNoSQLデータベース。 RxDBは、データをローカルファーストで保持し、変更を購読できるJavaScriptアプリケーション向けのNoSQLデータベースです。クエリは一度だけ実行することも、変更を監視することもできます。クエリ結果や単一のフィールドが変わると、UIが自動的に更新されます。
- rxdb は無料で使えますか?ライセンスは?
- rxdb は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- rxdb は今もメンテナンスされていますか?
- 活発にメンテナンス中。rxdb の最終コミットは 2026年10月21日 です。
- rxdb は何に使えますか?
- データをクライアント側に保持する、オフライン対応またはリアルタイムUIアプリの開発。 特定のクラウドデータベースを採用せずに、既存のバックエンドへ同期機能を追加。 Web、モバイル、デスクトップのJavaScript環境で共通のデータ層を利用。 ビューがリアルタイムに更新されるマルチプレイヤー機能や共同編集機能の開発。
- rxdb のインストール方法は?
- npm で RxDB と RxJS をインストールする: npm install rxdb rxjs --save コレクションを含むデータベースを作成し、ドキュメントを挿入する データを一度だけクエリするか、ライブクエリの結果を購読する
- rxdb はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/pubkey/rxdb
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
ビューアー、発表者ツール、エディターを内蔵した自己完結型HTMLファイルで提供されるPowerPointの代替ツール。
JavaScript、TypeScript、CSS、HTML、Markdown、YAMLなどを、統一されたスタイルに整形し直す、独自の方針を持つコードフォーマッターです。
ネイティブの描画エンジンを使い、ReactやVue、SvelteなどのWebフロントエンドを備えたクロスプラットフォームのデスクトップアプリを構築するGoフレームワーク。
React Nativeアプリの開発に役立つライブラリ、ツール、ニュース、学習リソースを厳選したリスト。
JavaScriptまたはTypeScriptで、ネイティブUIとAPIを直接利用したiOS、Android、visionOSアプリを構築するフレームワーク。