powerAppやkintone、AppSheetなどを使ってみましたが、今までのエクセル置き換えなどの需要にはすぐに役立ちます。
ただ、ある程度やっていくと急に覚えることが増えるし、バグが無いようにするには結局のところアプリ開発とそれほど変わらん壁が待ち構えている気がします。
ノーコード、ローコードの利点としてはエクセルの行列やセル設計をする程度の手軽さでアプリが作れる。これを踏襲しながらアプリを自動生成、テストコードも自動生成してしまい、そこから込み入った機能は作り込んでいくというアプローチに挑戦しました。
・OpenAPIを中心にデータ周りを整える
・DBやサーバーはMicrosoft製品中心で作成
・クライアントはvue.jsを利用
製品的には
1.StoplightStudioにてOpenAPIをUIで作成
2.DB周りはOpenAPIを読み込んでからコードの自動生成
3.クライアントはAxiosのインターフェースをOpenAPIから自動生成
自動生成するアプリはVisualStudio2022、C#(.net6.0)の最新環境にて作成
1に関しては他の記事が詳しいですし、それほど問題はないはず。
2が情報が少なくて。特にコードを自動で書いてくれるSwagger-codegenやOpenAPI-Generatorはテンプレートの修正程度は出来るのですが、内部でmustacheを利用していて型の変更など複雑なことをしようとすると出来なくなります。
Nswag-codegeneratorも使ってみましたし、C#なのでコードも追っかけてみましたが複雑すぎるアーキテクチャとOpenAPIのセキュリティ絡みの部分は自動生成してくれないので諦めました。
https://github.com/microsoft/OpenAPI.NET
を利用してOpenAPIコードをDocumentとして読み込み、こちらを利用してテンプレートファイルから自動生成していきます。
Stoplightなどで生成したOpenAPIファイルを読み込むだけで、C#からは手軽に使えます。
テンプレートエンジンはFluid.coreを利用します。
https://github.com/sebastienros/fluid
[改定]
https://github.com/dotliquid/dotliquid
テンプレートエンジンはdotliquidを利用。Fluid.coreは最新の開発がされていますが、ドキュメントが少なくて困るため。
ハマりました
https://qiita.com/yukihiro-hyakuta/items/f61e0264faee507d8962
テンプレートエンジンからasp.net core WebAPIなどを自動生成させてしまいます。
クライアントに関してはMicrosoftがAutorestというTypescriptクライアントを生成してくれるものがあるのでこちらを利用します。
https://github.com/Azure/autorest