FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

【軽量版】JavaScript NCMB SDK

f:id:mbaasdevrel:20171212211252p:plain

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の文脈などは、軽量であればあるほど使いやすくなるでしょう。ぜひお試しください。

NCMBMania/ncmb_js_light: 軽量版JavaScript SDKです

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。