最新の.NET 9にも対応する包括的なコントロールセット
この日、最後となったイベントの主催者であるメシウスのセッションには、同社の氏家晋氏が登壇。開発者が頭を悩ますシステム開発におけるテクノロジーの選定をめぐる問題について検討。あわせて、多様なプラットフォームに対応するメシウスの製品「ComponentOne」を紹介しつつ、同製品を使用した既存アプリケーションの .NET Frameworkから .NETへの移行にかかわる話題にも触れた。
まずテクノロジーの選択について、例えば.NET系のUI開発では、これまで長らく用いられてきたWindows FormsとWPFのいずれを採用するかは悩ましい選択事項だ。「これについては、開発効率やメンテナンス性、最新の利用環境への親和性という観点では、WPFに軍配があがるといえますが、仮に現状でWindows Formsを利用しているのであれば、特に急いでWPFに移行する必要はないというのが結論です。Windows Formsも.NET Frameworkと.NETのいずれでも開発が可能で、WPFと同じく.NET 7以降はMVVMにも対応しています」と氏家氏は語る。
![メシウス株式会社 Developer Solutions事業部 マーケティング部 プロダクトマーケティング 氏家晋氏](http://cz-cdn.shoeisha.jp/static/images/article/20832/005.png)
また、.NET Frameworkと.NETのどちらを使うべきかというのもよくある検討テーマだ。「これについては、既存システムの保守更新には.NET Frameworkを使い、新規開発には.NETを使うというのが、やはり最も端的かつ適切な回答といえるでしょう」と氏家氏はいう。
メシウスの提供するComponentOneは、.NETアプリケーションを開発するためのUIコンポーネントをセットにした製品だ。データセットを表示、編集、分析するためのデータグリッドやチャート、各種データ入力をはじめ、ナビゲーションやレイアウト、レポートなど、業務上の要請を満たす300種類を超えるコントロール群を包括的に提供する。
Windows FormsやWPF、WinUIのほか、ASP.NET、ASP.NET Core、Blazorにも対応しており、デスクトップやWeb、モバイルなど多様なアプリケーション開発に活用できる。2025年1月15日にリリースされたばかりの「ComponentOne 2024J v2」では、.NET MAUI対応のコントロールを新たに搭載している。
「ComponentOneでは、最新の.NET環境で利用が可能で、.NET Framework4.8、4.8.1のほか、最新バージョンの2024J v2では.NET 9にも対応。.NETで提供される新機能が利用できるほか、.NETの進化の恩恵を受けたパフォーマンス向上も期待できます」と氏家氏。
ComponentOneで開発したアプリケーションを.NET Frameworkから.NETに移行、ないしは.NETのバージョンを上げる場合には、Visual Studioの拡張機能である.NET アップグレード アシスタントを使用。NuGetのパッケージを追加または更新する。仮に.NET Frameworkから.NETへ移行するのであれば、アセンブリの直接参照からNuGetパッケージに切り替えて、ライセンスと競合のエラーを解決し、動作を確認するという流れとなる。
![アプリケーションにおける.NETの移行方法。.NET Frameworkから.NET、旧来の.NETから最新の.NETへの移行により、さまざまな新機能の活用やパフォーマンスの向上といったメリットが得られる。](http://cz-cdn.shoeisha.jp/static/images/article/20832/006.png)
氏家氏による最終セッションの終了後には、受講者からの質問に講演者が答える質疑応答の時間も設けられた。以下、そこでの主なやり取りについても簡単に触れておく。
まず、井上氏がセッションの中で、.NET 9にアップグレードしたことによりメモリ使用量が93%削減されたという例が示されているが、「それは、どのようなシーンにおける計測で達成されたのか」という質問がなされた。
これに対し井上氏は、「私が示したデータは、さまざまなフレームワークや言語のパフォーマンスを定期的に計測しているTechEmpowerと呼ばれるサイトから抽出してきたもので、.NETにおいてはMinimal APIというかたちで、シンプルにコード量を削減して記述する方法があり、それを使ってREST APIを作った上で、JSONのデータの処理を行ったときのベンチマーク結果を紹介しました。ハードウェア的には、IntelのXEONのプロセッサー、56コアを使い、Linuxベースのシステム上で計測したものです。興味があれば、データを参照いただければと思います」と回答した。
また、「.NET Aspireは小規模なサイトでの利用には少し過剰な感じもしているが、そのあたり、個人的な感覚でもいいのでどう考えているか教えてほしい」という質問も寄せられた。
井上氏は「.NET Aspireが登場した背景としては、クラウドネイティブな分散アプリケーションの開発、運用管理において、デバッグの実施など各種情報を可視化することにあります。個々のサービスのログを一元化されたダッシュボード上で参照するほか、分散トレースの仕組で呼び出しの依存関係を見て、それぞれの処理にどれくらいの時間がかかっているのかを明らかするといったことが可能。そうした意味では、小規模、モノリシックなアプリケーションではやや過剰かもしれません。ただ、例えばWebのUI層があってバックエンド層があるというサービスであれば、.NET Aspireを使っていただくことで分散トレースやログの確認などが非常に容易に行えるため、デバッグや運用に便宜が提供されると思います」と答える。
長い歴史を持ちながら常に進化を続ける .NET技術で構築されたシステムを運用する企業にとって、最新技術動向をしっかりとキャッチアップし、既存資産のメンテナンスや新規開発において適切にテクノロジーを選択していくことが肝要である。今回の「ECHO 2024」は、開発者が今後.NETの環境を活用していくうえで、指針となる情報を数多く与えてくれるものとなったはずだ。