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

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

【軽量版】JavaScript NCMB SDKでデータを保存する

Javaf:id:mbaasdevrel:20171212211252p:plain

JavaScript SDKでは認証やデータストア、ファイルストアなどmBaaSで提供するすべての機能が利用できます。JavaScript SDKだけを読み込めばいいので手軽な一方、全機能はいらないという方も多いのではないでしょうか。

そこで今回は試しにデータストアの機能だけに特化したJavaScript SDKを作ってみます。この記事ではデータの保存方法について紹介します。

軽量版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 = new ncmb.Object('Hello');
  await hello
    .set('message', 'Hello, world!')
    .save();
  console.log(hello);
})();

保存時に objectId の有無によって新規保存と更新を分けていますので、新規保存と更新は両方とも save メソッドになります。

インストールは npm i ncmb-ds にて行います。

軽量版の特徴

軽量版では外部ライブラリへの依存をなるべく減らしています。署名を作るところと、ネットワークアクセスに対して下記のライブラリを読み込んでいます。なるべくサイズの小さいものを採用しています。

  • crypto-js
  • node-fetch

サイズ

標準のJavaScript SDKは約1MBありますが、軽量版は12KBです。約80分の1となっています。軽量ならば読み込みも速く、より使いやすいでしょう。まだ機能は追加されますが、大きく肥大化することはなさそうです。

まとめ

データストアの機能だけを使いたいという要望は意外と多いです。IoTの文脈などは、軽量であればあるほど使いやすくなるでしょう。ぜひお試しください。

NCMBMania/ncmb_js_light: 軽量版JavaScript SDKです

中津川 篤司

中津川 篤司

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