【CLR via C#】第0章 .NET生态

最近在看CLR via C#这本书。老实说,C++也是有一段时间没怎么接触过了,大一二的时候学的也不能谓之精,在看这本非入门级详解书的过程感觉蛮吃力的。在看的过程中深感需要做一些归纳总结帮助理解,做一些知识补漏,也就萌生了写blog的想法。

需要事先声明一下,写这些的根本目的是为了帮助自己加深理解。当然,要做到这一点,也就要做到能让跟我水平类似的人能从我的blog里更好地理解这本书的内容。

书本本身是没有第0章的,第1章单刀直入CLR执行模型,其实这也让我一开始感觉蛮懵的。 在查阅了 存在morning 的blog(https://blog.csdn.net/sinat_33087001/article/details/80077103 )有了比较好的理解,也的确认为需要开这么一章来简单的介绍一下CRL在.NET生态里所处的位置。

第0章  .NET概述

1.什么是.NET?

很多人应该都在运行某些程序的时候被提示需要安装.NET FRAMEWORK X.XXX的提示然后去下载了这么一个东西。也应该有很多人误解.NET是一种编程语言。

微软官方给的定义是:.NET is a free, cross-platform, open source developer platform for building many different types of applications.(.NET是一个面向不同类型应用的免费,跨平台,开源开发者平台)

With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, gaming, and IoT.(通过.NET,你可以使用多语言,编辑器和库来开发WEB,移动/桌面应用,游戏及物联网。)

技术层面上的定义则可以这样说:一个.NET应用是一个运行于.NET FRAMEWORK之上的应用程序。更精确地说,一个.NET应用是一个使用.NET FRAMEWORK类库来编写,并运行于公共语言运行时(CLR,Command Language Runtime)之上的应用程序。

这里第一次出现了我们的主角CLR。

2.微软希望的.NET生态

①     第一层 应用模型App Model

微软的战略布局

1).NET FRAMEWORK主要应用于WINDOWS平台开发。

2).NET CORE开源,并且跨平台。微软官方声称它是.NET FRAMEWORK的一个子集。

3)XAMARIN主要应用在移动端。XAMARIN是.NET跨平台非官方社区开源项目MONO的一个分支,MONO致力于让.NET可以运行在LINUX上,而XAMARIN致力于移动端。

每一个应用模型都是一种.NET框架,它包括从顶层到运行时的一切。

②     第二层 .NET标准类库 .NET STANDARD LIBRARY

.NET标准类库不是由用户下载和安装的工具,而是一组描述API的API规范。

③    第三层 通用底层平台支持 COMMON INFRASTRUCTURE

基础设施使得第一层和第二层可以工作。它包括:编译器,语言和运行时组件,如垃圾回收期和及时编译。

运行时组件:包括MSbuild、公共语言运行时Common Language Runtime(CLR)和CoreCLR等。

④    工具 TOOLS

主要包括两个IDE:Visual Studio和Visual Studio Code(跨平台)

猜你喜欢

转载自www.cnblogs.com/asakura/p/11078623.html