Windows 10 以降の Windows アプリ開発におけるプラットフォーム考察 (3)
前回の記事からの続きになります。
今回はいよいよ、用途に応じた「Universal Windows Platform (UWP)」「Windows Presentation Foundation (WPF)」「Windows Forms」の選定の仕方を考察します。
Windows ストアで配布するアプリの場合
UWP 一択です。他の選択肢はありません。
シェアウェアの場合
販売元がはっきりしているはずですので、Windows ストアで配布可能な場合は UWP が良いと思います。 そうでない場合は WPF が良いかと思います。
フリーウェアの場合
WPF か Windows Forms のどちらかになります。開発者が好みで決めてしまって構いません。
業務アプリケーションの場合
(a)ツールまたは小規模システムの場合
サイドローディングを許容でき、社内DBと連携しないか間接連携する場合、且つプリンター等の外部デバイスを使用しない場合には UWP を選択することが可能です。 そうでない場合、将来的なことを考慮する場合には、XAML + MVVM が使える WPF になります。 それ以外は、Windows Forms になります。
(b)中規模~大規模システムの場合
Web アプリケーションのほうが適しています。「ASP.NET Core MVC」がよいでしょう。次点で「ASP.NET MVC」になります。
デスクトップ アプリとする場合は「WPF」がよいでしょう。
まとめ(今後予測)
Windows OS は、Windows デスクトップによって栄華を極めたのですから、そこで開発された Windows アプリは、業務アプリ(業務システム)も大きな割合を占めています。
今後業務アプリを開発する場合、企業の規約によっても、或いはアプリに実装したい機能によっても、UWP を選択できない状態が発生し得ます。
そうなると、Microsoft は UPW 一本化の構想を修正し、UWP と WPF の二本体制という方向性に持っていくかもしれません。
しかしながら、今現状 Windows 10 で問題なく「Windows Forms」が使用可能な状態のため、「Windows Forms」が使えるなら「Windows Forms」でいいと思う企業/開発者/ユーザーが一定数は残り続けることになります。
(実際にWPFが現場に広く普及しているとは言い難いです。)
そうすると、Microsoft は Windows Forms のサポートを終わらせることも難しくなります。
結果、「UWP」「WPF」「Windows Forms」の三つ巴はこれからも続いていくことになるでしょう。
関連記事: