[翻译]为你的服务器选择正确的.NET
英文原文 By Daniel Roth
ASP.NET 5 is based on the .NET Execution Environment (DNX), which supports running cross-platform on Windows, Mac and Linux. When selecting a DNX to use you also have a choice of .NET flavors to pick from: .NET Framework (CLR), .NET Core (CoreCLR) or Mono. Which .NET flavor should you choose? Let’s look at the pros and cons of each one.
ASP.NET 5 基于跨平台(Windows,Mac和Linux)DNX,DNX本身也有基于不同的.NET运行时版本可选:.NET Framework(CLR), .NET Core(CoreCLR)或者Mono。选哪个.NET版本呢?让我们看看他们之间区别。
.NET Framework
The .NET Framework is the most well known and mature of the three options. The .NET Framework is a mature and fully featured framework that ships with Windows. The .NET Framework ecosystem is well established and has been around for well over a decade. The .NET Framework is production ready today and provides the highest level of compatibility for your existing applications and libraries.
.NET Framework是三个版本中最广为人知以及最成熟的版本。.NET Framework以Windows为载体,成熟且功能要素完备。.NET Framework的生态系统已经被应用了超过10年,并且得到了认可。.NET Framework应用于生产并且能为你的现有应用和类库提供高兼容性。(自夸得我不想翻译)
The .NET Framework runs on Windows only. It is also a monolithic component with a large API surface area and a slower release cycle. While the code for the .NET Framework is available for reference it is not an active open source project.
.NET Framework只能运行在Windows上。而且他还是一个拥有数量庞大API的(臃肿的)单一组件,发布速度还很缓慢。.NET Framework的源代码仅提供了参考阅读,并没有开源工程项目,所有它的开源还不够积极。
.NET Core
.NET Core 5 is a modular runtime and library implementation that includes a subset of the .NET Framework. .NET Core is supported on Windows, Mac and Linux. .NET Core consists of a set of libraries, called “CoreFX”, and a small, optimized runtime, called “CoreCLR”. .NET Core is open-source, so you can follow progress on the project and contribute to it on GitHub.
.NET Core 5是一个模块化的运行时和类库实现,它包含了一个.NET Framework的子集。.NET Core支持Windows,Mac和Linux。.NET Core是开源的,你可以在GitHub上跟踪它的开发进度或者作出贡献。
The CoreCLR runtime (Microsoft.CoreCLR) and CoreFX libraries are distributed via NuGet. Because .NET Core has been built as a componentized set of libraries you can limit the API surface area your application uses to just the pieces you need. You can also run .NET Core based applications on much more constrained environments (ex. Windows Server Nano).
.NET Core由CoreFx(类库集)、经过优化的非常小的运行时(Microsoft.CoreCLR)组成,并且CoreFX类库通过NuGet发布。由于.NET Core是由一堆类库组成的,你就可以根据你的应用的需要仅选择你需要的类库部分。你甚至可以将.NET Core的应用程序运行在更多受限的环境(举例:Windows Server Nano)。
The API factoring in .NET Core was updated to enable better componentization. This means that existing libraries built for the .NET Framework generally need to be recompiled to run on .NET Core. The .NET Core ecosystem is relatively new, but it is rapidly growing with the support of popular .NET packages like JSON.NET, AutoFac, xUnit.net and many others.
.NET Core的API被重新实现以支持更好地组件化。这意味着现有的为.NET Framework构建的类库需要重新编译才能够在.NET Core上执行。.NET Core的生态系统刚刚建立,但是发展迅速,已经有很多流行的应用广泛的类库支持了,比如(JSON.NET, AutoFac, xUnit.net )
Developing on .NET Core allows you to target a single consistent platform that can run on multiple platforms.
Please see Introducing .NET Core for more details on what .NET Core has to offer.
基于.NET Core开发,你在一个单一的开发平台上就能够开发出运行在各种操作系统平台上的程序。请参看Introducing .NET Core获取更多的关于.NET Core提供的功能详情。
Mono
Mono is a port of the .NET Framework built primarily for non-Windows platforms. Mono is open source and cross-platform. It also shares a similar API factoring to the .NET Framework, so many existing managed libraries work on Mono today. Mono is not a supported platform by Microsoft. It is however a good proving ground for cross-platform development while cross-platform support in .NET Core matures.
Mono是为非Windows平台实现的兼容版.NET Framework。Mono开源并且跨平台的。它也提供了一个类似于.NET Framework的API,所有很多现存的托管类库也能够在Mono上运行。Mono并不是微软官方提供支持的开发平台。但在.NET Core的成熟稳定过程中,Mono依然是跨平台开发的一个被证实过的好选择。
Summary
The .NET Execution Environment (DNX) and .NET Core make .NET development available to more scenarios than ever before. DNX also gives you the option to target your application at existing available .NET platforms. Which .NET flavor you pick will depend on your specific scenarios, timelines, feature requirements and compatibility requirements.
总结
DNX和.NET Core使得.NET的适用开发场景空前。DNX还提供了多个可用的.NET平台供开发人员做选择。选择哪种版本取决于你的特定场景,开发计划,功能需求和兼容性需求。
[翻译]为你的服务器选择正确的.NET的更多相关文章
- 【翻译】CEDEC2014 CAPCOM 照相机正确的照片真实的制作工作流
这次带来的翻译是Capcom在CEDEC2014上发表的技术美术相关的资料.资料的目的,就是在已经拥有了一套基于物理的渲染引擎的前提下,如何进行图片真实的材料的拍摄并制作为引擎里的材质,以及如何正确 ...
- 以正确的方式开源 Python 项目 - 技术翻译 - 开源中国社区
以正确的方式开源 Python 项目 - 技术翻译 - 开源中国社区 以正确的方式开源 Python 项目 英文原文:Open Sourcing a Python Project the Right ...
- 【转】关于HTTP中文翻译的讨论
http://www.ituring.com.cn/article/1817 讨论参与者共16位: 图灵谢工 杨博 陈睿杰 贾洪峰 李锟 丁雪丰 郭义 梁涛 吴玺喆 邓聪 胡金埔 臧秀涛 张伸 图钉派 ...
- 30分钟学会如何使用Shiro
本篇内容大多总结自张开涛的<跟我学Shiro>原文地址:http://jinnianshilongnian.iteye.com/blog/2018936 我并没有全部看完,只是选择了一部分 ...
- Python中的字符串与字符编码
本节内容: 前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换 一.前言 Python中的字符编码是个老生常谈的话题,同行们都写过很多这方面的文章. ...
- 【译】Visual Studio 15 预览版更新说明
序:恰逢Build2016大会召开,微软发布了VS2015的update2更新包和VS2016预览版.本人正在提升英文水平中,于是在这里对VS2016预览版的官方文档进行了部分翻译.因为VS有些功能使 ...
- sentence patterns
第四部分 推理题 1.世界上每个角落的每个人都有立场,都有背景,都有推理性,能推理出一个人语言的真意,才成就了真正的推理能力: 2.换言之,如果你能通过一个人的说话推理出其身份职业,你的推理能 ...
- Webbrowser控件判断网页加载完毕的简单方法 (转)
摘自:http://blog.csdn.net/cometnet/article/details/5261192 一般情况下,当ReadyState属性变成READYSTATE_COMPLETE时,W ...
- mysql字符集基础知识梳理
接着上一篇继续来一篇关于mysql字符设置等问题学习笔记,这篇就不说什么废话了,直接进入正题,不过还是感谢十八哥的无私分享! 我们首先看看mysql整个数据存储和读取一个流程: 连接器(connect ...
随机推荐
- 利用多写Redis实现分布式锁原理与实现分析(转)
利用多写Redis实现分布式锁原理与实现分析 一.关于分布式锁 关于分布式锁,可能绝大部分人都会或多或少涉及到. 我举二个例子:场景一:从前端界面发起一笔支付请求,如果前端没有做防重处理,那么可能 ...
- 通过NameValuePairsValueProvider对象来获取指定前缀的Key
using System; using System.Collections.Generic; using System.Linq; using System.Web.Http.ValueProvid ...
- LinQ实战学习笔记(四) LINQ to Object, 常用查询操作符
这一篇介绍了下面的内容: 查询object数组 查询强类型数组 查询泛型字典 查询字符串 SelectMany 索引 Distinct操作符 排序 嵌套查询 分组 组连接 内连接 左外连接 交叉连接 ...
- Android5.0新特性——新增的Widget(Widget)
新增的Widget RecyclerView RecyclerView是ListView的升级版,它具备了更好的性能,且更容易使用.和ListView一样,RecyclerView是用来显示大量数据的 ...
- SQL数据库基础(一)
数据库: 结构化查询语言(Structured Query Language)简称SQL: 数据库管理系统(Database Management System)简称DBMS: 数据库管理员(Data ...
- 请用fontAwesome代替网页icon小图标
1. 引言 网页小图标到处可见,如果一个网页都是干巴巴的文字和图片,而没有小图标,会显得非常简陋.下面的小图标,你是不是会经常用到? 你可能说——“我们用的都是彩色的,不是黑白的”——别着急,下面会讲 ...
- MSCRM 仪表盘 控件 数量 更改(Change the maximum no. of controls on MSCRM Dashboards )
The maximum number of controls allowed on MSCRM dashboards are 6. You cannot put the more than 6 gra ...
- 文件快速搜索工具-Everything的使用(转)
首先它是一款基于名称实时定位文件和目录的搜索工具,有以下几个优点: 快速文件索引 快速文件搜索 较低资源占用 轻松分享文件索引 实时跟踪文件更新 通过使用everything小工具,可以提高我们的工作 ...
- Arcengine实现创建网络数据集札记(一)
一 引子 网络数据集,GIS空间分析基础的理论和知识,是最短路径分析.连通性分析等其他空间分析技术的数据基础. 以往,网络数据集的研究很少,此次项目开发过程中,对网络数据集以及arcengine创建网 ...
- 在IntelliJ IDEA14中安装go语言插件
go语言的集成开发环境仍不成熟,试用了liteide,感觉很不适应,弹出菜单对程序员的干扰太大.所以就试大牌的IntelliJ IDEA,这工具本来是JAVA开发阵营的,不过它已经变为一个非常强大的支 ...