Amazon Honeycode に入門するためにテンプレートを触ってみた

2020.12.29

いわさです。

Amazon Honeycodeの入門ページを読んでみたのですが何から手をつけたらいいか悩んでしまいました。
そこで、今回はデフォルトで用意されているテンプレートの設定内容を確認し、Honeycodeの構成や作り方などのお作法を学んでみました。

はじめに

本記事は 2020/12/28 時点の情報で記述しています。

Amazon Honeycodeは現在ベータ版です。
バージョンアップ時、正式リリース時には変わっている可能性がありますのでご注意ください。

ぺたり

Amazon Honeycodeとは

Amazon Honeycode のご紹介

本日、Amazon Honeycode をベータ版でリリースします。 この新しいフルマネージド型の AWS のサービスにより、コードを記述しなくても強力なモバイルおよびウェブアプリケーションを構築することができます。 使い慣れたスプレッドシートモデルを採用しており、数分で開始できます。 お客様やチームメンバーがスプレッドシートや数式に既に慣れ親しんでいる場合、シート、テーブル、値、数式についての知識をそのまま活かせます。

最近流行り(?)のノーコード/ローコードでのアプリ構築サービスです。
類似サービスとしては、MicrosoftのPowerApps、GoogleのAppSheetなどがあります。

プログラミング不要で、簡単に社内アプリケーションなどの作成と配布が可能です。

価格

無償プランと有償プランがあります。
ワークブックのデータ数やチームメンバー数などに差異があります。

プランのアップグレートには、AWSアカウントの接続が必要になります。

アカウント作成して動かしてみた

サインイン/サインアップしましょう。

Honeycodeの構成

Workbookという言葉が最初に目に入ります。
Workbookはプロジェクトディレクトリのようなイメージです。

それぞれ後述しますが以下主要な3つの構成になります。

  • Tables:エクセルやスプレッドシートのようなイメージ。Workbookにおけるデータベースとなり、Table間でリレーションも組める
  • Apps:UI構築してTableとの関連付けやふるまいについて設定していく
  • Automations:トリガー(日時、データ更新など)に応じたアクションを定義できる

作成

まずはWorkbookを作成しましょう。
Workbook作成時にテンプレートを選択出来ます。
スクラッチでイチから作成することも出来ますが、Honeycodeのお作法を習得してからのほうが良いかなと個人的には思いました。

基本的なCRUDな動きを把握したいのであればやはりTODOアプリだろうということで、"Simple To-Do" テンプレートを選択します。

Tables

複数のテーブルが配置されたデータセットが用意されています。

このテンプレートだと、Tasksがメインのトランザクションデータとなり、その他のテーブルは関連データやマスタデータです。

青字は関連付けされているフィールドになります。
各フィールドに設定可能なフォーマットは以下です。

シンプルですね。

Todoであればbooleanで完了の管理をしていそうだったのですが、DoneテーブルにYesとNoを定義して項目として使っていました。

Apps

Appsを開くと"Todo"というものがひとつあります。
これがユーザーインターフェース部分です。

開いたら、早速右上の"View app"を押してみましょう。

アプリケーションが起動されました。
少し操作してみましょう。
タスクの追加と完了更新をしてみます。

Tasksテーブルを確認してみます。

今アプリで追加したデータが登録されていますね。

アプリ画面の左ペインにScreenが配置されているので中身をそれぞれ見てみましょう。

各コントロールに、どのテーブルのどのフィールドを表示するかが設定されています。

また、押下可能部分を見てみると、アクションが設定されていますね。
TODOリストの行をクリックしたときは、クリック行のデータをパラメータとして Edit画面に遷移しています。

Addボタンはパラメータなしで Add Task画面に遷移しています。

タスク追加画面のAddボタンではTasksテーブルへ行を追加し、その後に遷移元画面に戻る設定がされています。

Automations

Automationsでは各自動処理が定義されています。
このTodoアプリでは、リマインド設定をした場合に設定時間にあわせてメールを送信するアクションが設定されています。

Automationでは指定した日時に到達した時か、テーブルデータが更新された時をトリガーと出来るようです。

アクションとしては以下を設定出来ます。

Notifyはメール通知のみでしたが、Webhook連携があるので汎用的な連携が出来そうです。

使い方

利用者をチームに招待します。
ウェブの場合、利用者はHoneycodeにサインインし、その中でアプリにアクセスします。
モバイルの場合はHoneycodeアプリをインストールしサインインすると、アプリにアクセス出来ます。

どちらの場合も独自のプラットフォーム上でアプリを提供することは出来ず、HoneycodeサイトかHoneycodeアプリ上でアプリにアクセスします。
なので限られたチーム内での公開になる社内アプリ向けです。
不特定多数のコンシューマー向けではありません。

ウェブ

Honeycodeにサインインし、招待されたチームを参照すると作成したアプリが表示されます。
非管理者のメンバーは先程のTableやAppsの中身を参照・変更することは出来ず、アプリケーションを操作するのみです。

モバイル

サインインするとアプリが表示されるのでタップすると起動します。

最後に

外部連携するためにはAppFlowとの連携が必要になるらしく、Honeycode導入にあたっては必要になると思いますので、試した際に記事にしたいと思います。

この記事が、Honeycode触ってみたいけど、何からやったらいいかわからない!という方の参考になれば良いなと思います。

Honeycodeはベータ中なので、どんどんフィードバックして良いものにしていきましょう。