JavaScript SDKでは認証やデータストア、ファイルストアなどmBaaSで提供するすべての機能が利用できます。JavaScript SDKだけを読み込めばいいので手軽な一方、全機能はいらないという方も多いのではないでしょうか。
そこで今回は試しにデータストアの機能だけに特化したJavaScript SDKを作ってみます。
データストアはすべての要です
mBaaSの機能のほとんどはデータストアを基盤として提供されています。
- 会員管理(ユーザー)
- プッシュ通知
- デバイストークンの保存(Installation)
はいずれもデータストアを拡張して提供されています。そのため、これらの機能を利用する場合にはデータストアが必要です。
データストアに特化したJavaScript SDKの使い方
ソースコードはNCMBMania/ncmb_js_light: 軽量版JavaScript SDKにあります。せっかくなのでコードはクラスベースのJavaScriptにしてあります。その関係もあって、データストアの使い方が従来のものではなく、iOSやAndroid版のSDKに近いものになります。
const applicationKey = 'e61...669'; const clientKey = '65c...247'; const ncmb = new NcmbDS(applicationKey, clientKey); (async () => { const Hello = ncmb.Query('Hello'); const res = await Hello.fetchAll(); console.log(res); })();
検索条件を追加する場合は where を使います。検索条件を設定するメソッドはないので、JSONオブジェクトをそのまま適用してください。
const res = await Hello.where({objectId: 'AAA'}).fetch();
軽量版の特徴
軽量版では外部ライブラリへの依存をなるべく減らしています。署名を作るところと、ネットワークアクセスに対して下記のライブラリを読み込んでいます。なるべくサイズの小さいものを採用しています。
- crypto-js
- node-fetch
サイズ
標準のJavaScript SDKは約1MBありますが、軽量版は10KBです。約100分の1となっています。軽量ならば読み込みも速く、より使いやすいでしょう。まだ機能は追加されますが、大きく肥大化することはなさそうです。
まとめ
データストアの機能だけを使いたいという要望は意外と多いです。IoTの文脈などは、軽量であればあるほど使いやすくなるでしょう。ぜひお試しください。