Blazorでローコードアプリ開発ができるCodeer.LowCode.Blazorを試す

# Codeer.LowCode.Blazorとは
Blazorでローコードアプリのような操作でwebアプリが作れるツールです。

https://www.codeer.co.jp/LowCode

一般的なノーコード・ローコードツールでは不足した機能を補うため別のサービスを利用、連携する事が主流だと思います。
Codeer.LowCode.Blazorは足りない機能をVisualStudioで追加する事ができるため、エンジニアの方であれば開発を行いながら、ローコード開発のスピードも手に入る、というメリットがあります。

## 対象読者

本記事は、以下のような方を想定しています。

- Blazorを使ったことがあり、簡単なコンポーネント開発経験がある方
- 社内向けツールなど、業務アプリを素早く開発したいエンジニア
- ローコード開発に興味があり、.NET系技術でどこまで効率化できるかを知りたい方

ここでは、サンプルプログラムを動作するまでの工程を順を追って解説します。

## Codeer.LowCode.Blazorで感じたメリット

* Blazorがローコードになる
* C#で書ける
* データベースにSQL Serverが利用できる（それ以外でも利用可能）
* データベースが既にある場合、画面だけをCodeer.LowCode.Blazorに置き換える事ができる
* デバッグできる
* 作ったものがソースになるのでgit等で管理できる


# 準備
Codeer.LowCode.BlazorはVisual Studioを利用するのでインストールされていない場合は先にインストールする必要があります。

### Visual Studio 2022

https://visualstudio.microsoft.com/ja/vs/ 


### Codeer.LowCode.Blazor.Templates
marketplaceより、Codeer.LowCode.Blazor.Templatesをダウンロードし、インストールします。

https://marketplace.visualstudio.com/items?itemName=Codeer.LowCodeBlazor

※ 30日間の評価版との事です。

# プロジェクトの作成

Visual Studioを起動し「新しいプロジェクトの作成」を選択。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/8e52b57a-5015-4773-9ea9-8ffaffac5099.png)

検索画面で「Codeer」と入力し「Codeer.LowCode.Blazor」を選択しプロジェクトを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/bbd15cf2-300a-44ef-9af0-8a66dfbda2f1.png)

### ソリューションの確認
作成されたソリューションは大きく分けて「Tools」と「WebApp」の２種類が確認できます。
ToolsとWebAppの２種類をビルドしていきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/ac768f87-6291-4e5e-a9e3-a5a928dc3c30.png)


### Toolsのビルド
LowCodeApp1.Designerを右クリックし、スタートアッププロジェクトに設定を選択し、その後ビルドを実行します。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/1fae40a4-10da-4a57-86ba-0e29f48ee3a6.png)

ビルドが終了したら、LowCodeApp1.Designerを実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/5ab1996f-897e-49d2-a110-4fd1c1ae8749.png)

実行すると、画面が起動します。このアプリケーションが画面やデータベースを設定できるローコード開発ツールとなります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/f8a023b6-855c-46df-b487-058848fe5f4f.png)

このアプリケーションは後程使うので、タスクバーにピン留めを行い、一度画面を終了します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/bbdabb59-ae24-47c6-b590-12273d09b0a8.png)

次に、webサーバーをビルドします。LowCodeApp1.Serverを選択し、スタートアッププロジェクトに設定を選択し、ビルドを実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/a06ebb10-bd8d-4c0d-a6ac-2c6d5a3ae440.png)

ビルドが完了すると実際に動かしてみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/f498a2f9-ac52-4595-9859-cc325acad205.png)

web画面が起動します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/a5fc961d-a7be-425e-8316-9b8e32435066.png)

## ローコード開発を体験する

先程、タスクバーにピン留めしたアプリを起動します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/8bc454dc-4aab-4833-ac94-02671cdc034d.png)

ファイル→新規作成からプロジェクトを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/461be250-cd95-42c3-9c9e-c5c2fcefeea8.png)

ダイアログが出るので以下の様に入力します。

* Nameは任意のもの
* Folderは変更しなくても大丈夫です
* TemplateはGettingStartedを選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/0f1bc6e0-d1a1-4a7b-8c0d-b866c59a622e.png)

初期テンプレートを読み込んだ画面が作成されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/7626f2c9-fd50-448d-8d0e-fad1200fd71e.png)

:::note info

Codeer.LowCode.Blazorのサンプルプログラムにはsqliteに初期データが格納されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/662bf103-4a33-4a6a-a30b-7ad99a6117c0.png)


:::


この状態で「デプロイ」を実行すると、アプリケーション内での編集を行ったものがwebアプリケーションに更新されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/5df46000-109c-4b8c-b9a9-9c3a6ab46d70.png)



:::note info
モジュールの中にある項目が画面項目となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/1bb388f7-58d6-4a3b-8a67-ed4810a96796.png)

:::



### デプロイする

Home画面の文字列を変更してデプロイを実行すると、webアプリケーションに反映されるデモです。

![1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/253773d3-fef5-4054-aeb3-d5989322be17.gif)
※ gifアニメーションになってます。

# 画面のレイアウトについて

赤枠部分の高さを調整した場合、ドキュメントアウトラインのRowを選択し、Heightの値を変更します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/119455/7d27af15-3397-4a23-8da7-065cd922ca32.png)


# 終わりに
ドキュメントが少ないと思ったりしましたが、豊富なサンプルが用意されているので、調べればなんとかなりそう。