none
.NET 5/.NET Core 3.0について RRS feed

  • 質問

  • いろいろな記事が出ていますが、.NET Core, .NET Framework, Xamarin, Monoを1つにまとめたフレームワークが「.NET 5」であると理解しています。

    .NET Framework 4.8で動作するWindows Formsアプリケーションのソースコードを.NET 5でビルドすると、macOSで動作するアプリケーションも作れるようになるという理解でよいのでしょうか?

    また、現在開発中の.NET 3.0はWindows Forms/WPFが実装されるようですが、macOSでは動作しないもののようです。これは、正式版でも同様でしょうか?

    これまで長年Windows Formsに慣れ親しんできたので、このノウハウを活かしたクロスプラットフォームの開発ができると大変ありがたいのですが...

    なんらかの情報をお持ちの方がいらっしゃいましたらお教えいただけますと幸いです。

    2019年7月1日 12:58

回答

  • .NET Core 3 の Desktop Packs の話題が出たときの記事はこちらですね。
    ”Visualizing .NET Core 3" のところの画像にはっきりと、Windows-only とあります。
    https://devblogs.microsoft.com/dotnet/net-core-3-and-support-for-windows-desktop-applications/

    .NET 5 でどうなるかはまだまだ先の話ですが、.NET Core 3 の段階では変わらないと思います。
    ただ、よっぽど大きな事態の変化がない限り、他のプラットフォームへの対応の線は薄いんじゃないかなぁ…という私見です。
    たとえば、2018 年 12 月の時点で Visual Studio for Mac では no plans at this time とコメント されていますね。

    • 回答としてマーク VB User1 2019年7月2日 23:14
    2019年7月1日 14:47
    モデレータ
  • .NET Framework にあって .NET Core(.NET 5 も同様)にはないものは存在します。
    WCFなどは、独立してOSSとして別の動きはありますが、基本的には、マルチプラットフォームになることで、どこかしらで最大公約数的になるところは出てきているようです。

    WPF/Windows Forms についても、当初からあるように、少なくとも現時点でのロードマップ上では、非Windows環境に移植する予定はありません。

    ただし、要望は上がっているらしいので、将来本当にないままなのか、あるいはWPFだけ(WindowsFormsはその名にWindowsとあるように、Windows の仕組みに強く依存しているので移植が難しい)移植などがあるかなどはわかりません。

    ですが、XAML については、avalonia という別のOSSプロジェクトがあります。

    XAML ベースのもので、WPF と同じではありませんが、基本的な仕組みは一緒なので割と期待のプロジェクトだったりします。

    最終的に WPF/UWP/Xamarin.Forms みたいに、似て非なるものになってしまうのか、それとも HTML レンダリングのようにレンダリングエンジン側で環境差異を吸収してどの環境でも同じように使えるようになるのか、については未知数ですが。

    http://avaloniaui.net/


    とっちゃん@わんくま同盟, Visual Studio and Development Technologies http://blogs.wankuma.com/tocchann/default.aspx

    • 回答としてマーク VB User1 2019年7月2日 23:14
    2019年7月2日 4:53

