Nativeに対して開発し、オープンソースとして提供してきました。Node.jsをリリースします。Nodeにおける初の真のオブジェクトデータベースです。実行するだけで利用できます。これまで何年もの間、モバイルデベロッパーのみなさまから、サーバーサイドで動作するRealmが欲しいという本当にたくさんのご要望をいただいていました。長い間タスクリストに残ったままで、優先度は高くありませんでした。Platformを9月にリリースしたことにより変わりました。APIについてお問い合わせをいただきました。Node.jsを完成させました。いうもので、誰のためのものですか?Realmはオブジェクトデータベースです。そのため、以前からオブジェクト指向でオブジェクトを扱っていたのと同様に、簡単にオブジェクトとしてデータを扱うことができます。異なるのは、オブジェクトがディスクに簡単に、かつ効率的に永続化されるということです。JSONにシリアライズする必要はなく、テーブルに表示するためにORMを使う必要もありません。オブジェクト指向開発における原則を守っているだけでいいのです。すべてのモバイルクライアントサイドのプラットフォーム上で動作します。これからは、サーバーサイドのNode.js上でも動作します。Node.jsを用いて、事前にデータを入力しておいたRealmをマスターデータとしてクライアントに送信できます。これは、面倒なアプリサイズ制限を回避することができるなど、非常に便利です。これはモバイルデベロッパーのみなさまが何年も昔から求めていることです。初期バージョンをバックエンドデベロッパーの方に見せたところ、当初考えていたよりもNodeコミュニティにとってもっと広く役立つかもしれないとわかったので、より興味深くなってきました。複数のNodeインスタンス間でライブデータを共有できると便利です。このことを説明するために、1つのマシン上で2つのNodeプロセスを動かしながら、Realmを用いるとシリアライズも、デシリアライズも必要なく、データが共有できるというデモを作成しました。Realmのユニークな機能の1つはリアクティブアーキテクチャです。Realmはマルチバージョン同時実行制御を使用して、スレッドとプロセス間におけるデータベースへの並列アクセスを提供します。このことにより、読み取りは決して書き込みをブロックせず、一貫したデータベースのビューを保持することでACID準拠を保証します。並行アクセスのためにRealmは通知の仕組みを使って、書き込みトランザクションが完了すると、アクセッサ(ビュー)を更新します。デベロッパーは、通知のAPIを利用して、データの変更をリアクティブに反映することができます。下記のサンプルコードでは、Node.jsデベロッパーがプロセス間通信にRealmの通知を利用して、2つの独立したサービス間でデータをやりとりする方法を示しています。サンプルコードでは、2つの著名なNode.jsライブラリであるExpressをWebフレームワークに、ログ出力のライブラリにWinstonを使用しています。Expressを使ってHTTPエンドポイントを作成し、Winstonを使ってリクエストに関する情報を記録します。3000!');});Realmのメリットを活用できるように、ログデータをRealmに保存するWinstonのカスタムプラグインを作成しました。World”をレスポンスとして返します。その他のパスに対するアクセスについては、404エラーを返し、対応するパスをエラーメッセージに記録します。Realmにログデータを保存することで、Realmの通知リスナーとして登録された別のNodeプロセスを開始し、変更に反応することができるようになります。})});リスナーはRealmのコレクション通知を利用します。コレクション通知を用いると、追加・削除、または変更されたオブジェクトに対応するインデックスを知ることができます。サンプルコードでは、エラーレベルのすべてのログを取得するクエリにリスナーを追加し、ログメッセージをコンソールに出力しています。サンプルコードは単純ですが、この機能は、マイクロサービスアーキテクチャ全体でデータをやりとりするような、より高度な応用も可能です。こちらの完全なデモをご覧ください。NativeのドキュメントとAPIドキュメントをまずご覧ください。(コードベースはすべてのJavaScriptプラットフォームで共有されています)。Node.jsで他に特筆すべきことがありますか?ローカルメモリよりも大きなデータセットが利用できます。データに対しては通知やクエリが利用できます。複数のNodeインスタンスをまたがって、リアクティブなアーキテクチャを構築することができます。Dockerイメージ間でデータをやりとりすることもできるでしょう。subscription。