惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 聂微东
MyScale Blog
MyScale Blog
The GitHub Blog
The GitHub Blog
C
Check Point Blog
M
MIT News - Artificial intelligence
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
DataBreaches.Net
大猫的无限游戏
大猫的无限游戏
D
Docker
Last Week in AI
Last Week in AI
IT之家
IT之家
F
Fortinet All Blogs
A
About on SuperTechFans
P
Proofpoint News Feed
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
B
Blog RSS Feed
博客园_首页
月光博客
月光博客
博客园 - 司徒正美
Y
Y Combinator Blog

博客园 - 中尉

创建多个Oracle数据库及相应的实例 DB2和Oracle区别 宝化项目结题 用户中心 - 博客园 用户中心 - 博客园 用户中心 - 博客园 VB.NET and C# Comparison Java and C# Comparison 小小议下WINFORM应用框架开发(一) 整合TextBox与Label 创建新控件--EFLabelText 摩斯密码 用户中心 - 博客园 用户中心 - 博客园 ProC连接Oracle 关于博文转载 如何成为优秀的软件人才 休息下 从DLL中加载启动窗体 关于系统设计分层
开源后的.Net 如何选择使用
中尉 · 2017-02-13 · via 博客园 - 中尉

 .NET是跨平台的开发栈。它有一个标准库,称为.NET Standard Library,其中包含了大量的APIs。这个标准库由各种.NET运行环境实现:.NET Framework、.NET CoreXamarin-flavored Mono

1:.NET Framework就是现有的开发人员一直使用的.NET Framework。它实现了.NET Standard Library,就是说任何仅依赖于.NET Standard Library的代码都可以在.NET Framework上运行。它包含了其他Windows专用的APIs,比如说用于Windows桌面开发的APIs如Windows Forms和WPF。.NET Framework针对构建Windows桌面应用程序进行了优化。
2:.NET Core是针对服务器工作负载优化的新的跨平台运行环境。它实现了.NET Standard Library,就是说任何使用.NET Standard Library的代码都可以在.NET Core上运行。该运行环境适合新的Web开发栈ASP.NET Core使用。它是现代的、高效的并为处理大规模的服务器和云工作负载设计的。
3:Xamarin-flavored Mono是Xamarin应用程序的运行环境。它实现了.NET Standard Library,就是说任何仅依赖于.NET Standard Library的代码都可以在Xamarin应用程序上运行。它包含了其他iOS、Android、Xamarin.Forms和Xamarin.Mac使用的APIs。它针对在iOS和Android上构建移动应用程序进行了优化。 

 当谈论到选择运行环境的问题,选择方式应该是这样的:
1:.NET Framework是以Windows为中心的框架,为Windows开发人员提供最好的服务。如果你正在搭建Windows为中心的应用程序,请你选择它。
2:.NET Core是云优化引擎,它是跨平台的。它使用相同的高性能JIT编译器,但在所有支持的操作系统(Windows、Linux、macOS)上运行代码。它没有特定的Windows APIs,因为这有悖于跨平台的目标。
3:Mono是用于移动应用和Apple平台(Android、iOS、watchOS、tvOS)的运行环境,用于游戏控制器和Unix桌面应用程序。 

什么应该用于你的新项目呢?这取决于你的需求。

Windows桌面应用程序?请使用.NET Framework,就像你之前一直做的一样。

服务器或Web应用程序?请使用ASP.NET Core,运行在.NET Core上。

移动应用程序?请使用Xamarin。

类库和NuGet包?请使用.NET StandardLibrary。

使用标准库对于在你的所有应用程序中共享代码非常重要。