すべての返信

  • .NET Core の Windows Forms/WPF はあくまで Windows で実行するためのプラットフォーム依存のオプションという位置づけです。
    今のところ、クロスプラットフォームとして推していくという話はないはずです。
    (Win32API 環境への依存が強すぎるのでたぶん難しいと思いますが…)
    2019年7月1日 13:02
    モデレータ
  • コメントいただき、ありがとうございます。

    となると.NET Core 3.0/.NET 5のいずれもWindows Forms/WPFはWindows専用というご見解でしょうか?


    2019年7月1日 14:29
  • .NET Core 3 の Desktop Packs の話題が出たときの記事はこちらですね。
    ”Visualizing .NET Core 3" のところの画像にはっきりと、Windows-only とあります。
    https://devblogs.microsoft.com/dotnet/net-core-3-and-support-for-windows-desktop-applications/

    .NET 5 でどうなるかはまだまだ先の話ですが、.NET Core 3 の段階では変わらないと思います。
    ただ、よっぽど大きな事態の変化がない限り、他のプラットフォームへの対応の線は薄いんじゃないかなぁ…という私見です。
    たとえば、2018 年 12 月の時点で Visual Studio for Mac では no plans at this time とコメント されていますね。

    • 回答としてマーク VB User1 2019年7月2日 23:14
    2019年7月1日 14:47
    モデレータ

  • .NET 5の各記事に共通して .NET Core / .NET Framework / Mono を統合して.NET というプラットフォームになる。Windows / Linux / macOC / iOS / Android / tvOS / watchOS / WebAssembly をターゲットにする。という事が書かれているので、てっきりWindows Forms/WPFで開発してターゲットにmacOSを指定できると期待していたのですが、過度な期待はするべきではないようですね。

    ありがとうございます。大変参考になりました。


    他の方の見解も伺っていみたいので少し時間が経った後、「回答としてマーク」とさせていただきたいと思います。

    2019年7月2日 0:02
  • .NET Framework にあって .NET Core(.NET 5 も同様)にはないものは存在します。
    WCFなどは、独立してOSSとして別の動きはありますが、基本的には、マルチプラットフォームになることで、どこかしらで最大公約数的になるところは出てきているようです。

    WPF/Windows Forms についても、当初からあるように、少なくとも現時点でのロードマップ上では、非Windows環境に移植する予定はありません。

    ただし、要望は上がっているらしいので、将来本当にないままなのか、あるいはWPFだけ(WindowsFormsはその名にWindowsとあるように、Windows の仕組みに強く依存しているので移植が難しい)移植などがあるかなどはわかりません。

    ですが、XAML については、avalonia という別のOSSプロジェクトがあります。

    XAML ベースのもので、WPF と同じではありませんが、基本的な仕組みは一緒なので割と期待のプロジェクトだったりします。

    最終的に WPF/UWP/Xamarin.Forms みたいに、似て非なるものになってしまうのか、それとも HTML レンダリングのようにレンダリングエンジン側で環境差異を吸収してどの環境でも同じように使えるようになるのか、については未知数ですが。

    http://avaloniaui.net/


    とっちゃん@わんくま同盟, Visual Studio and Development Technologies http://blogs.wankuma.com/tocchann/default.aspx

    • 回答としてマーク VB User1 2019年7月2日 23:14
    2019年7月2日 4:53

  • .NET 5の各記事に共通して .NET Core / .NET Framework / Mono を統合して.NET というプラットフォームになる。

    そういう話は聞いた・見たことがないような…。

    .NET Core が今後は .NET の世界の中心となり、.NET Core 3 の次は .NET 5 と名乗るという話 はありますが、.NET Framework を集約・統合するということではありません。
    .NET Framework は 4.8 を以て機能追加といった投資はストップし、今後は保守(脆弱性修正など)になりますので、新機能を追いかけたい・使いたいのであれば .NET Core を土台に選んでいくことになります。
    現に C# 8 の機能の一部は .NET Framework 4.8 では使えませんので。

    .NET Core を土台に移す上で大きな障害となる Windows Forms / WPF に依存しているアプリケーションを移植しやすくするということで、今回 Windows 限定で Desktop Packs として提供しているはずなので、クロスプラットフォームが理由ではないですね。

    2019年7月2日 12:56
    モデレータ
  • Azuleanさま

    そういう話は聞いた・見たことがないような…。

    そうでしたか。Googleで「.NET 5」と検索しオプションで「日本語のページを検索」とすると先頭数件の記事が「統合」という表現を使っていたものですから。

    とっちゃんさま

    なるほど。WPF/Windows Formsのマルチプラットフォーム化は計画されていないのですね。

    おかげさまで、概ね状況を把握することができました。

    この度は誠にありがとうございました。

    2019年7月2日 23:14