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;
アイテムの作成
データストア(クラウドデータベース)の行相当のデータがアイテムです。以下のようにして、新しいアイテムを作成します。
await client.setWorkspace('YOUR_WORKSPACE_ID');
var project = await client.currentWorkspace.project(id: 'YOUR_PROJECT_ID');
var datastore = await project.datastore(id: 'YOUR_DATABASE_ID');
// アイテムを作成
var item = await datastore.item();
ラジオ・選択肢・チェックボックスの値を作成
ラジオと選択肢は一つの値を設定します。チェックボックスは複数の選択肢を設定できます。いずれも管理画面にて、項目を作成します。
項目は日英、どちらも作成できます。
選択肢の取得
選択肢の内容は、データストアオブジェクトから取得できます。
var field = await datastore.field('test_select');
var options = field.options;
options
は List<HexabaseFieldOption>
で、たとえば以下のプロパティがあります。これらの項目を使えばラジオボタンやチェックボックスを表示できるでしょう。
- id
- value
- displayId
値の設定
ユーザーが項目を選択した場合には、以下のように値を設定します。
item.set('test_select', value);
この時 value
は以下のいずれかを指定します。
- HexabaseFieldOption
- id
- value
- displayId
チェックボックスの場合
チェックボックスは複数の選択肢を取れるので、Listで指定します。指定できる項目は上記と同じです。
item.set('test_checkbox', [value1, value2]);
まとめ
Hexabaseでは管理画面で項目を設定することで、アプリケーション側を修正することなく選択肢を変更したり、値をセットする際にバリデーションが行えます。柔軟なシステム開発に役立ててください。
HexabaseのFlutter SDKを使って、堅牢なWebアプリケーションを開発してください。