• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Windows業務アプリケーションの開発の選択肢)

Windows業務アプリケーションの開発の選択肢

このQ&Aのポイント
  • Windows業務アプリケーションの開発における.NET FrameworkやWindowsFormの将来性についての質問です。
  • .NET Frameworkから.NET5.0へ進化し、WindowsFormの利用が難しくなってきている中、将来的な開発プラットフォームの選択についてアドバイスをいただきたいです。
  • VBやC#を使用したWindows業務アプリケーション開発には不安要素があるため、新たな開発プラットフォームの選択肢についてお知恵を拝借したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • dell_OK
  • ベストアンサー率13% (766/5720)
回答No.2

すみません、つい自分の環境で回答してしまいましたが、「新たに業務アプリケーションを作成する」のが質問の要点でしたね。 それで言うと、私は確実に、より新しいもので開発する方がいいと思っています。 開発メンバーの経験・スキルは、これからいくらでも増やし上げていって欲しいし、これまでの制約は捨ててしまって取り組みやすくして欲しいと言う気持ちです。 ・.NET 5 ・C# フォームは難しいですね。特に操作やイベントで実現したいことが実装可能かどうかと言うのが私にはよくわかっていません。あるいは他の案が出せるかどうか。できないはずはないと思う反面、できても難しいと困るし、でも絶対必要とか言われそうだし。私は操作に興味はないのですが開発メンバーやユーザーがどうしても言ってくるのが悩みの種。 そう言うのがなければWindowsFormは捨ててしまっていいと思います。.NET 5でWindowsFormが使えるのが不思議です。Windowsでしか実行できないものでありWindowsでしか使わないなら.NET 5にする必要もなさそうなので、そうなると今後のバージョンアップはないが廃止まではされない.NET Frameworkでいいことになってくる。なんだか堂々巡り。 言語はC#にするとして。 .NET5で作ってくれと言う案件でない限り.NET Framework。 フォームはOSやフレームワークに応じてどちらでも。ただ、質問者様が不安な理由によりますが、WindowsFormはやめる方向で。 うむむ。考えながら投稿文章を書いているので変な感じになって、無駄に2度も投稿してすみません。 私にも関係しそうな質問でしたのでついついでしゃばってしまいました。

scutotto
質問者

お礼

dell_OKさん ありがとうございます! お返事気が付かず、お礼が遅くなり申し訳ございません。   他の会社の実情や環境を知る機会が限られていますので、めちゃくちゃ参考になりました!   一つ目の回答で仰っていることも、どこの現場でも抱えている問題なんだなぁと、とても共感出来ました。 でしゃばる、でなんてとんでもございません。 ・.NET 5 ・C# 私の周りにもVBで馴染んできたメンバーが多く、C#の方でコードを書くようにするだけでも大変かも知れませんが、やはり言語の未来を考えるとやらなければならないことの一つだと思います。 UIに関しましては、WindowsFormは捨てて、将来性も含めて採用するに値するものを学習したいと思います!    参考にQiitaのサイトで「レガシー化したおじさんが.NET5までキャッチアップする」という記事を発見し、興味深く読んでみました。 またQittaの「[Microsoft] Windowsデスクトップ向け業務アプリ開発には何を採用すべきか?」 という記事も大変興味深く読みました。 この度はありがとうございました。 またどこかで意見交換出来れば幸いです!

その他の回答 (1)

  • dell_OK
  • ベストアンサー率13% (766/5720)
回答No.1

確かに悩ましいですね。私の個人的な考えと、私の置かれている環境から回答してみたいと思います。 .NET Frameworkと.NET5については、ぜひとも.NET5で開発したいです。ですが、まっさらで小規模なシステムを開発する場合の話になりそうです。 既存のユーザーのシステムをリプレースするとなった場合に、ユーザーや開発メンバーが言ってくるのが「いままで通り」。いままで通りなら作り直す必要はないのではないかと思うのですが、新しいあるいは更新されたOSや言語やフレームワークが出てくると古いものがいつまで動くと言う保証もなく、より新しい何かで作り直しておいた方がいいのではないか、でやっています。 だいたい以下のようなリプレースです。 ・VB5  →.NET Framework 3.6 VB WindowsForm  →Web化 ・.NET Framework 2  →.NET Framework 4.7 VB & C# WindowsForm ・.NET Framework 3.6 VB WPF  →.NET Framework 4.7 VB WPF & WindowsForm もともとの作り方にもよると思いますが、そのころの手前どもの技術力ではこうするしかなかった、で作っていたので、再利用性やパフォーマンスがいいとは言えない出来のもの。 ビジネスロジック的なコードはそのまま使った方がバグが少なくて済みそうと言う自信のなさでどうにか使いたいが、当時のWPFが遅いと言うイメージがあってWindowsFormするも、ビジネス寄りロジックとフォーム制御の関係が深くておいそれといかず。 サードパーティのツールをその便利さやパフォーマンスのよさで利用していたが、新しいフレームワークには対応していなかったりで使えず。 リプレースのものは私の一存でどうにかできず、ユーザーと開発メンバーの都合で決められています。 一方、私に好きにやってもらっていい、と言われるものには、なるべく新しそうな、でも私とて大した技術者でもなく英語もできず、ほとんどインターネットで調べてつくるので、情報が多くかつ日本語で、に期待できそうなものでつくりたいです。仕事では納期もあるので。 開発メンバーにもWindowsFormかWPFか聞かれたことがあります。私はパフォーマンスよりも作りやすさ優先、ユーザーよりも自分優先なので、開発メンバーとは思惑が違い、なるべく誤解のないように、でも私のかなり個人的なイメージで答えたことがあります。 ・WindowsFormは画面デザインしにくいがユーザー&開発メンバーの求める操作性は実現しやすい。 ・WPFは画面デザインしやすいが見た目を華やかにしたい場合のもので、操作性は若干下がる。 ・他にUWPの存在も説明して、作ることはWPFに近いが、タブレット向きで、既存のユーザー&開発メンバーが所望するものには向かない。デスクトップでもタブレットでも動くものだけど、それぞれの利用者が使うのは別々の作業や機能であり、「ひとつのアプリをさまざまなハードウェアで動かす」場面がほぼなく、単純に共通のデータベースが使いたいだけ程度。工場で使うとか、営業マンなどが持ち歩いて何かするのには使えるかも。 ※画面デザインと言うのは、縦横そろえて配置、並べて配置、大きさ調整、わずかな装飾などの意味合いです。私は1ドットのズレも気になるので、WindowsFormでは時間がかかってしまいます。私がやる分にはまだいいのですが、開発メンバーが作ったものや直したもののコントロールがずれている(意図的にではなくたぶんカーソルキーに当たって知らない間に移動しているか、そもそもそろえて配置していない)のがちょっと問題かな。 私の置かれている環境では今のところすべてのユーザーにWindowsで使ってもらっているので、こんな感じになっています。 ・.NET Framework  サードパーティのツールの都合。 ・WindowsForm&WPF  開発メンバーの考えで、ユーザーの所望していることが実装できるのなら併用でいい、パフォーマンスでWindowsFormが気に入っている。 ・VB  開発メンバーの都合、C#がまったくできないわけではないが、あるものの手直しやコピーして作る経験が多いため、元になるものがないと難しそう。

関連するQ&A