ささいなことですが。

Windowsアプリテスト自動化ライブラリFriendly開発者の日記です。

Codeer.LowCode.Blazorをリリース!(してました

5/13にCodeer.LowCode.Blazorというライブラリをリリースしました!有料なんですけど評価版は無料で申請なく使えるんで使ってみてね。テンプレートも作っててサクッと試すことができます。
marketplace.visualstudio.com

ライセンスのお見積り、ご相談はこちらからお願いします!

実行エンジン型のローコード機能をBlazorアプリに組み込むライブラリです。

ローコードアプリって色々あるけどライブラリってたぶん世界初なんちゃうかな。以前に「CSパフォーマンス勉強会」でLTしたのが動画を撮ってくれてたんで参考までに(ありがとうございます!)4:48:40からですね、リンクそこにしてるけどいけるんかな。
www.youtube.com

  • うちのアプリにもローコード機能あったらなー
  • 大体は一般的なローコードアプリでいいけど、特別に組み込みたい機能あるんよね
  • お客さんから「既製品使ってよ、でもこれとあれとそれはできないと困る」って無理言われること多くなったよな
  • Webアプリ開発は苦手なんでとりあず大部分はローコードで作れたらいいのに、そしたらクラサバからWebアプリにリプレイスしやすいよね

とかありますよね、わかります。僕もそう思ったんで作りました。

テンプレで新規作成してビルドするとWebアプリとWPFのDesignerアプリができてそのDesingerで画面/機能を作っていくことができるのです!もちろんそれぞれ拡張可能となっています。

ノー/ローコードとプロコードのいいとこどり

一旦言葉の整理。Codeer.LowCode.Blazorでは以下の定義にしてます。(あくまでこの製品ではってことで

ノーコード デザイナで設定
ローコード デザイナでスクリプト実装
プロコード 普通に.NETやBlazorのコードで実装

大部分はデザイナの設定だけでサクッと作ってこだわりの部分はBlazorと.NETでお手軽にいつも通りに実装する。自分のアプリなんでスコープは小さいしめっちゃ融通効く。まさにこれが僕が実現したかったことなんです。

ノー/ローコードだけでも多くのプロジェクトは作れます。

かなり頑張りました!

ポトペタで画面作成

グリッドレイアウト、フローレイアウト、キャンバスレイアウトを組み合わせて画面が作れます。フィールドも標準的なものはそろってます。標準的でないやつは後で紹介するプロコードで増やしていけます。そういうのもサンプルコード的に順次公開していきます。

DBとの連携

一般的なCRUDはもちろんJOINや1Nの関係の表現も可能です。TableだけでなくViewにも関連付けることができるのでBI機能も簡単に実現。変更履歴も簡単に残せるようにしています。 その他検索/論理削除/楽観ロック/作成更新情報など一般的にDBの操作で必要になるものは取り揃えていて多くの既存システムのDBと連携できます。検索機能も充実しています。

身に覚えのあるスクリプトの書き味


イベントハンドラや同期的なダイアログの表示、UIの有効/無効、表示/非表示の制御など.NET開発者が一度は書いたことがあるであろう書き味で書けます。WebAPIも呼べるしエクセルの制御だってできちゃいます。もちろんこれもプロコードでAPIを増やしていくことができます。インテリセンスももちろん使えます(頑張った)。サンプルのようにC#っぽく書けるので、「プロコードでの実装と何が違うのですか?」って聞かれました。当然の疑問ですよね。以下のような感じで使ってもらうことを想定しています。

  • スクリプトなのでアプリのビルドなくデザイナだけで変更可能
  • デザイナで作ったModuleやFieldは基本スクリプトで制御
  • 簡単なことはこっちの方が書きやすい
  • デバッガは使えないので複雑なことは非推奨、難しいことはプロコードで公開したAPIに任せる

プロコードでの拡張

様々な方法で拡張できるようにしています。ライブラリでの組み込み型なのでそもそものアプリの部分はかなり自由に改造できます。

  • コードビハインド
  • 画面全体をrazorで実装
  • 画面の一部をrazorで実装
  • Fieldを実装してポトペタで配置できるようにする
  • スクリプトAPIを公開
  • そもそものアプリ部分を調整

詳細な機能もブログで紹介していきます。

いや、GitHubにもドキュメント作っていってるんですけどね。公式ドキュメントって堅苦しくなるし、考えすぎてなぜかわかりにくくなるんですよね・・・。(とは言え、そっちも頑張ります
場合によってはサンプル交えつつ雑記的に書いた方がわかりやすくなる場合もあるので、こっちも色々書いていきます。