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/21(月) 13:41:38.72ID:NDZaXBVn
>>28
言い訳が苦しすぎるww


vbおじいさん、winformおじいさんは勉強嫌いだろ。
生産性を高めようと思っていたらこんなものにしがみついていない。
2021/06/21(月) 14:32:57.76ID:QSvmLdyv
WPFってSilverlightと同じく失敗productだろ
2021/06/21(月) 14:56:36.21ID:DBAAgUVQ
>>29
Silverlight時代からなんで
そこそこ普及はしてると思うが、
実装方法は糞評価だね。

早い段階でflutterに食われるでしょ。
2021/06/21(月) 15:26:16.45ID:wnQSc3ge
ビヘイビアとコマンドなんてそんなものあったなあって感じ
10年くらいWPF書いてるけどその2つを使ったのって最初の1年くらいw
無くても困らないw
34デフォルトの名無しさん
垢版 |
2021/06/21(月) 18:33:02.80ID:Nu/+E6/O
俺もWinFormsからWPFに乗り換えた人間だが、明らかに開発は早くなったと感じる

まあ小っさいの作るならWinFormsの方が楽だろうけどね。MVVMの骨格を整備するの面倒だし。
GUIとロジックを分けて書ける有難みはそこそこ複雑なものを作って分かったよ
35デフォルトの名無しさん
垢版 |
2021/06/21(月) 18:38:34.44ID:Nu/+E6/O
まあWPFの良し悪しは置いておいても、マークアップ言語でのGUI構築には慣れておいた方が良いことは間違い無いと思う
なんせ今はWebアプリが強い時代だからね。それでも俺はデスクトップに残り続けるがw
2021/06/21(月) 19:07:10.23ID:SD9Vy51I
WPF以降だとサムネイル表示とか一瞬で作れるもんな
formならこうは行かないと思うけど
効率重視のformの人はformのリストビューみたいなので我慢できる人なの?
2021/06/21(月) 19:20:34.66ID:jqlm888h
>>10
jsとかの他のMVVMは確かにそんなもんつかってねーな
2021/06/21(月) 19:24:32.35ID:jqlm888h
Livetやprism使ってありがたいと思ってたけどそもそもがそんなもん使わせるなよよw
これ以外何も思わない
そのPrismですらコロコロ内容が変わる
2021/06/21(月) 19:55:49.41ID:1n0nC/ay
割と最近になってMVVM Toolkit for .NET(Microsoft.Toolkit.Mvvm)なんて出してきた
2021/06/21(月) 20:02:52.09ID:ZPTvRcij
べつにだれもマークアップ言語でのGUI構築にケチつけてないだろ
41デフォルトの名無しさん
垢版 |
2021/06/21(月) 20:08:46.88ID:Nu/+E6/O
>>38
それに関しては禿同。
外部に頼る前提のフレームワークって何なんだよとw
MSが吸収したりしないもんかね
2021/06/21(月) 20:13:51.82ID:A6ZWHwGn
今更何を言おうが、WPFはメンテナンスモードなので未来永劫改善されることはない
2021/06/21(月) 20:19:00.04ID:1n0nC/ay
WPF自体はそのままだけど
VS2019で実行時にバインドエラーを専用ウィンドウで表示できるようになったり
開発環境は地味に改良されてたりする
2021/06/21(月) 20:39:33.26ID:NDZaXBVn
>>41
Microsoftの名前空間が付いたMVVMライブラリが出たし、これでいいでしょ。
2021/06/21(月) 20:41:17.43ID:jqlm888h
>>43
それは15年前に必要だったものでは?
2021/06/21(月) 21:08:15.72ID:mqD8ibJ4
WPFが普及しなかったのはWPFの出来とは関係ない

WPFがこれからって時に、Webアプリやらスマホの台頭で
WindowsプログラマがWPFを学ぶ前にほとんどweb,android,iosに流れてしまった

