Hexabase(ヘキサベース)は企業向けのBaaS(Backend as a Service)を提供しています。認証やデータストア、ファイルストレージ、リアルタイム通知などの機能があり、企業向けのシステム開発に必要な機能をまるっと提供しています。
APIはREST APIとGraphQLを提供しています。そのAPIをラップしたSDKも開発を進めています。SDKは現在、TypeScriptとDart向けに開発しています。Dart向けのSDKは、もちろんFlutterでも利用できます。
この記事ではFlutter SDKについて、インストールとアプリケーションの作成・更新・削除の方法について解説します。
パッケージとソースコード
パッケージはpub.devで公開しています。
ソースコードはGitHubにて公開しています。ライセンスはMIT Licenseです。
hexabase/hexabase-dart: Hexabase SDK for Dart & Flutter
インストール
インストールは dart pub get
で行えます。
dart pub get hexabase
インポート
SDKをインポートします。
import 'package:hexabase/hexabase.dart';
初期化
まずインスタンスを作成します。
var client = Hexabase();
別なファイルで再度インポートした場合には、以下でインスタンスを取得してください。
var client = Hexabase.instance;
データストアの取得
まず登録しているデータストアを取得します。そのため、最初にデータストアを管理するプロジェクトを作成します。
var project = client.project(id: "PROJECT_ID");
var datastore = project.datastore(id: "DATASTORE_ID");
データストアからデータを取得
データストアからデータを取得する際には items
メソッドを使います。
var items = await datastore.items();
データストアからデータを取得(全体の件数付き)
データストアから、検索結果数を含めて取得する際には itemsWithCount
メソッドを使います。
var response = await datastore.itemsWithCount(query: query);
// response.count 結果件数
// response.items 取得されたデータ
検索条件を付与する
検索条件を利用する場合にはクエリーを取得してください。
var query = datastore.query();
例えば最初の10件を取得する場合には、次のように指定します。
query.page(1).per(10);
他にも様々な条件が指定できます。
オペランドを付与する
検索条件としては以下を用意しています。
条件 | メソッド | 例 |
---|---|---|
= | equalTo | query.equalTo('name', 'value') |
!= | notEqualTo | query.notEqualTo('name', 'value') |
> | greaterThan | query.greaterThan("price", 100) |
>= | greaterThanOrEqualTo | query.greaterThanOrEqualTo("price", 100) |
< | lessThan | query.lessThan("price", 100) |
<= | lessThanOrEqualTo | query.lessThanOrEqualTo("price", 100) |
== "A" and == "B" and == "C" | inArray | query.inArray("name", ["A", "B", "C"]) |
!= "A" and != "B" and != "C" | notInArray | query.notInArray("name", ["A", "B", "C"]) |
これらは組み合わせて利用できます。
query
.greaterThan("price", 100)
.lessThan("price", 200)
.equalTo("name", "value");
そして items
や itemsWithCount
にてquery引数として指定します。
var items = await datastore.items(query: query);
まとめ
Hexabase Flutter SDKを使えば、複雑な条件を使ったデータ取得も容易に実現できます。ぜひお試しください。
Dart SDKはFlutterでも利用できます。Flutterで使えると言うことは、iOS/Androidといったスマートフォンアプリやタブレットアプリはもちろん、Webやデスクトップアプリ開発でも利用できます。ぜひHexabaseをDart SDKとともに活用してください。