クラウド型ビジュアルUIエディタ「Indigo.Design App Builder」でローコード開発 #2レイアウトを理解してログインページを作成する

本記事ではインフラジスティックスのクラウド型ビジュアルUIエディタ「<a href="https://jp.infragistics.com/products/indigo-design/app-builder" target="_blank">Indigo.Design App Builder</a>」を利用してローコード開発を行う方法についてご説明します。連載形式となっておりますので #1 から確認いただくことをおすすめします。

<b>「Indigo.Design App Builder」でローコード開発記事一覧</b>

* <a href="https://blogs.jp.infragistics.com/entry/start-app-builder-01" target="_blank">#1 新規アプリケーション作成</a>
* <a href="https://blogs.jp.infragistics.com/entry/start-app-builder-02" target="_blank">#2 レイアウトを理解してログインページを作成する</a>

## Indigo.Design App Builder は「Design to Code」をコンセプトにしたプロダクト

本記事では Indigo.Design App Builder でローコード開発を行う際に理解が必要となるレイアウトの仕様に関して解説しますが、まずは前提となる製品コンセプトを見ていきましょう。

Indigo.Design App Builder にはローコード開発ソリューションとして「Design to Code（デザインから開発まで）」をワンストップで行うというコンセプトがあります。ビジュアルUIエディタで組み立てたデザインを最終的にはウェブアプリケーションのソースコードとして出力するため、WEB開発における CSS の Flex レイアウトの考えを基本としてアプリケーションを構築していきます。この点が慣れていない方にとっては少しわかりにくいポイントになると思いますので詳しく説明していきます。

