0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Hexabase Dart/Flutter SDKでのワークスペース・プロジェクト・データストアを名前で取得できます

Posted at

Hexabase(ヘキサベース)は企業向けのBaaS(Backend as a Service)を提供しています。認証やデータストア、ファイルストレージ、リアルタイム通知などの機能があり、企業向けのシステム開発に必要な機能をまるっと提供しています。

APIはREST APIとGraphQLを提供しています。そのAPIをラップしたSDKも開発を進めています。SDKは現在、TypeScriptとDart向けに開発しています。Dart向けのSDKは、もちろんFlutterでも利用できます。

この記事ではFlutter SDKにおいて、ワークスペース・プロジェクト・データストアの取得方法が簡単になった件を紹介します。

パッケージとソースコード

パッケージはpub.devで公開しています。

hexabase | Flutter Package

ソースコードは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;

ワークスペースについて

ワークスペースはHexabaseの中で、最上位のオブジェクトです。従来、ワークスペースを取得する際にはワークスペースIDを使っていました。ワークスペースIDは 6513e1c97f90e97937eb9eef のようなユニークな文字列です。

await client.setWorkspace("6513e1c97f90e97937eb9eef");

このワークスペースIDはHexabase管理画面のURLから取得できます。

https://app.hexabase.com/h/6513e1c97f90e97937eb9eef // ← このID

これでは分かりづらいので、ワークスペース名を使って取得できるようになりました。

await client.setWorkspace("my_workspace");

このワークスペース名は、管理画面で設定するものです。

プロジェクトについて

ワークスペースは複数のプロジェクトを保有します。従来、このプロジェクトもプロジェクトIDを使って取得していました。

var project = await client.currentWorkspace!.project("5f9e1c97f90e97937eb9eef");

こちらも同じく、管理画面で設定するプロジェクト名が利用できます。

var project = await client.currentWorkspace!.project("my_project");

データストアについて

プロジェクトは複数のデータストア(RDBMSのテーブルに相当)を保有します。データストアもデータストアIDを使って取得していました。

var datastore = await project.datastore("5f9e1c97f90e97937eb9eef");

データストア名を使って取得できるようになりました。

var mainTable = await project.datastore("MainTable");

このように自分で設定した名前がそのまま使えるので、開発がスムーズに進められるでしょう。実際の流れは以下のようになります。

import 'package:hexabase/hexabase.dart';

var client = Hexabase();

await client.setWorkspace("my_workspace");
var project = await client.currentWorkspace!.project("my_project");
var mainTable = await project.datastore("MainTable");

var item = await mainTable.item();

まとめ

Hexabase Dart/Flutter SDKを使えば、モバイルアプリやWebアプリを素早く開発できるようになります。2024年6月現在絶賛開発を進めていますので、ぜひ試していただいてフィードバックいただければ嬉しいです!

hexabase | Flutter Package

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?