Visual Studio 2022 には、.NET の最初のリリースに遡るオリジナルの Web アプリケーション フレームワークである Web フォーム用の新しいデザイナーがあります。
現在Preview 2.0として利用可能なIDEには、ASP.NET Webフォームのデザイナーに「Webライブプレビュー」と呼ばれる機能が組み込まれています。しかし、「ライブプレビュー」という名称だけではその機能を十分に表現しきれていません。ビジュアルデザイナーでテキストを編集することも可能です。
以前の Web フォームのビジュアル デザイナーでは、最終的なページがどのように見えるかについて大まかなアイデアしか提供されませんでしたが、新しいビジュアル デザイナーでは、実際に Web ブラウザーによってレンダリングされます。
デフォルトの ASP.NET Web フォーム アプリケーションをざっと見ると、新しいデザイナーには明らかな違いがあります。このアプリケーションには、site.master というテンプレートからのメニュー バーと、実際のページのようなフォント サイズとレイアウトが表示されます。ただし、Web ページはさまざまな Web ブラウザーと画面サイズをサポートするように設計されているため、プレビューでは全体像を把握できません。
新しいWebフォームアプリケーションを開始するのは賢明ではないかもしれない
Microsoft のシニア プログラム マネージャーである Sayed Hashimi 氏は、新しいデザイナーの機能として、データ バインドされたコントロールでのライブ データのレンダリング、デザイナーでコントロールを選択するとソース内のそのポイントに移動する双方向ナビゲーション、CSS ファイルに変更が加えられたときのライブ更新、ツールボックスからのコントロールのドラッグ アンド ドロップ、コントロールをダブルクリックして既定のイベント ハンドラーを生成する機能などがあると説明しました。
新旧のWebフォームデザイナー – 右が新しい
基盤となるフレームワークの機能に変更はないものの、全体としてはツールの大幅なアップデートです。ASP.NET Web Formsは、新しい.NET Core/.NET 5以降ではなく、古いWindows専用の.NET Frameworkに依存しているため、ほぼ固定されたテクノロジとなっています。
- Windows 10、21H2アップデートでさらに5年間存続へ
- Visual Studio 2022 Preview 2 では、WSL2 ディストリビューションに C++ ビルドとデバッグ機能が追加されました
- マイクロソフトがクリッピーの復活を要請 - 後に元気いっぱいのペーパークリップの復活をすでに決定していたと明らかに
- マイクロソフトは、Visual Studio Code で作業中のコードを本当に信頼しているかを尋ねる、押し付けがましいダイアログを擁護している。
最後の重要なアップデートは2018年4月にリリースされた.NET Framework 4.7.2で、SameSite Cookieと依存性注入のサポートが追加されました。MicrosoftはASP.Net Web Formsアプリの移行戦略に関する論文を公開しており、開発者に対し、Web APIへのコードの移行や、WebAssembly経由でブラウザで実行するC#コードの記述をサポートする新しいフレームワークであるBlazorへのアプリケーションの移植を検討するよう推奨しています。
Web フォーム フレームワークは、2002 年に開発者、特に Web のステートレスな性質に慣れていない Windows デスクトップ開発者の間で好評を博しました。
Web フォームの抽象化では、VIEWSTATE と呼ばれる巨大な隠し変数を使用してバックグラウンドで状態が管理され、また、C# または VB.NET を使用してサーバー上でコーディングできるドラッグ アンド ドロップ コントロールが提供されるため、JavaScript との煩わしさが大幅に軽減されます (Microsoft が Blazor を自然な代替手段と見なしている理由の 1 つです)。
しかし、Webフォームは抽象化に漏れがあり、すぐに負担になる可能性があります。不注意なコーディングは、VIEWSTATEが巨大化し、パフォーマンスを低下させる可能性がありました。ユーザーインターフェースのコードとビジネスロジックが混在しやすかったのです。また、ブラウザ技術が急速に進歩した当時、JavaScriptを避けようとするのは誤った行動だったという問題もありました。Microsoftは、Webフォームの欠点を解消するために、2009年3月に初リリースされたASP.NET MVCを開発しました。
では、なぜマイクロソフトはVisual Studio 2022でWebフォーム用のツールを更新するのでしょうか?ハシミ氏はこの点については明らかにしていませんが、.NET FrameworkはWindowsのコンポーネントであるため、Windowsのバージョンがサポートされる限りはサポートされる点に留意してください。
「.NET 4.8 のサポートは、親 OS のライフサイクル ポリシーに従います」と Microsoft は述べています。これは、少なくとも 2029 年 9 月 1 日 (Windows Server 2019 のサポート終了) までという意味ですが、同社では新しいバージョンの Windows とともに .NET Framework を引き続き出荷するため、実際にはそれ以降になります。
多くのWebフォームアプリケーションは、最新機能よりも設計目的のタスク実行を重視したカスタムビジネスアプリケーションです。新しいWebフォームアプリケーションを開発するのは理にかなっていないかもしれませんが、既存のWebフォームアプリケーションのメンテナンスは別の問題です。このフレームワークは、Windowsフォームと同様に、決して廃れることはありません。®