▽Design to Code ソリューションの Indigo.Design App Builder
[![Image from Gyazo](https://i.gyazo.com/d86d6575f9d285944745bd97654b9f5e.png)](https://gyazo.com/d86d6575f9d285944745bd97654b9f5e)

## Flex レイアウト

Flex レイアウトの基本は、あるコンテナに対して、行（水平）方向にコンポーネントを配置するか、列（垂直）方向にコンポーネントを配置するかの指定です。
入れ子構造で組み合わせることで、複雑なレイアウト表現も実現することができます。

▽行レイアウト（Row layout）：水色のコンテナに対して中身のコンポーネントが水平方向に並ぶ
[![Image from Gyazo](https://i.gyazo.com/9349406c937051c29cad693be03d0b66.png)](https://gyazo.com/9349406c937051c29cad693be03d0b66)

▽列レイアウト（Column layout）：水色のコンテナに対して中身のコンポーネントが垂直方向に並ぶ
[![Image from Gyazo](https://i.gyazo.com/8644413a2d28dafd86741381f9a013ef.png)](https://gyazo.com/8644413a2d28dafd86741381f9a013ef)

▽入れ子構造の例：赤枠の列レイアウトコンテナを、オレンジ枠の行レイアウトコンテナが内包している
[![Image from Gyazo](https://i.gyazo.com/604662be9a8419bdfbbcafd2a2cd16ce.png)](https://gyazo.com/604662be9a8419bdfbbcafd2a2cd16ce)

このようにレイアウトの方向を設定し、更に上下左右のアラインメント設定や余白の設定を行うことで細かなレイアウトの調整が可能になります。実際にレイアウトの調整を行いながらログイン画面を作成してみましょう。

## ログイン画面を作成する

### コンテナを配置し、レイアウトを設定する

<a href="https://blogs.jp.infragistics.com/entry/start-app-builder-01" target="_blank">前回の記事</a>で作成した Home というマスタービューにログイン画面を構成していきます。ビュータブで Home ビューを選択した状態で右側のプロパティパネルを確認します。ビュー自体もひとつのコンテナとして Flex レイアウトの定義がされていますので、プロパティパネルで方向などを指定することができます。
以下のように方向は初期値の row のままで、縦・横配置を Center に指定しました。これでこのビューに配置したコンポーネントが上下左右に対して中央に位置するようになります。

[![Image from Gyazo](https://i.gyazo.com/0eb575fa236f4984e153d78dec5b1fe3.png)](https://gyazo.com/0eb575fa236f4984e153d78dec5b1fe3)

ではビューに対して列レイアウト（Column layout）のコンテナを新規に追加してみましょう。コンポーネントタブを表示し、表示されるコンポーネントの一覧から Column layout コンポーネントを、真ん中のキャンバスエリアにドラッグアンドドロップします。

[![Image from Gyazo](https://i.gyazo.com/b834391e0202993b7837801e0f6c69f7.gif)](https://gyazo.com/b834391e0202993b7837801e0f6c69f7)

次に追加した列レイアウトコンテナの設定を行います。以下のようにパディングと横配置、枠線の設定を行いました。

パディングを30pxに指定<br>
[![Image from Gyazo](https://i.gyazo.com/3cc0c52408ea5f89b5b8c0806e164a4d.png)](https://gyazo.com/3cc0c52408ea5f89b5b8c0806e164a4d)

横配置をセンターに指定<br>
[![Image from Gyazo](https://i.gyazo.com/57495a490d3d022f5452be2be610ff2e.png)](https://gyazo.com/57495a490d3d022f5452be2be610ff2e)

グレーの枠線を指定<br>
[![Image from Gyazo](https://i.gyazo.com/ad6e2975246642f4d262cdadfdf06093.png)](https://gyazo.com/ad6e2975246642f4d262cdadfdf06093)

これでコンテナのレイアウト設定は完了です。次にログイン画面を構成するコンポーネントを配置していきます。

### ログイン画面用のコンポーネントを配置する

先ほど列レイアウトのコンテナを配置しましたので、このコンテナの中にコンポーネントを追加していくと、垂直方向に連なって表示されることになります。
今回ログイン画面を構成する要素として上から、

 - ロゴ画像（Image）
 - ID入力フィールド（Input Group）
 - パスワード入力フィールド（Input Group）
 - ログインボタン（Button）
 - パスワード再発行リンク（Link）

※括弧内は App Builder 上のコンポーネント名

の５つのコンポーネントを追加してみます。先ほどと同じ要領でコンポーネントをドラッグアンドドロップすると以下のようになります。

▽コンポーネント配置後
[![Image from Gyazo](https://i.gyazo.com/29b4b2249a480143b51e39f29b789a87.png)](https://gyazo.com/29b4b2249a480143b51e39f29b789a87)

狙い通り、垂直方向にコンポーネントが配置されました。見た目を整えるために各コンポーネントのプロパティをプロパティパネルで調整していきます。
詳細は割愛しますが以下のような設定を行いました。

 - ロゴ画像のパスを指定
 - インプット要素の Label や入力タイプを指定
 - ボタンのテキストや色を変更
 - リンクのテキストを指定
 - 各コンポーネントのマージンを指定

▽各種設定後
[![Image from Gyazo](https://i.gyazo.com/c88e69d25618b60ec82be9c5de398af3.png)](https://gyazo.com/c88e69d25618b60ec82be9c5de398af3)

プレビューでもデザイン同様の表示がインタラクションとともに確認できます。
[![Image from Gyazo](https://i.gyazo.com/c0550d29ebba73fb125dd2ca6ca387a8.gif)](https://gyazo.com/c0550d29ebba73fb125dd2ca6ca387a8)

このようにレイアウトの設定とコンポーネントの配置を行うことで、簡単にログイン画面を作成することができました。
次回はグリッドなどのコンポーネントとモックデータを組み合わせてより複雑な画面を作成します。

## Indigo.Design App Builder ランチタイムウェビナーのご案内

Indigo.Design App Builderの使いどころや利用方法を紹介するオンラインセミナーを 2021年6月9日(水) 12:00-12:45 の時間帯で開催いたします。
Webアプリケーション開発に携わられる方やローコード開発に興味のある方は、是非ご参加ください！
<a href="https://jp.infragistics.com/webinars/20210609-webinar-appbuilder" target="_blank">詳細はこちら</a>

## Indigo.Design App Builder のデモやQA会のご案内

Indigo.Design App Builder に関してオンラインでのデモやQA会を無料実施しております。
ご興味のある方は以下のオンライン会議の予約リンクより日時を指定して会議依頼を送信してください。
https://jp.infragistics.com/request-demo