単にwindowsアプリの需要がないだけ
2021/06/21(月) 21:12:55.51ID:mqD8ibJ4
新規Windowsアプリの重要が急激になくなってwindowsアプリ作る人いなくなったのにWPFが普及しないとどうこういう以前の問題
2021/06/21(月) 21:18:34.16ID:b32VLmjg
Prismは6から7のときのだけ破壊的変更が有ったけど、それ以外のバージョンアップは後方互換性も悪くなかったけどな
7の変更のおかげでUnityからDryIocにDIコンテナを変えても、モジュール入れ替えてusing変更だけでほぼ動く
49デフォルトの名無しさん
垢版 |
2021/06/21(月) 21:27:15.04ID:Nu/+E6/O
>>43
VS2019が出るまで、我々はあのコンソール画面と睨めっこしながらバグを潰していたのか…
オ゙ェ゙ッ
2021/06/21(月) 21:28:25.72ID:mqD8ibJ4
業務アプリとかならWinFormsでもいいかもしれんけど、今風なおしゃれな見た目のアプリ作るとなるとWPFというか、WinUIになっちゃうからな
諦めるしかない
つか、お前らどうせ新しくWinアプリ作ってねぇだろ??w

俺は4年前にUWPアプリ2つ作ってから、もうずっとスマホアプリだけだわ
2021/06/21(月) 22:03:56.86ID:jqlm888h
WPFは初期だけ盛り上がってしばらくしたら誰もいなくなった
外人のスタープログラマが持ち上げてたけどそいつらもすぐにいなくなった
コードを書く以外の時間も長いし
相対的なコード量も増える


WPFの学習効率の悪さ
開発環境の劣悪さ
MVVMによるコードの長大化
MVVMのデバッグの難しさ
など

winformsでは起こりえないいくつのマイナスポイントがあった
2021/06/21(月) 22:22:38.53ID:A6ZWHwGn
>>50
俺はバックエンドがメインになって(Web含め)GUIアプリ自体仕事では全く作らなくなったな
画面作るのは好きだがツールに振り回されるのはアホらしいわ
53デフォルトの名無しさん
垢版 |
2021/06/21(月) 22:45:13.59ID:RsRWwffr
>>46
スマホやWebのせいじゃなく、アメリカの独占企業たちが、検索エンジンやOS
やハードウェアで儲けた金で無料でプログラムを配りだして、彼ら以外に
はWindowsアプリ作っても一線も設けることができなくなったこと、
Blenderや無料Office、GRUB、Apache、gccなどのGPLな無料アプリの台頭、
などがあるのではないか。
AndoridやiOSはMSの息が掛かってなかったから、売れるチャンスがあった。
2021/06/21(月) 22:54:34.53ID:RsRWwffr
アプリ作っても無料アプリに負けることが多くなったと思う。
55デフォルトの名無しさん
垢版 |
2021/06/21(月) 23:58:30.48ID:mqD8ibJ4
WPFでMVVMを学んで、
今はandroidでもkotlin+MVVM
今はflutterでも開発してるがこれもMVVMで作ってる
MVVM最高!!
2021/06/22(火) 00:51:13.35ID:/hzWR5hC
>>51
学習高率の悪さねえ…
VB2〜6でイベントドリブン入門した層がWinFormに移行して
(奴らはこの時もオブジェクト指向だの.NET Frameworkだのでかなり苦労した)
その成功体験と開発方針を金科玉条のごとく大事にしていて
新しいパラダイムに対応できなかったことを指すならその通りだね
デスクトップアプリの開発者はWebアプリと違って新しい事にチャレンジするモチベーションが無いからな
2021/06/22(火) 01:19:42.36ID:/xD272cm
笛吹けど踊らず。パラダイムシフトとならなかったのが今の状況
2021/06/22(火) 01:33:19.95ID:/hzWR5hC
>>57
もちろんWPFは失敗だったし
失敗の原因はMSが色々と読み間違えたことにある
そのひとつがWinForm開発者のレベルの低さなのは間違いない
2021/06/22(火) 01:52:54.59ID:y59U06XH
B層に愚民愚民言い続けてたら選挙で大負けした人達みたいっすね
60デフォルトの名無しさん
垢版 |
2021/06/22(火) 02:02:53.23ID:/hzWR5hC
>>59
この場合B層が何を指すのか知らんしどの選挙の事を言っているのか不明だが
MSが支持層のレベルを読み違えていたのは間違いない
WPFはWinFormの開発者がスムーズに以降できるスキームを用意できなかった
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
ほんと切り捨てろ連呼してる奴は馬鹿ばかりだ。
■ このスレッドは過去ログ倉庫に格納されています