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

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

Flutter(Dart)用NCMB SDKの機能について

f:id:mbaasdevrel:20200110154553p:plain

非公式ですが、Flutter(Dartでも)で使えるNCMB SDKを開発しています。

ncmb | Dart Package

今回は最も基本になるHello Worldでデータストアに保存する方法を解説します。

SDKのインポート

まずはSDKをインポートします。pubspec.yamlは以下のように記述します。

dependencies:
  ncmb: ^0.0.1

コードでは次のようにインポートします。

import 'package:ncmb/ncmb.dart';

Flutterであれば flutter pub get 、Dartであれば pub getでライブラリをインポートできます。Visual Studio Codeであれば、エディタからインポートできるでしょう。

SDKの初期化

次にSDKを初期化します。

NCMB ncmb = new NCMB('YOUR_APPLICATION_KEY', 'YOUR_CLIENT_KEY');

データストアのインスタンス作成

初期化したら、データストアのインスタンスを作成します。この辺りはSwift/Objective-C/JavaなどのSDKに近いです。 (itemの欄には、データストアのクラス名を格納してください)

NCMBObject item = ncmb.Object('Item')

データを設定する際には set メソッドを使います。

item.set('msg', 'Hello World');

なお、これは破壊的メソッドなので .. を使ったカスケード記法が使えます。

NCMBObject item = ncmb.Object('Item')
  ..set('msg', 'Hello World');

型は基本的にNCMBで使えるものは、そのまま利用できます。文字列に限らず、数値、配列、真偽値、オブジェクトなどを利用できます。

NCMBObject item = ncmb.Object('Item')
  ..set('msg', 'Hello World')
  ..set('array', ['a', 'b'])
  ..set('int', 1)
  ..set('name', 'Atsushi');

データの保存

データを保存する際には save メソッドを使ってください。objectIdの有無で作成、更新を切り替えますので処理は save で統一できます。

await item.save();

処理は非同期なので、Futureが返っています。async/awaitを使って処理を行えます。

まとめ

まだデータストアの保存に関する処理しかありませんが、今後バージョンアップしていきます。なお、ソースコードは下記のリポジトリにて公開しています。ライセンスはMIT Licenseです。ぜひFlutterでもNCMBを活用してください!

NCMBMania/ncmb-dart: NCMB library for Dart and Flutter.

中津川 篤司

中津川 篤司

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