WPF(.NET, WinUI) GUIプログラミング Part26

■ このスレッドは過去ログ倉庫に格納されています
2021/06/20(日) 17:04:18.66ID:7UVkl7BZ
Windows Presentation Frameworkについて語るスレ。

前スレ
WPF(.NET4.x, .NET Core) GUIプログラミング Part25
https://mevius.5ch.net/test/read.cgi/tech/1612522463

関連スレ
Windows 10 UWPアプリ開発 Part 2
http://mevius.2ch.net/test/read.cgi/tech/1499658092/

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
2021/06/22(火) 02:04:10.32ID:/hzWR5hC
このスレワッチョイ無いのなw
2021/06/22(火) 02:06:29.19ID:y59U06XH
あれ、前のスレはあったのに
2021/06/22(火) 02:45:32.55ID:p6tBruNL
>>57-60
この流れが正しいだろう

まるで「自分の教えてる生徒は落ちこぼれが多くてね・・・」と嘆いている教授みたいだ
確かに、生徒のレベルが低いという事実はあるかもしれない
だが、そのレベルに対するあんたの教授法はどうなんだ、と
2021/06/22(火) 02:50:59.28ID:hVWHiksC
その頃、.net framework懐疑派もいてc++ Win32/MFCやらdelphi軍団
WinForms開発者はVBからの移行組多くてWinForms+VB.net??
だったら、WinForms開発者のレベルが低いのはしょうがない
65デフォルトの名無しさん
垢版 |
2021/06/22(火) 06:11:16.58ID:Aeo9kDkU
ここの人たちはわかってるんだな
WinForms止まりの人たちは成長しない人間だということを
66デフォルトの名無しさん
垢版 |
2021/06/22(火) 07:44:38.48ID:Xn56/PVc
XAMLは一生関わりたくないでござる
67デフォルトの名無しさん
垢版 |
2021/06/22(火) 07:51:15.99ID:jruG6CnM
じゃあ成長を促してあげようぜ
.NET MAUIの公式ドキュメントできてたんだな

https://docs.microsoft.com/en-us/dotnet/maui/
2021/06/22(火) 08:05:17.77ID:7Ks2gqqv
デスクトップの人はMAUIよりWinUI行くんじゃね?
2021/06/22(火) 08:19:50.21ID:7j121Wmb
ざむるか久しぶりだな
遊びでWindowsPhoneのガワ作って以来だわ
当時はMVVMがまだ浸透していなくて
何それ美味しいの状態だったって覚えてる
2021/06/22(火) 09:53:59.29ID:TtlGiyRY
>>51
そしてなによりWPFは遅かった。
2021/06/22(火) 12:09:06.38ID:lNl6Rhk5
>>67
MAUIはXamarinだから地雷
2021/06/22(火) 12:52:20.11ID:v8vBbrXJ
>>71
だよな。
2021/06/22(火) 12:53:14.61ID:v8vBbrXJ
もうflutterでいいよな
MSも関与してるし
2021/06/22(火) 12:56:43.65ID:P9tLBTwV
>>70
なるほど。
WinFormsのGUIパーツは、Win32のControlを使っているから、OSの
内臓コンポーネントであるC/C++で記述されている。
一方、WPFのGUIパーツは C#で作られているはずで、その速度はC#の
良い実例。それが遅いということはC#が遅いということ。
2021/06/22(火) 13:12:45.67ID:v8vBbrXJ
リフレクションを多用するアーキテクチャがそもそも遅い
バインディンク構文使わないと早くなる
2021/06/22(火) 13:58:58.57ID:MIKkQrwG
このスレでバインディング遅いって書くとバインディング遅くないよマンがでてくるんだよなあ
2021/06/22(火) 16:13:02.61ID:bYopypDX
遅すぎず速すぎず程よい速度
2021/06/22(火) 16:32:17.27ID:p6tBruNL
速過ぎて困ることあんのか?
2021/06/22(火) 16:33:15.01ID:v8vBbrXJ
>>77
むかし遅い遅いって現場で揉めて
外部のコンサルとか乱入してきて大変でしたよ

しかもそのコンサルは非.NET系の...

2021/06/22(火) 17:03:11.34ID:hVWHiksC
UWPでコンパイル時バインディングx:Bind使っても速度的な違いわからねぇし、
そもそも、AOTコンパイルだっけ?のUWPもつまりxaml??重いんだよな...
そりゃデスクトップPCで動かせば気にならんけど、当時はatomタブレットでバッテリーにも関わるから気になったわ

