![](/img/media/664e502c3057a.jpg)
Blazerでローコード開発 手軽さもコストも作り込みもあきらめない
2024年7月4日に開催された日本マイクロソフトオフィスのセミナーでは、Blazerとローコード機能を組み合わせた開発方法が紹介された。
Codeer.LowCode Blazerを使用することで、簡単にWebアプリを作成し、柔軟なカスタマイズも可能となる。
セミナーでは、若手社員が3日で主要機能を実装し、実際の開発事例も紹介された。
![Blazerでローコード開発 手軽さもコストも作り込みもあきらめない](/img/article/20240717/66970afa5e042.jpg)
2024年7月4日、日本マイクロソフトオフィスにおいて「Blazor+ローコードで実現する.NET資産のモダナイズ」と題したセミナーが開催された。Webアプリケーション開発フレームワークであるBlazerにローコード機能を組み込む「Codeer.LowCode Blazer」と、連携するCData Softwareやインフラジスティックスのツールで、どんな開発が実現できるのか?セミナーをレポートする。
2024年7月4日、日本マイクロソフトオフィスにおいて「Blazor+ローコードで実現する.NET資産のモダナイズ」と題したセミナーが開催された。Webアプリケーション開発フレームワークであるBlazerにローコード機能を組み込む「Codeer.LowCode Blazer」と、連携するCData Softwareやインフラジスティックスのツールで、どんな開発スタイルが実現できるのか?セミナーをレポートする。
Blazerにローコード開発機能を追加するライブラリ
BlazerことASP.NET Core Blazerは、JavaScriptの代わりにC#を用いて対話型のWebアプリケーションを構築できるフレームワークになる。単一のプログラミングモデルで、サーバー側とのレンダリング、リッチなクライアントとの対話機能を両方サポートするのも特徴だ。
セミナーのテーマである「Codeer.LowCode Blazer」は、Blazerアプリへのローコード機能の組み込みを容易にするBlazerライブラリになる。ソフトウェア開発やテストの自動化を手がける大阪のCodeerが開発し、6月にリリースしたばかりだ。既存の.NETアプリのWeb化やモダナイズが可能になるということで、日本マイクロソフト本社で開催されたセミナーには.NET技術者たちが集まった。
冒頭、登壇したCodeer 代表取締役の石川達也氏は、Codeer.LowCode Blazerについてローコード/ノーコード開発とフルスクラッチ開発の「いいとこどり」を実現していると力説する。アプリを簡単に作ることができ、費用も抑えられるローコード/ノーコード開発のメリットのみならず、フルスクラッチ開発のように細かく作り込むことができるとアピール。エンドユーザーによるカスタマイズも可能で「いいことしかない」と説明した。
Codeer.LowCode Blazerでの開発は、まずテンプレートから新規作成し、そのままビルドしてしまえば、アプリはいったん完成。WPFのデザイナーが起動するので、あとはローコードでキャンパス、グリッド、フローの3つのレイアウトを用いて画面を作ればよい。データベースと接続も可能で、複数のテーブルの組み合わせもローコード操作で行なえる。
また、スクリプトを記述することで、ポップアップやダイアログも簡単に設計できる。Visual Studioのインテリセンスなども活用でき、Excelで作った帳票をPDF化することも可能。さらに画面デザインをGUIで作って、バックエンドをC#で開発したり、サードパーティのコンポーネントを埋め込むことも可能になっている。
デザイナーは「全体設定」「詳細」「一覧」「検索」などのメニューが用意されており、GUIでモジュールをドラッグ&ドロップで配置し、データベースのカラムを関連付けることが可能。設定で生成されるのはJSONファイルなので、Gitでも管理できる。さらにテンプレートをExcelで生成し、帳票化したり、PDFに変換することも可能だという。業務システムで必要な機能はかなり網羅している印象だ。
若手社員が3日で主要機能の実装を完了
ユーザー事例として紹介されたのは、まずCodeerの自社事例。営業支援システムやライセンスサーバーなどをCodeer.LowCode Blazerで構築しており、今後は見積もりや請求システムも作成する予定だという。
また、特許業界に向けたソフトウェアを開発しているR&C IP WORKS(アールアンドシー アイピー ワークス)は、特許の見積もり作成システムの開発にCodeer.LowCode.Blazorを採用した。要件定義まで含めて2日で開発を完了し、今までExcelでの手作業で行なっていた作業をシステム化することに成功したという。
製造業向けのソフトウェアを開発するデジックは、生産管理システムAssistのライセンス管理システムにCodeer.LowCode.Blazorを利用した。従来、同社は時代や製品の変化に応じて、さまざまな形態のライセンスを追加し、そのたびにライセンス管理サーバーを開発してきたが、最近ではSharePointを使って統合管理している。ただ、実態はライセンス情報をSharePointに手入力。また、複雑化してきた保守料の算出も、SharePointのデータを神Excelに転記するというやり方で、属人化していた。
SharePointベースの仕組みは、手作業が多く、請求漏れも発生しかねない状況。できれば、出先のスマホでライセンス情報を確認したり、保守料を自動計算して帳票として出力したいなどの要望も出ていた。こうした声に応えるべく、導入したのがCodeer.LowCode.Blazorになる。
Codeer.LowCode.Blazorは自社の生産管理で使用されているC#やWinFormsからの移行が容易で、自社で使っているSQL Serverとのデータバインディングが強力だったという。なにより自由度が高く、ASP.NET Core+Reactなどに比べて、開発コストを安価に抑えられるのも大きな魅力。「自社の開発スタックとの差分が少なく、融通が利いて素早く開発できる点で採用」とのことだ。
実際の開発に関しては、API越しのデータとデータベースのデータを統合し、ライセンス管理する必要があったが、スクリプトで対応。ExcelのテンプレートからPDFを出力するCodeer.LowCode.Blazorの機能で保守帳票を作成。Codeerからの導入支援もあり、20代の若手社員が3日で主要機能の実装を完了できた。社外からCloudFlare経由のEntra ID認証を経て、オンプレのCodeer.LowCode.Blazorサーバーに接続。複数のSQL Serverに接続して、スマホからもライセンス情報を得たり、保守帳票を出力できるようになったという。
マイクロソフトとインフラジスティックスがBlazer開発のデモを披露
続いて日本マイクロソフト クラウドソリューション アーキテクト兼エバンジェリストの大田一希氏は、ASP.NET Coreについて説明するとともに、空(から)のプロジェクトからBlazerのアプリを作るデモを披露した。
大田氏は、ASP.NET Coreの特徴として「Webアプリ・Webサービスの開発に使える」「クロスプラットフォーム」「クラウドとオンプレミスにデプロイできる」「WebUI・WebAPIの開発プロセスの統一」「モジュール化されたHTTP要求パイプライン」「組み込み依存性が考慮されており、テストが容易」などを挙げる。
さらに大田氏は、デモを通してASP.NET Coreの基本形や1つのアプリ内でWebAPI用のサービスやミドルウェア、Blazer用のサービスやミドルウェアなどを共存できる特徴について説明。また、共通の仕組みに載っているため、認証や認可、出力キャッシュ、Cokkie管理、レート制限、タイムアウト、ローカライズなどを共通の機能は個別に覚えなくてよいとメリットをアピール。「.NETでWebアプリを作るときにはBlazerも選択肢に入れてみてください」と講演を締めた。
3番手はUIコンポーネントや開発ツールを提供するインフラジスティックス・ジャパンのテクニカルコンサルティングエンジニアの坂本純一氏。Blazer用も含めた.NET向けOSSライブラリを個人開発し、述べダウンロードは9000万を超える。2023年度には13回目となるMicrosoft MVP Awardを受賞したという筋金入りの.NET開発者だ。「今回はローコードのイベントだけど、ガッツリコードを書きます(笑)」とデモ中心に製品を説明した。
坂本氏が最初に紹介したのは、AngularやBlazer、React、Web Componentsなどに対応するインフラジスティックスのUIコンポーネント「Ignite UI」。坂本氏は、ドーナツ屋の商品マスターを例に、データバインドからグリッド表示、フィルタリングの実装、Excelへのエキスポート、編集UIの追加を実装して見せた。
後半紹介したのはDesign to Codeツールを謳う「App Builder」。WYSIWYGでIgnite UIのパーツを張り込めば画面を作れるのだが、ローコードツールではなという。デザインからコードへのあくまで一方通行で、プロジェクトを生成するところまでがApp Builderの役割。作業をデモで披露した坂本氏は、「ガッツリとコードを書きたいけど、見た目はちゃっちゃとやりたいという方にははまると思います」とアピールした。
標準のアクセスとメタデータでSaaSのデータ利用を促進
続いて登壇したCData Software Japanの杉本和也氏は、「Codeer.LowCode Blazer & CData ADO.NET ProviderでDynamics 365やSAP、Salesforceなど各種SaaSとアプリを連携してみよう」というタイトルでセッションを行なった。
杉本氏は、現場からの声に応えるべく、情報システム部門ではデータ連携のニーズが増加していると指摘。一方で、顧客体験を向上させるDXに必要なビジネスデータは基幹システムやSaaSの中に格納されており、APIを経由してSaaSのデータを取得する必要があると説明した。
ここで役立つのが、SalesforceやSAP、ServiceNowなどのSaaSに標準のSQLでアクセスできるCDataのコネクター。そして、CDataと連携するCodeer.LowCode Blazerを活用することで、SaaSのAPIを連携するアプリの開発はますます加速するという。
CData Driversはあらゆるデータに標準SQLでアクセスできるライブラリになる。対応するデータソースは、SaaSやオンプレミスのアプリケーション、データベース、ファイルなど270種類以上。また、kintoneやSansanなどの国内クラウドにも対応。その上でCDataの価値は「スタンダードに則っていること」「メタデータを取り扱える」こと。杉本氏も、Visual StudioからCDataのデモを行なう。
CData製品の実体は、.NET Framework 4.0や.NET Standard 2.0をサポートしているDLLセット。ネイティブADO.NETインターフェイスを利用して、SaaS API操作をSQLで実行することが可能。EntityFramework用、VisualStudio用のインストーラーから導入すると、接続先のデータソースから選択できる。認証・認可のプロセスも接続先ごとに最適化されており、APIの違いを意識することなく、SQLでデータにアクセスできる。
その上で、杉本氏は大きなメリットとしてメタデータが取得できる点をアピールした。メタデータとはデータに関するデータを意味し、その数値が日付なのか、誕生日なのか、を判断するために必要。標準のデータアクセスとメタデータの取得により、生成AIやローコードツールで有効な利活用が可能になるという。
高い開発効率性を目指すBlazerに、ローコード開発のメリットを加えるCodeer.LowCode Blazer。デザインやAPI経由でのデータ取得も他社のツールできちんと補完され、出たばかりのツールでありながら、エコシステムがきちんと確立されていると感じられた。コードを書く開発者にとっても、ローコード開発の大きなメリットに気づかされたのではないだろうか?
文● 大谷イビサ 編集●ASCII