雨降り頻る今日この頃、いかがお過ごしでしょうか。
さて突然ですがWinFormsとWPFの違い、説明できるでしょうか?
開発手法が違う、意識したことない、WPFって何?、どっちも興味ない等、いろんな意見があると思います。
かくいう私もWPFの開発はしたことがないので「WPFって何?」に近い意見です。
断言しましょう。私は説明できません!!
両方知ってる人でも説明するのはちょっと…って方もいるかもしれません。
「知ってる≠説明できる」なのが辛いところです。
私自身、以前WPF案件やるかも!?ってなった時に、いろいろ調べましたが既に記憶にございません。
ので、WinFormsとWPFについてここに書き記したいと思います。
果たして記憶に残るのか…!?
ついでにUWPについても調べてみました!!
1.WinFormsとは
・古の時代からあるプラットフォーム。正式名称WindowsForms。
・言語はC#、VB.NET等。
・社内システムとかでよく使われてる。
・とにかく古い。
・高DPI環境に非対応。
・ネット、情報、いっぱい。
2.WPFとは
・WinFormsの後継(その割には普及率は今一つ)。正式名称Windows Presentation Foundation。
・言語はC#、VB.NET等
・スムーズなアニメーション、3Dレンダリング関連の処理、CPUへの負担は最小限。
・レスポンシブや美麗なデザインのUIが簡単に作れる。
・画面デザイン(XAML)とプログラミング作業(C#等)の分業が可能(いうほど分けられない?)
・高DPI環境に対応。
・速度が遅くなりやすい。
・ここ数年バージョンアップなし。
・WinForms程、ネットに情報がない。
3.UWPとは
・WPFの後継?正式名称Universal Windows Platform
・言語はC#、VB.NET、C++, JavaScript等。マルチプラットフォーム。
・異なるデバイス向けのアプリ。異なるデバイスとはPC,モバイルPC,loT,Xbox等。
・OSはWindows10。Windows7, 8.1では制限があり実用的ではない。
・高いセキュリティ。そのためアプリ外との接続が面倒等、弊害も多い
・最近MicroSoftが注力してる。
・ほぼ見ない聞かない。
4.ぱっと見でわかるWinFormsとWPFの違い
WinFormsの優れているところ
・速度
・技術者が多い
・情報が多い
WPFの優れているところ
・美麗なUI
・大画面、高DPI環境に対応
・開発しやすい
5.まとめ
総評としてWPF, WinForms, UWPの順でよいと思いました。
速度面を置いてWPFの方が優れている印象があるとはいえ、開発経験がある技術者や学習コスト、期間の確保等の問題もあります。
新規開発なら多少は取り入れやすいと思いますが、リプレース等でWPFへ移行する場合は容易ではないでしょう。
といろいろ書き連ねてまいりましたが、結局はネットにあふれている情報と個人的な意見です。
実際にどうなのか興味がでたならば、さわってみてはいかがでしょうか。
さて雨もあがったかな。Windowsアプリの未来はどっちだ!?