GitHubをチラッとみていて、ローコード開発ツールのilla-builderが気になったので、ローカルに立ててみました。
ローカルのMySQLと接続して、データを表示するところまで試してみたので、その内容はざっくり紹介します。
あくまで社内ツールの構築向けで、一般ユーザにサービスを公開して利用してもらうってのには向かないなという印象でした。
前提
GitHubリポジトリはこちら:https://github.com/illacloud/illa-builder
動作環境は
- Mac OS Big Sur 11.7
- Intenl CPU
-
mysql Ver 8.0.31 for macos11.7 on x86_64
Rustが入っていない方は、以下のコマンドでインストールしておきます。
brew install rust
環境構築
ILLA cliを使います(参考)。
# illaをInstallします
~ ❯❯❯ cargo install illa
# PATHを通します
~ ❯❯❯ echo export PATH='/Users/[username]/.cargo/bin:$PATH' >> ~/.zshrc
~ ❯❯❯ source ~/.zshrc
ポート5432、9999、8000をILLA Builder用に使えるようにしておく必要があります。
# ポートが使えるか等の前提条件を確認
~ ❯❯❯ illa doctor
Checking the prerequisites of self-host...
Docker version: 20.10.8
Success! The minimum requirement for deploying ILLA has been satisfied. Self-Host your ILLA Builder by command [illa
問題が無ければローカルにDeployします。
illa deploy --self --port=10000
ローカルに立てたので、以下のURLに繋ぎます。
http://localhost:10000/user/login
Builderに接続でき、ログイン画面が表示されました。
Create an accountからユーザを作成します。
ユーザ作成後、ログインします。
アプリを作ってMySQLに繋ぐ
ここからはクイックスタートドキュメントに従って試してみます。
ローカルのMySQLと接続します。
Resoucesを選択。
MySQLを選択し、接続情報を入力。
ユーザやDatabaseは事前に作成しておきましょう。
dockerコンテナからhostのmysqlに接続することになるので、Hostnameには「host.docker.internal」を設定します(参考)。
Test Connectionで接続が成功することを確認します。
DBが準備できたら、アプリを作成します。
テーブルの情報を返すアクションを作成します。
Action Listから新しいアクションを作ります。
Resouceには先ほど作成したものを指定します。
SQLには試しに「SELECT * FROM Users;」を入れておきましょう。
※テーブルとデータは事前に準備しておきましょう
「Run」ボタンを押すと、SQLの実行結果を確認できます。
ここまで出来たら、データの表示枠を準備します。
今回はテーブル枠を作っておきます。
Data Souceに先ほど作成したアクション名を指定します。
Columnsは作成したテーブルのカラムに対応させておきます。
ここまで出来たらDeployしてみると…
テーブルには、MySQLから取得したデータが表示されていますね。
UIを作りつつ、DBとの連携が簡単に出来ました(すごい)。
そのほか便利コマンド
DeployしたILLA BUilderを止めたい時などには、以下のコマンドが使えます。
# list the ILLA Builder
> illa list --self
# stop the ILLA Builder
> illa stop --self
# remove the ILLA Builder
> illa remove --self
# forced removal of the running ILLA Builder and persistent data
> sudo illa remove --force --self --data
# restart the ILLA Builder
> illa restart --self
# help information
> illa help
おわりに
ILLA Builderをさらっと試してみました。
UIを作って、DBと連携するのはめっちゃ楽でした。
Buildした資材をどうやってアップロードして、どうやって公開まで持っていけばいいんだろう?という部分は疑問が残っています。
EC2や適当なUbuntuなんかにこのBuilderをインストールして、そのまま公開すれば楽そうですが、いろんなアプリが一つのホストに共存してしまう形になるので、あんまり実用的ではないなと思いました。
社内向けアプリをサクッと作って、サクッと公開する分には向いてますが、それ以上を求めると少し物足りないかな… という印象でした。
でも便利!