質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
.NET

.NETとは、主に.NET Frameworkと呼ばれるアプリケーションまたは開発環境を指します。CLR(共通言語ランタイム)を搭載し、入力された言語をCIL(共通中間言語)に変換・実行することが可能です。そのため、C#やPythonなど複数の言語を用いることができます。

Visual Basic .NET

Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

意見交換

クローズ

9回答

2708閲覧

今から.NET Framework4.8で新規開発(Windowsフォーム)を行うのは邪道か?

ashitani

総合スコア1

.NET

.NETとは、主に.NET Frameworkと呼ばれるアプリケーションまたは開発環境を指します。CLR(共通言語ランタイム)を搭載し、入力された言語をCIL(共通中間言語)に変換・実行することが可能です。そのため、C#やPythonなど複数の言語を用いることができます。

Visual Basic .NET

Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

0グッド

0クリップ

投稿2023/07/08 15:25

0

0

テーマ、知りたいこと

①今から新規案件(Windowsフォームアプリケーション)で.NET Framework4.8で開発するのは邪道でしょうか?

 新規案件の開発環境の選定が目前に迫っており、使い慣れた.NET Framework4.8(開発言語はVB.NET)で進めてしまっても良いのか悩んでおります。
今まで.NET6を導入した経験はありませんが、新たに導入するなら新規案件での開発が適していると思っています。

.NET6に対しては
・言語使用に違いはあるのか(VB.NETの場合)
・アプリケーションの配布方法は従来(.NET Framework4.X系)通りClick Onceを使用できるか
・従来よりも余分な検証作業が発生するのではないか
との不安があります。(開発工数が少ないため)

 ぶっちゃけFrameworkの違いだけで、同じWindowsフォームである事には殆ど変わりない認識でよろしいでしょうか。
.NET Framework → .NET6 の移行や、初めて.NET6をやってみて困った点があれば知りたいです。

Microsoftがこれから先に手を加えることのない.NET Framework4.8で新規案件の開発を行おうとしていることに対して、ご意見を伺いたいです。

②これからWindows環境で稼働するデスクトップ版の業務アプリケーションを作成するならどの様なアプリケーションを選択するか?
新規案件でWindows環境で稼働するアプリケーションを作成するなら、皆さんなら以下のどのアプリを選択しますでしょうか?
もちろんチームのメンバーの習熟度なども考慮する必要はあると思いますが、開発言語の選定も含めて知りたいです。

・Windowsフォームアプリケーション
・WPFアプリケーション
・その他

日々の業務に追われてなかなか新しいことの学習も出来ていないのですが、
今から学習するならWPFが良いのか、他のものが良いのかも知りたいです。
開発案件は販売管理や在庫管理、会計関連等の業務アプリケーションです。

背景、状況

①小規模案件でWindowsアプリケーションの開発が迫っており、開発環境の選定を行わなければならない

②開発期間が短い(開発規模も割と小さい)ので新しいことに踏み出すのに躊躇している

③私自身はVB.NETの開発経験が割と長い方ですが、他のメンバーが私よりも年長者でVB.NETの開発にそれほど精通していない
(オフコンの経験が長く、その次にVBAやVB6.0の経験が長い。オブジェクト指向プログラミングにそれほど精通していない)

④自身の技術的な経歴を鑑みて、VB.NETのWindowsフォームアプリの開発ばかりやっていて良いのか、将来的な不安もある。

上記背景があり、以前からWindowsフォーム以外の開発もやってみたいという思いもあり、
現在のWindows系の業務アプリケーションの開発はどのようなアプリケーションが多いのかも
知りたいと思いました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答9

#1

Zuishin

総合スコア28660

投稿2023/07/08 22:06

編集2023/07/08 22:12

そもそも懸案事項に上がってない VB.NET 自体がオワコンですが。
開発期間が短いのであれば、それに間に合うことを最優先して問題を先送りにしなければ仕方ないと思います。
新技術の勉強は余裕のある時にしておくといいでしょう。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#2

ashitani

総合スコア1

投稿2023/07/09 06:56

#1 ご回答ありがとうございます。

そうですね、それはシステム開発ではよくあることですね。
.NET Framework4.8 → .NET6 が新技術とまで言えるかどうかも色々と考えました。

あと、今現在も私自身もVB.NETの開発を行っており、他にも現場で日々VB.NETで開発を行っているメンバーもいます。それを「オワコン」という表現で書かれるのは気分が良いものではありません。
実際、VB.NET案件を新規で取ってくる営業も沢山います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#3

Zuishin

