Visual Studio 2022

·

GitHub Copilot
Agent …
Claude4 さん今回も?(過去キャッチアップしていないので把握していないですが)
VS2022には来ていませんのね!

GitHub Copilot – Claude4 – ゆるめも
https://blog.shinshu.app/archives/1258


ところで、地方だからなのか?
今まで…

動かなくなるからって…
Visual Studio 2017や良くて2019
しかもCommunity Editionを堂々とつかっていて?
あるいはド新規でVB.NET
もちろんWindows Formですが何か?
という感じ。
VS Code 何それ?って
SIさんはサクラエディタ1択
その他はCommunity Edition1択でエディタすら使用しないという…
どちらのパターンのいずれも複数社さん。
ドキュメントは基本つくらない。今後も他社ではなくて必ずうちに来るから!って普通に言う◯◯さま。(ドキュメントないと社内でももうわかりませんが。しかもやめてしまっているとか…)
地方だから?たまたま?よくわかりませんが…

ずっと異世界?にいました(ギャップに苦しむ日々)

個人的にさわっていても…うすい感じで
という感じで全然わかっていないんですよね…


そんなレベルの自分が
VS Code GitHub Copilot
Agentさん(Claude Sonnet 4)さんにWindows App SDKで簡単なアプリを
Vibeでつくってもらいました。VS2022の方にはClaude Sonnet 4来ていないので。
まあそうよね。
Claude Sonnet 4 さんでもWindows App SDKは無理ですかね?
WPFはなんとかいけました。


さて…
いまってWindowsネイティブアプリケーションの実装は、まだVisual Studioって
認識でしたが、
ChatGPT さんに聞いていました。(何故か生成mdをコピーペーストで表の内容が一部欠損するので、後でなおします)

XAMLは自分は
・画面イメージをあたまの中からそのままXAMLに変換してコート書けない。
・XAMLコードを見ると画面があたまの中に生成出来ない人なので…
そもそもXAMLは実務では書いたことない人なのです…


Windows Forms Frame at Kaitlyn Guest blog

以下に、2025年5月時点における主要な Windows デスクトップアプリケーション開発フレームワーク(Windows Forms、WPF、UWP、Windows App SDK)の最新情報を統合し、Markdown形式でまとめました。


📘 Windows デスクトップアプリ開発フレームワークの最新動向(2025年5月時点)

🧭 フレームワーク比較表

フレームワーク最新状況・サポート状況主な特徴・用途将来性・推奨度
Windows Forms– .NET 10 PreviewでクリップボードAPIの改善。
– WPFと共有コ ードベースを採用。
– 軽量な業務アプリや内部ツールに適している。
– デザイナーの使いやすさが特徴。
– レガシーアプリの保守や簡易ツールには有用。
– 新規開発にはWPFやWinUI 3の検討を推奨。
WPF– .NET 10 PreviewでFluent UIスタイルの改善。– 高度なUI表現やデータバインディングが可能。
– 大規模業務アプリやリアルタイムデータ表示に適している。
– 既存の大規模アプリの保守・拡張に適している。
– 新規開発ではWindows App SDKへの移行を推奨。
UWP– 新機能の追加が停止。
– .NET 9までのサポート。
– Windows 10向けのモダンアプリ開発に使用された。
– セキュリティやパフォーマンスに優れるが制約も多い。
– 新規開発には非推奨。
– 既存アプリはWindows App SDKへの移行を推奨。
Windows App SDK– 最新安定版は1.7.2。
– AI API (Phi Silica)や画像認識機能を統合。
– モダンなWindowsアプリ開発のための統合SDK。
– Win32とUWPの機能を統合し、最新のWindows機能を活用可能。
– Microsoftの推奨する最新フレームワーク。
– 新規開発や既存アプリのモダナイズに最適。

 


📦 Windows App SDK と WinUI 3 の概要

Windows App SDK

Windows App SDK は、Windows 10 バージョン 1809 以降のデスクトップアプリ開発者向けに、OS から切り離された形で最新の Windows API を提供する開発プラットフォームです。

主な特徴:

  • WinUI 3: 最新のネイティブ UI フレームワーク。
  • DWriteCore: 高品質なテキストレンダリング。
  • MRT Core: 多言語リソース管理。
  • AppWindow API: ウィンドウ管理の高度な制御。
  • 通知機能: ローカルおよびクラウドからのプッシュ通知。
  • AI API: 画像認識、OCR、テキスト生成などの機能。

これらの機能は、NuGet パッケージを通じて提供され、Visual Studio 2019 および 2022 に対応しています。

WinUI 3

WinUI 3 は、Windows App SDK に含まれる最新のネイティブ UI フレームワークであり、デスクトップアプリケーションにおいてモダンなユーザーインターフェイスを構築するための主要なツールです。

特徴:

  • XAML ベースの UI: 柔軟で再利用可能な UI コンポーネント。
  • 高 DPI 対応: 高解像度ディスプレイでの表示最適化。
  • ダークモードサポート: ユーザーのテーマ設定に応じた表示。
  • WebView2 統合: 最新の Web コンテンツの表示。
  • Arm64 サポート: 新しいアーキテクチャへの対応。

WinUI 3 は、UWP からの移行を容易にする設計がなされており、既存のコードベースを活用しつつ、最新の UI 機能を取り入れることが可能です。


🆕 Windows App SDK 1.7.2 の新機能

2025年5月にリリースされた最新の安定版では、以下の機能が追加されました。

AI API の統合

  • Phi Silica: NPU 最適化されたローカル言語モデル。
  • テキスト認識 (OCR): 画像からのテキスト抽出。
  • 画像の超解像度: 画像の高解像度化。
  • 画像の説明生成: 画像内容のテキスト化。
  • 画像のセグメント化: 画像内オブジェクトの識別。

これらの機能は、Copilot+ PC および最新の Windows 11 Insider Preview Build を実行しているデバイスでサポートされています。


🔄 UWP からの移行

既存の UWP アプリケーションを Windows App SDK に移行することで、最新の機能や API を活用することができます。

移行のポイント

  • 名前空間の変更: UI 関連の名前空間を WinUI 3 に合わせて更新。
  • スレッドモデルの調整: UWP の ASTA から STA への変更に対応。
  • 機能のマッピング: UWP の機能を Windows App SDK で再現するためのマッピング表を参照。

移行には、手動でのコード調整が必要ですが、多くの場合、数日程度で完了することが可能です。


🔄 UWP の今後と移行について

Universal Windows Platform(UWP) は、かつて Windows 10 向けのモダンアプリ開発の中心的なフレームワークでしたが、現在は新機能の追加が停止され、将来的なサポートも限定的です。

現状と課題

  • 新機能の追加停止: UWP は .NET 9 までのサポートにとどまり、以降のバージョンでの新機能追加は行われていません。
  • 制約の多さ: セキュリティやパフォーマンスに優れる一方で、ファイルアクセスやバックグラウンド処理などに制約があり、柔軟なアプリ開発には不向きな側面があります。

移行の推奨

Microsoft は、UWP アプリの開発者に対して Windows App SDK への移行を推奨しています。Windows App SDK は、Win32 と UWP の機能を統合し、最新の Windows 機能を活用できるモダンなアプリ開発を可能にします。

移行のメリット

  • 最新の Windows 機能の活用: AI API や WinUI 3 など、最新の機能を利用可能。
  • 柔軟なアプリ開発: パッケージ化や配布の柔軟性が向上し、従来の制約が緩和。
  • 将来的なサポート: Microsoft の長期的なサポートと更新が期待できる。

移行のポイント

  • UI の移行: UWP の XAML を WinUI 3 に対応させる必要があります。
  • API の置き換え: UWP 固有の API を Windows App SDK の対応する API に置き換える作業が必要です。
  • パッケージングの変更: MSIX など、新しいパッケージング手法への対応が求められ


⬆ の途中経過

後ほど追加します

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です