今のパワフルになった?SoCなら大丈夫そうだが??
2021/06/22(火) 17:07:39.26ID:hVWHiksC
>>73
flutterでFluent システムを実装してほしい
Material DesignをWindowsデスクトップで動かした時のデザインのダサさときたら..
82デフォルトの名無しさん
垢版 |
2021/06/22(火) 18:29:12.84ID:nJBLTJzV
>>79
何系よ?
MSC++,MFC,VB,JAVA,Delphi,BCC
2021/06/22(火) 18:53:39.20ID:kB1tp0oO
最近は、そう遅くも感じない。


それなりにテクニックはいるけどね。
2021/06/22(火) 19:16:18.55ID:nj/DGDzB
>>80
UWPはネイティブだよ。
2021/06/22(火) 19:30:55.75ID:v8vBbrXJ
>>82
javaかな
最初はいろいろきつかったね
2021/06/23(水) 05:51:06.75ID:jt9dD4ot
Winデスクトップオンリーなら.NET6 + WinUI + WPF
モバイル主体のマルチプラットフォームならFlutter
ってところかな
2021/06/23(水) 12:22:19.83ID:d23QmeSO
遠い未来ではそうかもな
2021/06/23(水) 17:51:22.42ID:nH+qDmUa
WINUIでどの程度パフォーマンス改善されるんだろ
2021/06/23(水) 19:46:25.93ID:B+S84JMM
>>66
XAMLはいいぞ(´・ω・`)Petzoldさんも本書いて勧めている
でもストアアプリはハードルが高い(特に個人で出す場合
2021/06/23(水) 21:33:34.09ID:O7LWJ7Ln
ストアアプリは誰にもメリットなかったよね…
Windows Phone の残した亡霊
2021/06/23(水) 21:37:53.44ID:hKNB6M+8
ストアのハードルは別に高くない。
ハードルがいくつもあるだけ。
92デフォルトの名無しさん
垢版 |
2021/06/23(水) 22:49:51.77ID:KJ8ZVKXN
UWPは
・Win10以外非対応
・拡張子がexeじゃない
この辺りが原因で、特に古参中心に初めから嫌われていた印象 俺の周りだけかもしれないが
2021/06/23(水) 23:53:15.80ID:AWn9dTRx
嫌うってより開発者としてではなく消費者としてどうなの??
iOSやandroidのサンドボックスによるセキュリティに慣れたら、普通に非UWPアプリをインストールするの嫌なんだけど

有名どころのアプリやUWPの制限じゃ無理なアプリなら仕方ないけど

例えば,SNS系のアプリとかフルアクセスできるデスクトップアプリとか嫌やな
2021/06/24(木) 01:09:57.50ID:ZhZSLtyl
20レスくらいさかのぼってみたけどUWPのセキュリティが嫌だって話をしてる奴はいなかった
93は誰に対する発言なんだ?
発作でも起きたか?
2021/06/24(木) 01:37:57.30ID:lYiTQMLE
>>94
UWPのセキュリティが嫌だ、なんて>>93にも書いてないよ
96デフォルトの名無しさん
垢版 |
2021/06/24(木) 01:48:41.02ID:UNoTdpdl
開発者が何を嫌ってようとセキュリティはUWPの方が優れてるからそっちを選べよって指摘だ罠。
選ばねえよバカww
97デフォルトの名無しさん
垢版 |
2021/06/24(木) 02:35:57.56ID:u9KwmiVH
まあ単体アプリを配布する分にはサンドボックスの有用性が生きるな
Windowsの生命線ともいえる業務アプリとはこの上なく相性が悪い
iPhoneで業務アプリシステムを構築しにくいのと一緒
結局Webアプリに逃げられてしまう
2021/06/24(木) 06:21:07.27ID:PTf3B3xq
>>93
消費者としても受け入れらえなかった。
exeひとつを自分の好きな場所に配置して実行できる自由さには勝てない。
そもそもセキュリティのメリットを理由にUWPを入れたがる消費者なんてほぼゼロに近い。

会社だとストア無効化、サイドロードの設定も有効化できないようにされてるところが多いから
UWPは使い物にならない。
2021/06/24(木) 06:45:20.03ID:KjDgyD5o
ストアの画面とか開くことすらないからストアに何があるのかすら知らないわ
VS2022とかストアで扱えるようにすればいいのに
2021/06/24(木) 08:36:15.96ID:NLbTIuex
>>99
MS謹製のpythonがあったな
2021/06/24(木) 09:42:23.93ID:6hf93Vdb
UWPの問題は
・Win10専用
・DataGridが当初無かった
・EF Coreが当初SQLiteしか使えなかった
・インストーラがプライベートストア構築からとハードル高杉
辺りが問題だったね

今ならインストール以外はだいたい解決しているから使えないこともないが
2021/06/24(木) 12:54:03.18ID:j4shFytl
ストアでインストールしたのはWSLくらいっすかねえ
2021/06/24(木) 17:08:34.96ID:7n0FYJDV
Formsがオワコンかと思ったら.NET5で再び生き残ってるっぽい
リユニオンプロジェクトとかWinAPIも復活するし
分断させたいのかくっつけたいのか、終わらせたいのか復活させたいのかよく分からない体制だな
2021/06/24(木) 17:14:36.89ID:KjDgyD5o
APIは死んでないだろw
APIは使いやすく整備するだけじゃなかったっけ?
2021/06/24(木) 17:40:38.06ID:6t03e9bV
>>103
いやそれはWPFも同じw
タマがないんやw
2021/06/24(木) 18:35:32.72ID:gqYKtk29
APIはOSのコアDLLだから無くならないだろ
2021/06/24(木) 20:08:03.68ID:9uMGIASm
Macと違って膨大なエンタープライズ資産が世界のユーザーにあるから簡単に切り捨てられんよ。
2021/06/24(木) 20:23:54.02ID:2cVfXV/f
iOSは他に方法が無いからみんな渋々ストアに登録してんのに、なんでWindows開発者が
ストアアプリに流れてくれると思ったんだろ。
2021/06/24(木) 22:07:33.10ID:PTf3B3xq
>>103

Formsがオワコンなのは変わらんよ。
「VB6をまだサポートします」と言われても一般的な開発者は喜ばないのと同じ。


>そもそもマイクロソフトがWindows 8でデスクトップ環境とモダン環境を“分断”しなければ、
>REUNIONは必要なかったからだ。つまり、
>自分で2つに分けちゃっておきながら、今になって再結合って言い出しているわけで、
>例えて言えば、「花瓶割っちゃったので接着剤で付けました」的な話である。
2021/06/24(木) 22:13:34.45ID:VGtS8JPG
マック過去のAPIや資産をバンバン切り捨てまくってるけど、客は怒らねーのかね
2021/06/24(木) 22:22:13.21ID:rge7Ftvr
>>110
?ヴェルタース オリジナルのCMのようにマカーの人たちは自分たちは特別な存在だと思ってるので
appleに何をされても怒らない
2021/06/24(木) 22:35:54.47ID:aX40sl0U
https://iphone-mania.jp/news-348098/
iOSならともかくmacなんてシェア10パーセント弱だし
怨嗟の声が上がってても聞こえるほどじゃなかろうな
俺はAPIに無告知で破壊的変更を入れてくるから嫌い
2021/06/25(金) 01:41:00.98ID:SBWjOd/p
簡単なテストアプリをサクッと作る時なんかは WinFormが捗る
114デフォルトの名無しさん
垢版 |
2021/06/25(金) 03:15:26.19ID:qqEJCDPW
>>103
終わらせる必要はないと思うけど足手まといにはなってそうだな
2021/06/25(金) 05:48:06.07ID:ifkxfXVo
ストアテコ入れとは聞いてたけどまさかAmazonアプリと合体するとはなw
2021/06/25(金) 05:54:42.48ID:zVVssHd/
>>113
いや、テストアプリでもWPFの方がはかどるよ
2021/06/25(金) 06:51:18.97ID:AhNzrASB
>>115
MS社内でもUWPは期待されてない香りがプンプンするぜ
2021/06/25(金) 07:52:51.65ID:NwX/yPma
>>115
ようは敗北宣言じゃね?
Windows8で糞使いにくくしたりストアアプリ/UWP注力でデスクトップ放置とか全部失敗だったな。
2021/06/25(金) 07:57:29.12ID:lVANw6EN
もういい加減32bit切ってくれ
2021/06/25(金) 10:46:21.59ID:6KbKcl9Y
>>119
Windows11で切るんじゃなかったっけ?
2021/06/25(金) 10:54:16.88ID:ifkxfXVo
32bitどころか俺のPCが11で切り捨てられそうなんだけど
2021/06/25(金) 10:59:16.69ID:A4FvZdNB
定期的に湧くよな、マカー並の低能馬鹿、切り捨て厨。
2021/06/25(金) 11:07:47.58ID:ifkxfXVo
>>122
なにこいつキモいんだけどw
2021/06/25(金) 11:08:04.57ID:eijvgSCB
>>120
切られたね
MSもApple並のド低脳になってしまった…
まあ32bit切り捨てよりTPM2.0未満切り捨ての方が影響でかいけど
2021/06/25(金) 11:12:48.81ID:MeOG8FMO
>>117
というかUWPは終了が確定している。
UI部分はWinUIに分離され、こっちが更新されていく。
残りカスのUWPはフェードアウト。
2021/06/25(金) 12:02:45.75ID:FVtxn09p
万が一Amazonアプリストアで軌道に乗っちゃったら、
そっちとの親和性開発の流れになるから、またリセットされるな
2021/06/25(金) 12:07:54.36ID:A4FvZdNB
言語でもハードでもOSでもどれも互換重視で圧倒的シェア獲得してきたのに、
後から乗っかってきた頭の悪い新参者はすぐ切り捨てしろと言うから困る。
そういう歴史を知らない馬鹿がMSの経営陣に多くなったということ。MSも落ちぶれたものだ。ゲイツはやはり偉大だったのだ。
2021/06/25(金) 12:25:33.63ID:e/bo9MqG
32bit CPU(32bit OS)サポート外とした、ってことでしょ。
今32bit OS使う理由って25年近く前の16bitプログラムの何か使ってるか、
15年ほどデバイス更新せず古いまま使ってるか。
いいかげん更新しろよって感じでしょ。

64bit OS内での32bitの実行ファイルはもちろんwin11でも動作するわけで、互換性としては十分だろ。
2021/06/25(金) 12:47:49.60ID:A4FvZdNB
ほんと切り捨てろ連呼してる奴は馬鹿ばかりだ。
130デフォルトの名無しさん
垢版 |
2021/06/25(金) 13:56:45.31ID:NV5/Ahkd
64bitと言ってもAMDが作ったx86互換の64bitもどきだからな
インテルのIA64が勝っていたらx86アプリは今頃残っていなかっただろう
2021/06/25(金) 14:13:52.60ID:/3glHUNQ
wpfくっそむずすぎ
こんなんやっとれんわ
132デフォルトの名無しさん
垢版 |
2021/06/25(金) 14:25:50.32ID:Wd+wOk9Z
馬鹿には無理
2021/06/25(金) 14:34:50.27ID:/3glHUNQ
バカだから無理だわ
datagridとかのドキュメントも長ったらしいし、
reactivecollectionやらobservablecollectionやらがやたら長ったらしくて冗長だし、
画面に複数のデータをリアクティブにするだけで長ったらしいコードが溢れるし、
他の言語のwebなら数十行のコードもxamlまで含めて何百行となるし、
実行したらしたで重いし、保守なんてさせられんわ

linqくらいだわいいの
仕事ならしゃあないだろうけど
134デフォルトの名無しさん
垢版 |
2021/06/25(金) 15:37:06.01ID:PQH5rdUP
XAMLは使わなければWPF最強
135デフォルトの名無しさん
垢版 |
2021/06/25(金) 16:22:42.63ID:BnS8egAD
>>133
「クラス名が長いから嫌だ」って…
まさかメモ帳で書いてるんじゃなかろうな
2021/06/25(金) 17:19:49.38ID:djQjn/cE
失敗プロジェクトの連続
MSには馬鹿しかいないのか
2021/06/25(金) 17:36:50.94ID:ifkxfXVo
本気で馬鹿しかいないと思うよ
ブラウザさえまともに作れずに結局Chrome互換
検索エンジンもゴミ
WPFとUWP分離したりくっつけたり
dependency propertyなんかみてもひどいしな
褒めるところが全く無いのがすごい
2021/06/25(金) 18:15:45.87ID:wfTcV3LX
VSCodeとか新生Edgeとか他所のフレームワーク使う時のMSは伸び伸びしとりますなあ
2021/06/25(金) 19:07:24.25ID:zVVssHd/
>>137
ブラウザはGoogleの露骨な妨害があったから泣く泣く断念した経緯がある。
2021/06/25(金) 20:01:38.14ID:buVq68wJ
どこも同じゃないの?
仕事で作らされてもろくなもん出来ないよ。
2021/06/25(金) 21:12:58.06ID:/vwepKGE
WPFを使うとプロジェクト全体の作業効率がアップするのか甚だ疑問だな。本当に良いものならもっと普及してる筈なのだが
142デフォルトの名無しさん
垢版 |
2021/06/25(金) 21:36:11.44ID:BnS8egAD
ここ最近WPFが善か悪かの議論しかしてないよな
何か他に話題は無いん?

…まぁ、無いかw
2021/06/25(金) 21:38:17.66ID:zVVssHd/
>>144
https://qiita.com/tags/wpf
https://qiita.com/tags/winforms
2021/06/25(金) 21:38:53.51ID:zVVssHd/
>>141
>>143
2021/06/25(金) 21:41:33.62ID:zVVssHd/
WPF : 記事数1,123, フォロワー625
WinForms : 記事数78, フォロワー6

これが現実
146デフォルトの名無しさん
垢版 |
2021/06/25(金) 21:42:58.30ID:595fcDMG
>>117
MSは社内ですら方針統一できてないのがなあ
CairoやLonghornがコケた頃から何も変わってない
2021/06/25(金) 22:13:07.08ID:i6/+pAU6
なぜそのタグで検索して比較したw
2021/06/26(土) 03:46:23.80ID:XXzuMEQx
>>145
Windows Forms で検索すると、1513
WinForms:258
Forms:4412
WPF : 1903
2021/06/26(土) 03:50:38.30ID:XXzuMEQx
Xamarinで検索: 1726
タグのXamarin:968記事、906フォロアー。

如何にQiitaの読者層が信用ならないかが垣間見えるような。
2021/06/26(土) 03:56:28.35ID:XXzuMEQx
Qiitaではなく、Quoraだと、
C++: Follow 1M
C#: Follow 382K
Java: Follow 1.3M
つまり、人気は、
Java > C++ >> C#
2021/06/26(土) 04:39:37.06ID:XXzuMEQx
Google Trendsだと、WPF,MFC,Flutter,Qtが互角くらいで、WinFormsとUWPは低迷。
2021/06/26(土) 04:46:05.20ID:XXzuMEQx
Flutterは上昇中。MFC,WPFは徐々に下がってきている。
Xamarinは横ばいで低迷。
QtやFlutterはマルチプラットフォームなのに対し、MFCは古くからありWindows
専用な割には未だにかなり強い。
2021/06/26(土) 06:35:43.77ID:ZRPAi/RT
>>150
人気言語なら
Rust > TypeScript > Python > Kotlin > Go > Julia > Dart > C# >
Swift > JavaScript > SQL > Bash/Shell/PowerShell > HTML/CSS > Scala > Haskell > R > Java > C++

習得したい言語なら
Python > JavaScript > Go > TypeScript > Rust > Kotlin > Java > C++ > SQL > C# >
Swift > HTML/CSS > Dart > R > Ruby > C > Scala

糞な言語なら
VBA > Objective-C > Perl > Assembly > C > PHP > Ruby > C++ > Java > R > Haskell > Scala >
HTML/CSS > Bash/Shell/PowerShell > SQL > JavaScript > Swift > C# > Dart


by SO 2020調べ
2021/06/26(土) 06:53:11.90ID:ZRPAi/RT
GitHubリポジトリ数

Flutter(21,854) > WPF(5,679) > Xamarin(3,434) > WinForms(3,373) > UWP(1,630) > MFC(355)
2021/06/26(土) 11:27:25.79ID:TqdTR7t2
Flutterの人気がスゴいってのは分かった
2021/06/26(土) 11:54:16.49ID:XXzuMEQx
githubは特殊性が有ると思う。
vue.jsは、185k star、29.4k fork で、スポンサー(ほぼ知らない企業ばかり)も大量に
付いているが、実際の使用例はとても少ないと聞いてるし。
逆に、qtなんかは、1.4k star, 680 fork だけど、ウェブではないところで
結構使われていることが分かってる。
2021/06/26(土) 12:09:15.30ID:XXzuMEQx
>>145
Qiitaは、Webにちゃんとまとまって書いてないことを、自分で調べた人が
書く場所。だから、Webに情報が少ない事が書かれる傾向がある。
いくつかの調査で、WinFormsはWPFより使われていることが分かってる。
2021/06/26(土) 12:16:53.81ID:XXzuMEQx
2020/07/26 の時点で、マウスイベントで頻繁に更新される多くのDatagridviewsを使った
ビジネスアプリは、古いPCだと、WinFormsはマウスの反応が即時だがWPFはマウス
をクリックしてからUIが反応するまで数秒掛かると書いてある。

https://stackoverflow.com/questions/19642320/is-there-a-performance-difference-between-wpf-and-winforms

Great piece of advice here. I attempted a wpf business app with a number of
Datagridviews that were frequently updated by mouse events, and on older
production pcs, the app would take as long as a second between mouse click,
and ui response. Winforms version response time is practically immediate.
– c jk Jul 26 '20 at 23:49
2021/06/26(土) 12:21:32.22ID:w6j9gBE1
WPFのDatagridがゴミなのはもう常識だろ
2021/06/26(土) 13:01:58.02ID:+M0IgX5j
フレームワークにフレームワークが必要ってのは言語やプラットフォーム関係なく根っこが腐ってるからそうなるんだと思う
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況