総合スコア28660

投稿2023/07/09 07:02

オワコンというのは、VB.NET のバージョンアップが終わり、新しい .NET への対応も否定されたことに対する評価です。
いくら不愉快でも、メーカーによるサポートが無くなったことは事実として認める必要があります。

.NET Framework4.8 → .NET6 が新技術とまで言えるかどうかも色々と考えました。

新技術です。
可能な限り互換性を意識して作られてはいますが、.NET Framework は Windows 用であり、.NET 6 はクロスプラットホームであることから、互換性の無いところも色々あります。
上位バージョンとは思わず、移行は移植と同義と思ってください。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#4

ashitani

総合スコア1

投稿2023/07/09 07:19

#3

VB.NETは言語使用として発展していくものではないというMicrosoftの評価は知っています。
不愉快なのは貴方様が「オワコン」と表現されたことであって、Microsoftの評価ではありません。
普通に「言語使用としてこれから発展しない」と書かれればと思ったまでです。

>メーカーによるサポートが無くなった
言語として発展しないのとサポートが無くなったのとは同義でしょうか

>上位バージョンとは思わず、移行は移植と同義と思ってください
新規案件ですが、それについてもそうでしょうか?

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#5

Zuishin

総合スコア28660

投稿2023/07/09 07:24

じゃあ面倒なのでオワコンじゃないでいいです。
.NET は数年ごとにサポートが切れますが、新しいバージョンが出ても VB.NET はバージョンアップされないので一部機能が使えません。
そのリスクを承知で使ってください。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#6

hqf00342

総合スコア273

投稿2023/07/10 13:44

「Windowsのみがターゲット」「パフォーマンスを気にしない」のであれば.NET Frameworkでもよいと思います。
むしろ「OSに標準インストールされている」「ライフサイクルが長い」ことに優位性があると思います。

私個人はWindowsメインでなくなっていることもあり.NET6/7+C#がデフォルトです。
WPFも今積極的に採用する理由は少ないと感じますし、業務アプリなら今は単体アプリよりもWebベースのほうが多いのではないかと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#7

ashitani

総合スコア1

投稿2023/07/10 15:31

#6
hqf00342 様
ご回答ありがとうございます。

>「パフォーマンスを気にしない」
逆に.NET6でパフォーマンスが良くなる点については気になるところですね。
実際に同じアプリケーションで.NET Frameworkとの比較ができる訳ではないかも知れませんが、
エンドユーザーさんに対して.NET6を勧める要因の1つとなり得ます。

.NET6がサポート切れになった際にそのアプリケーションのリプレイス作業が上手く実行出来れば、
(機能追加や改善などを上手く絡めて進められれば)、エンドユーザーさんを巻き込んで上手く進めることが出来るのかなという思いも少しはあります。
.NET6のリプレイスの実績などないでしょうから、どのようなものになるのか分かりませんが。

>業務アプリなら今は単体アプリよりもWebベースのほうが多いのではないか
そうなんですか?
私の方は業務アプリの入力作業はWindowsフォームアプリの方が断然優れているのだと思っていました。

ちなみにWebベースとはどのような開発環境でしょうか?

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#8

hqf00342

総合スコア273

投稿2023/07/10 18:04

.NETのパフォーマンス改善は公式blogに詳細があります。

Performance Improvements in .NET 6
https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-6/

Framework4.8との比較が数多く出ていますが、これらは.NET Core2.NET Core2.1.NET Core3.NET 5.NET 7と積み重ねられており、クラス/メソッド追加だけでなくGCやJIT、Linq、正規表現、Task、async/await、リフレクション、ファイルI/O、文字列処理、for/foreachループに至るまで、速度とメモリー利用量を中心に膨大な改善を見ることができます。
逆に作るアプリにこれらの恩恵が少なければ、.NETを選択する理由は薄いのではないでしょうか。

私の方は業務アプリの入力作業はWindowsフォームアプリの方が断然優れているのだと思っていました。

断然優れている技術があればそれを選択されればよいかと思います。
極論を言えば3270や5250の画面のほうがいいというユースケースもあるでしょう。

Web開発は.NETならASP.NETですが、他も興味があればお調べください。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

#9

ashitani

総合スコア1

投稿2023/07/11 05:05

#8
パフォーマンスのリンクのご提示ありがとうございます。
確かにクロスプラットフォームだけでは恩恵と言えないですよね。

Web開発は随分と前にASP.NETとASP.NET MVC の開発を少しやったきりなので
現状をお聞かせ頂き参考になりました。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問