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

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

Deno用SDKがTypeScript&Node.jsにも対応しました

f:id:mbaasdevrel:20200609182129j:plain

機能的にはまだまだ少ないですが、Deno用のSDKを開発中です。

NCMBMania/ncmb_deno: deno用のSDKです

このDeno用SDKはTypeScriptで作られています。TypeScriptはJavaScriptのスーパーセットと呼ばれる言語で、JavaScriptに型や便利な機能を追加した言語となっています。最近ではTypeScriptを使って開発する人も増えていますし、VueやAngularではTypeScriptが利用できます。

そこで、Deno用SDKもNode.jsで利用できるようにしましたので、使い方を紹介します。

インストール方法

インストールは普段使っているnpmやYarnで可能です。

npm install ncmb_ts -S

使い方

まだ機能は少ないですが、データの保存は次のようになります。

import { NCMB, NCMBObject } from ’ncmb_ts’

const ncmb = new NCMB(applicationKey, clientKey)
const hello = new NCMBObject('HelloDeno');

(async () =>  {
  await hello
    .set('message', 'Hello world')
    .set('number', 100)
    .save()
})()

検索は次のようになります。

import { NCMB, NCMBQuery } from ’ncmb_ts’

const ncmb = new NCMB(applicationKey, clientKey)

(async () =>  {
  await hello
    .set('message', 'Hello world')
    .set('number', 100)
    .save()
  const query = new NCMBQuery('HelloDeno')
  const results = await query
    .equalTo('objectId', 'ypk03ZHeJxjSnSM1')
    .limit(1)
    .fetchAll()
})()

入力のサジェスト

さて、ここからがTypeScript版の便利な点です。Visual Studio Codeなどを使って開発をしている場合、入力時にサジェストが表示されます。

引数も表示されますので、開発しやすくなるでしょう。

注意点

DenoとNode.jsは同じJavaScriptを使っていますが、根本的に異なる部分もあります。特に外部ファイルのインポートが決定的に違います。そのため、ファイル読み込みに際して発生するtslintのエラーをつぶしています。この点だけご了承ください。

// @ts-ignore: TS2691
import NCMB from '../ncmb.ts'

まとめ

TypeScriptで使えるようになると、VueやReactなどのフレームワークとの組み合わせも簡単になります。バージョン0.1の現在ではNCMBの機能網羅率7.4%1とまだまだ低いです。今後開発を継続していきますので、使ってみて気になる点があればリポジトリ2までフィードバックをお願いします。

中津川 篤司

中津川 篤司

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