◆ ある程度の規模のしっかりしてるソフトはみんな Win32
◆ WPF は VisualStudio しかみつからなかった
  ◆ 外側だけで中は C++ で作った dll でしょ と疑ってみる 

WPF って HTML 風な XAML で書けて レイアウトとか CSS のように柔軟にできて Binding で変更あったら自動で他のところも変わって基本書きやすいです

WindowsForms なんか比べ物にならないほどです


でも便利な反面 速度面はちょっと遅め
WindowsForms のものと比べると全然違います

個人的にはブラウザ でタブの切り替えが WindowsForms で リロードが WPF ってくらいに感じてます
WindowsForms は基本一瞬で Windows 出てきて快適に動きます
WPF は体感するくらいにロードしてるんだな とか思うほどです

特に最初の起動や 数百・数千のデータを入れたリストの表示などではわかりやすいです


WPF は中で大量のリフレクションが行われていて仕方ない気もします
でも作る側からすれば圧倒的に WPF なんですが 使う側からすると WindowsForms や Win32 API で作られてる快適さがいいです

Windows10 用の UWP もですが新しいものって 作る側が楽になるけど その分速度が犠牲になってますよね

WPF で作られてるのは何があるの?

実際に使ってるソフトで WPF で作られてそうなものは ほぼありません
Office や VisualStudio の見た目はそれっぽいですが たぶん Win32API に思えます

自分が使ってるソフトがなんで作られてるのか気になったので調べてみました

ツールは Inspect というもの
Window の情報が見れます
frameworkId というところに Win32 とか WPF とか表示されます

Win32

予想通りですが だいたいのソフトは Win32 になってました

エクスプローラ/Chrome/Firefox/サクラエディタ/コマンドプロンプト/msys/evernote

などなどよく使うものは全部ですね

他にたまに起動するものなども見てみましたが

foxit や smatra などの PDF ビュワー
git の GUI ツール
Asr などファイラー
VirtualBox
Microsoft Office
レジストリ編集ツール
postgresql の GUI pgadmin
JetBrains の IDE

機能が多めでちゃんとつくられてる感のあるのはだいたい Win32 です

Office は WPF っぽい見た目なのに Win32 でした

省略してますが Chrome 系のツールはもちろん Chrome と同じで Win32 です

JetBrains 製の IDE は Java で作られてると聞いてたので Java だとどうなるんだろうと思いつつ確認してみると Win32 でした
JVM が Windows 上で GUI を再現するためのコア部分はまあ Win32 API を直接使ってますよね

WinForms

高機能なものでは

Paint.Net
mysqlworkbench

の 2 つでした

Paint.Net はちょっと驚き
Win32 じゃないのですね

mysqlworkbench の方は見た目がちょっと独特なもので WinForms とかじゃなくて Java あたりかなと思っていたのですが WinForms のようです
こっちも意外です

あとは ひとつしか機能ないような小さめのフリーソフトは WinForms が多いです
メニューバーすらないとか Ctrl-A の全選択みたいな基本機能も実装されてないとか Window サイズ変えられなくて見づらいとか そういう系の個人でちょっと作ってみたくらいのです

WPF

すごく意外で 驚いたのが VisualStudio が WPF でした

WPF にしてはすごく軽い気がします
IDE なので機能が多いしロードにも時間かかりますが 十分に快適です

WPF でもここまでのものできるんだー と思ったのですが 考えてみるとすべて WPF とは考えづらいです
レイアウト調整などがしやすいので 外側が WPF で中のエディタ機能とか 内部処理は全部 C++ で書いてて dll 呼んでるだけの可能性がすごくあります

見てみようにも 本来有料ソフトなのでソース全部はないでしょうしよくわかりません
でも完全に WPF の C# だけとは信じられません


で 他は と言いたいのですが私のパソコンに入ってるソフトで VisualStudio 以外に WPF アプリは見つかりませんでした

WPF 使われてなさすぎ……

Windows アプリ

Windows 10 のアプリも見てみました

なんか特殊なことになっていて 一番外側の Window 部分は Win32 です
ですが 内側は XAML となってました

UWP は C# / C++ / HTML など複数言語で作れるみたいなので 外側は Win32 でホストして内部で XAML とかいろいろあるんだと思います

調べてみると XAML のとこが InternetExplorer になってるのもあるとか
……これを聞いてすごく心配になりました
UWP を HTML/CSS/JavaScript で作ったらエンジンが IE で動くんだとしたら UWP 作るとしても HTML は選択肢から消えるなーと

まとめ

WPF アプリが全然ない