如你所知,微软收购了Xamarin,并和它一起负责Mono的持续开发。此外,他们将在11月发布.NET 5,这是一个跨平台的.NET框架的后续版本。他们表示,ASP.NET Core将是唯一的ASP.NET框架,他们将放弃对Web Forms的支持。
当这种情况发生时,Mono框架是否也会放弃Web Forms,还是会继续开发?
一个另类的答案。"当这种情况发生时,Mono框架会不会也放弃Web Forms,还是会继续开发?" 如果Mono要被放弃,那么你的问题可能会变得完全无效。
回滚到200x。Mono最初确实支持ASP.NET WebForms,但那时候ASP.NET 1.x2.x3.x已经简单到可以克隆了,Mono团队在其他部分没有什么可做的。我个人认为那是ASP.NET在MonoLinux上的黄金时期。然而。当ASP.NET 4.x带来许多重要的变化(async模型等)时,空白开始出现,而且许多空白从未被填补(因为团队将注意力转移到移动平台上)。.
我不知道你今天是如何在Mono上使用WebForms应用程序的,但如果你是一个严肃的用户,你可能已经遇到了大量的问题,并知道这种情况有多困难。所以 你不应该真的认为MonoLinux是运行WebForms应用程序的生产级环境,你应该回到.NET FrameworkWindows,或者完全迁移到ASP.NET Core。.
Xamarin的兴起和微软的收购极大地改变了Mono的格局。因此,Xamarin产品使用的所有东西(Mono CLR和BCL)都在不断更新,而其他的东西(包括MonoDevelop、GTK#、XSP和ASP.NET WebForms)则被留下来。由于只有Mono CLR被转移到.NET 5上,这可以看作是Mono的终结。
当然,一个开源项目是不会轻易死亡的。例如,从2020年2月开始,MonoDevelop就已经停产了,但一直有一群人在试图重振它(包括我)。但是 蒙牛能走多远不清楚,也不可靠。.
米格尔目前对未来持乐观态度,但。人云亦云.
当这种情况发生时,Mono框架是否也会放弃Web Forms,还是会继续发展?
简而言之,答案是 是的,他们也会放弃网络表格. 你应该考虑到Web Forms已被废弃--无论是在.NET 5还是即将推出的Mono运行时版本中。您将继续能够在Mono和.NET Framework的旧版本上运行Web Forms--至少在您今天能够运行的范围内--但这种支持不会被带到未来的版本中。
为了更好地理解这一点,了解.NET 5、CoreBCL、CoreCLR和Mono之间的关系是很有用的。由于CoreCLR现在可以在多个平台上工作,因此与以前由Mono处理的大部分领域重叠,这一点变得有点模糊。
在一个较高的层次上,.NET 5 将利用一个 新统一的.NET核心基础类库 (或 .NET核心BCL). 该BCL将 替换 的许多类库,这些类库以前是由各种.NET实现处理的,包括Mono。然而,Mono将继续被用来作为 运行时 在尺寸比性能更优先的环境中,如移动和WebAssembly,使用.NET 5的CoreCLR。相比之下,速度更快(但大得多)的CoreCLR将(继续)用于其他其他环境,如桌面和Web服务器应用程序。.NET Core BCL将运行在 顶端 的这些运行时。
换句话说,在.NET 5中,Mono不会像现在一样有单独的类库。所有的东西都将使用同一个基类库。而且,在此基础上,您还将为ASP.NET、WPF、Xamarin、&c等有额外的类库。这将是完全独立的 运行时 他们正在使用的类库。因此,由于ASP.NET 5不支持Web Forms,这意味着Mono也不支持,因为他们现在将使用完全相同的类库。
有一个很好的采访 Miguel de Icaza on InfoQ (Miguel是Mono的原作者,Xamarin的联合创始人,并继续指导Mono的开发。) 这本书并没有具体谈论Web Forms,但很好地澄清了Mono和.NET 5之间的关系。它并没有专门谈论Web Forms,但很好地阐明了Mono和.NET 5之间的关系。