杭州.net培训
达内杭州.net培训中心

13732203138

热门课程

net编程开发语言都有多少种形式变化

  • 时间:2018-06-22 14:12
  • 发布:杭州.NET培训
  • 来源:疑难解答

.NET Framework

.NET Framework是初的.NET实现,其他所有.NET都来自它。无论是支持的API数量还是下载量,它都是.NET中大的一个。多年来,.NET Framework发布了很多版本,每个版本都增加了新的API和功能。.NET Framework由微软开发和支持,并且只能在Windows上运行。

如果你的应用程序只在Windows上运行,那么就应该使用.NET Framework。由于它支持的API数量多,因此如果选择了.NET Framework,就无需担心是否可以轻松完成一些复杂的任务。不过,如果你希望应用程序从一开始就在Windows以外的平台上运行,或者希望将来在非Windows平台上运行应用程序,那么就要考虑使用不同的.NET类型。

Mono

Mono是.NET的一个开放源代码实现,旨在与.NET Framework兼容,但可以在不同的平台上运行,包括Windows、MacOS和Linux。该项目由爱好者创建,并由Miguel de Icaza领导,他相信.NET的优势也应该被移植到除Windows之外的平台上,而实现这一目标的佳方式就是开源。Mono的管理权随着de Icaza从一家公司迁移到另一家公司:从Ximian到Novell,再到Xamarin,后到了微软。

Mono覆盖到的.NET API并不完整,但已经很好了。从.NET Framework移植到Mono非常简单,即使是在API覆盖不到位的情况下,也有相对简单的解决方法。

Mono仍然是跨平台.NET的可行之选,尽管微软似乎将大部分跨平台.NET工作转移到了.NET Core中。所以如果你对.NET的未来有所期待,应该要考虑到这一点。此外,Xamarin/微软现在似乎将他们Mono的大部分工作集中在Xamarin平台和支持iOS和Android上,尽管Mono对桌面和服务器平台的支持似乎也很活跃。总之,如果你有一个运行在Windows上的.NET Framework应用程序,并且希望你的应用程序支持Windows、macOS、Linux、BSD等平台,但只想花费很少的精力来转换你的应用程序,那么Mono可能是你好的选择。

.NET Core

.NET Core是另一个开源的跨平台.NET实现,由微软领衔。它支持Windows、MacOS和Linux。初,.NET Core是一个轻量级的实现:强大到足以支持ASP.NET和控制台应用程序,但又不会太过。后来,它扩展到可以支持Windows、macOS和Linux上的API子集,但不支持Windows特有的注册表等东西。在这一点上,API的覆盖范围似乎已经进一步扩大了,所以它几乎就像.NET Framework的翻版,尽可能完整地支持多个平台,同时避免支持微软似乎不再需要的API(如.NET Remoting)。像Windows Forms和WPF这样的UI API也不受支持(微软已经宣布下一个版本的.NET Core将支持桌面应用程序编程,包括Windows Forms和WPF,但这只适用于Windows上运行应用程序)。

由于.NET Core似乎是跨平台.NET的未来,如果你正在开发在Windows、MacOS或Linux上运行的应用程序,而且不是非Web界面(Windows Forms和WPF不可用),那么我建议使用.NET Core。它可能没有.NET Framework那么多的API,但如果你从头开始开发应用程序,则可以考虑使用这种占用较小空间的API。但是,如果你想让现有的.NET Framework支持跨平台,迁移到.NET Core可能会是一个沉重的负担,因为它可能不支持一些关键API。请注意,微软试图通过Windows兼容包等产品来缓解这种情况,Windows兼容包为.NET Core中的Windows特定API提供支持。但是,如果你使用了这些API,则仍然被锁定在Windows中,至少在.NET Core提供这些API之前是这样的,或者可以通过重写代码移除对它们的依赖。

上一篇:微服务架构的优点和不足之处分析
下一篇:答疑:Untiy开发游戏使用什么架构合适?
选择城市和中心
贵州省

广西省

海南省