.Net は、これまでに、 Windows 限定の .Net Framework と、 Linux などのマルチプラットフォームに対応した .Net Core という2系統に枝分かれしていた。
.Net 5 の登場で、この2系統が1つに統合される。(ただし、 .Net Framework は今後もバグフィックス等のメンテナンスは継続される。)
その上で、 .Net Framework から Windows Forms が移植されるという話だ。とは言え、 Windows Forms は Windows 版限定で .Net Core 3.0 にも既に移植されている。
ともあれ、今回は、 .Net Framework と .Net Core が一つにまとめられるという話なので期待したのだが、 .Net 5 での Windows Forms の移植も Windows 版限定となるようだ。
つまり結局、これから先の未来においても、 .Net Framework で作成された Windows 用の GUI アプリケーションの Linux への移植では、 GUI 絡みの動作の部分が丸ごと「使えない」ままということだ。ほぼそのままでマルチプラットフォーラム化できるのは、コマンドアプリのみ、ということになる。
これでは、何のためのクロスプラットフォーム、マルチプラットフォーラム化なのか分からない。
なぜ、OSに強く依存していない部分だけでも、マルチプラットフォーム環境で Windows Forms を実装しないのか。少なくない部分がそうだと思う。フォームと、主に使われるコントロールだけでも実装すればいいのに・・・。