質問: JAVAからC#に乗り換えようと思っています。JAVAではGUIを作るのにJAVA FXを使えばよかったのでそこまで悩まなかったのですが、新言語を学ぶにあたって色々調べて見たところ、C#でGUIを作ろうとなると、windowsの世代別によって、「win32]」、「windows form」、「WPF」、「WinRT」など様々な形式があることがわかりました。 それだと、書き方もそれぞれ異なるので、ものすごくめんどくさいなと思っていたのですが、偶然C#を最初から機械語までコンパイルしてくれる「.NET native」というものを見つけました。 そこで勝手な想像なのですが、「UWP」では、「windows10」専用アプリしか作れませんが、「.NET native」で機械語までコンパイルできるので、旧世代のwindowsOSでも動かすことは可能ではないかと思いました。 タイトル通りの疑問なのですが、実際にそのようなことは可能なのでしょうか?JAVAは対象のパソコンに、バージョンが対応しているJAVAが入っていれば動かすことができるので勉強していたんですが、c#はどうもそのようには行かないようなので悩んでいます。
回答: .NET Native は実行する時のライブラリを動的リンクから静的リンクに切り替える程度の物です。 ですから、動かせるプラットフォームは変わりません。 JAVA に近いのは .NET Core になりますが、クライアントGUI開発をサポートするのは次期バージョンの3.0以降になります。