C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

Windowsアプリ /AAA (20/09/07(Mon) 08:20) #95716
Re[1]: Windowsアプリ /774RR (20/09/07(Mon) 09:18) #95717
  └ Re[2]: Windowsアプリ /ぼーちゃん (20/09/07(Mon) 09:53) #95718
    └ Re[3]: Windowsアプリ /AAA (20/09/07(Mon) 14:31) #95719
      └ Re[4]: Windowsアプリ /AAA (20/09/10(Thu) 18:57) #95734 解決済み


親記事 / ▼[ 95717 ]
■95716 / 親階層)  Windowsアプリ
□投稿者/ AAA (1回)-(2020/09/07(Mon) 08:20:20)

分類:[雑談] 

業務でWindowsアプリを作る時に、使われる主流な言語、技術は何でしょうか?

@C#、VB.NETなどのWindows Form
AWPF
BVisual C++

私には、この3択しか思い浮かばないですが、どれが一番使われる言語なのでしょうか?
[ □ Tree ] 返信 編集キー/

▲[ 95716 ] / ▼[ 95718 ]
■95717 / 1階層)  Re[1]: Windowsアプリ
□投稿者/ 774RR (827回)-(2020/09/07(Mon) 09:18:43)
今どきだと高解像度画面対応 (Per Monitor) が求められることが多くて
- WPF は HiDPI aware Per Monitor 対応のためのサポートがある
- WinForms には無い
あたりから、今日この時点および今後に開発するなら WPF かな

WinForms ではストアアプリが作れないあたりも一歩時代遅れかも

C++ っつか MFC アプリは Microsoft 側のメンテナンスが実際問題なされていないことから
今から新規で MFC アプリを作ることは推奨できない(二歩も三歩も時代遅れ)
C / Win32API でゴリゴリってのは、ゲームではあるかもしれないけど、それ以外ではまず無いっス。

オイラは開発中の組み込み系装置の内部状態モニターとか作ることがままあるけど、こういう場合
- 使う機械は下手すると WinXP の頃のノート機 (ネット接続厳禁で実運用してるのがまだある)
- 当然、画面解像度も 1024x768 程度であり HiDPI aware は不要
- 開発者の経験値が WinForms は高くて WPF はまだまだ足らない
- でも今更 MFC / Win32API 直なんてのは開発効率面/将来性的にありえない
ってことで WinForms (C#) で組むことが多いっス。
(今週中に作ってねハートと言われたら他の選択肢がありえない)

余裕があれば WPF の練習を兼ねて WPF にすることもあるけどね

ってことで WPF で書ける人がいれば WPF が第一選択
WPF は書けないけど WinForms が書けるなら WinForms が第二選択
MFC / Win32API は選択肢に入らない
ってとこぢゃね?

業務なら Web アプリにして IE からチマチマアクセスするなんてのも大いにアリっスよ
( Active-X をいまだに使ってるの勘弁してくれ>社内なんちゃらシステム)

[ 親 95716 / □ Tree ] 返信 編集キー/

▲[ 95717 ] / ▼[ 95719 ]
■95718 / 2階層)  Re[2]: Windowsアプリ
□投稿者/ ぼーちゃん (26回)-(2020/09/07(Mon) 09:53:41)
2020/09/07(Mon) 10:00:42 編集(投稿者)

オフィス向けの業務アプリなんかを作っていますが、
使うのはWinForms or WPFで、WinFormsの方が比率が多いです。

巷のライブラリなんかはWPFの方が、
最近のマテリアルデザイン向けのコントロールなど、見た目的に洗練されたものが多い印象です。
ただ、あんまりそれが必要となってくるような案件が少ないです。

「誰が使ってもわかりやすくシンプルに」する必要があるWeb系と違って、
業務アプリは担当の人が使い方を覚えて使用するので、「見た目は気にしないから、
便利な機能をたくさん詰め込んでほしい」という要求の方が高いんですよね。
(もちろん過った使い方がされないようUXの検討は必要ですが)

高解像度対応についても、今どきでもFull HD以上の解像度のモニタを使っている
所って少ないと思います。(デザイン系とかデイトレの人は違うと思いますが)
例外としてはSurface Proなんかはたまに使っているお客様がいて、
これは解像度2736 x 1824です。WinFormsで作ったアプリをSurfaceで使って拡大する必要が
ある場合ぼやけて表示されてしまうので、WPFで作ったりもしますね。

ただぼやけると言っても文字の判別が困難になるなど酷いものではないので、
「Surfaceと普通のFull HDモニタどちらでも使うことがある」
と言われた場合はWinFormsで作ってしまいます。


いまゼロから学ぶという人はWPFを選ぶべきだと、私も思います。
しかし、推奨と言われているMVVMパターンという書き方でプログラムを作ろうとすると、
一つコントロールを追加するにもコード量が爆増してしまうので、
Prismなど支援フレームワークを使用する必要があり学習コストが高いです。
教育にコストを割けず、WinFormsを使い続けている企業が多いのではないでしょうか。
[ 親 95716 / □ Tree ] 返信 編集キー/

▲[ 95718 ] / ▼[ 95734 ]
■95719 / 3階層)  Re[3]: Windowsアプリ
□投稿者/ AAA (2回)-(2020/09/07(Mon) 14:31:12)

WPFって結構使われるんですね。
過疎って誰も使ってない過去のものだと思ってました。
難しくて結局、普及しなかったイメージです。

とは言っても、私も今WPFを使ってるんですが・・・

分かってしまえば、WinFormsより便利なのが分かります。

あえて解決済みにはせずには、もうしばらく置いておきます。
是非、他の方もご意見お願いします。

[ 親 95716 / □ Tree ] 返信 編集キー/

▲[ 95719 ] / 返信無し
■95734 / 4階層)  Re[4]: Windowsアプリ
□投稿者/ AAA (4回)-(2020/09/10(Thu) 18:57:19)

すっかり、忘れてました。解決済みとします。
774Rさん、ぼーちゃんさん、ご回答有難うございました。

解決済み
[ 親 95716 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -