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

推荐订阅源

腾讯CDC
Schneier on Security
Schneier on Security
B
Blog RSS Feed
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
A
About on SuperTechFans
Recorded Future
Recorded Future
Recent Announcements
Recent Announcements
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
Hugging Face - Blog
Hugging Face - Blog
The GitHub Blog
The GitHub Blog
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
Vercel News
Vercel News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MyScale Blog
MyScale Blog
V2EX - 技术
V2EX - 技术
N
Netflix TechBlog - Medium
F
Fortinet All Blogs
V
Visual Studio Blog
Martin Fowler
Martin Fowler
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
The Exploit Database - CXSecurity.com
F
Full Disclosure
Scott Helme
Scott Helme
H
Heimdal Security Blog
博客园 - 叶小钗
Google DeepMind News
Google DeepMind News
Cyberwarzone
Cyberwarzone
Application and Cybersecurity Blog
Application and Cybersecurity Blog
V
Vulnerabilities – Threatpost
Blog — PlanetScale
Blog — PlanetScale
Security Latest
Security Latest
WordPress大学
WordPress大学
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Troy Hunt's Blog
S
SegmentFault 最新的问题
Forbes - Security
Forbes - Security
Jina AI
Jina AI
S
Securelist
小众软件
小众软件
Simon Willison's Weblog
Simon Willison's Weblog
J
Java Code Geeks
AWS News Blog
AWS News Blog
N
News and Events Feed by Topic
博客园 - 三生石上(FineUI控件)
量子位

博客园 - 中尉

创建多个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。

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