ASP.NET Core 跨平台开发到实战(一)

介绍:

ASP.NET Core 是一个新的开源和跨平台的框架,用于构建如 Web 应用、互联网(IoT)应用和移动后端应用等连接到互联网的基于云的现代应用程序、

ASP.NET Core 应用可运行于 .NET Core 和完整的 .NET Framework 之上

构建它的目的是为那些部署在云端或者内部运行的应用提供一个优化的开发框架。

它由最小开销的模块化的组件构成,因此在构建解决方案的同时可以保持灵活性。

我们可以在 Windows、Mac 和Linux 上跨平台的开发和运行自己的ASP.NET Core 应用。

ASP.NET Core 开源在 GitHub(http://github.com/aspnet/home)上。

.NET Core 是.NET Framework 的新一代版本,是微软开发的第一个具有跨平台(Windows、Mac OSX、Linux) 能力的应用程序开发框架,未来也将会主持FreeBSD 与 Alpine 平台,是微软在一开发发展时就开源的软件平台,它也经常被拿来和现有的开源.NET 平台 Mono 比较。

由于.NET Core 的开发目标是跨平台的.NET平台,因此.NET Core 会包含.Net Framework的类库。

与.NET Framework 不同的是,.NET Core 采用包化(Packages)的管理方式,应用程序只需要获取需要的组件即可。

与.NET Framework 大包式安装的做法截然不同,并且各包亦有独立的版本线,不同硬性要求应用程序跟随主线版本。

.NET Core 由许多项目所组成,除了基本的类库(Core FX)外,还包含了采用RyuJIT 编译的运行平台 Core CLR 、编译器平台.NET Compile Platform、采用AOT编译技术运行最优化的包Core RT(.NET Core Runtime),以及跨平台的 MSIL 编译器 LLILC (LLVM-based MSIL Compiler)等项目。

同时,微软也发展了一个构件技术文件的平台docfx,并运用于.NET Core 的文件网站。

1.RyuJIT

RyuJIT是微软发展的新式既地编译器(Just-in-time Compiler),用以替换现有的.NET Framework的JIT以及JIT64 既地编译器。

根据微软公布的测试报告,RyuJIT的性能较前一代的JIT提升了约25%,并支持SIMD(Single Instruction,Multiple Data)技术。

RyuJI同时应用于.NET Framework 4.6 以及.NET Core.

2.Core CLR

 Core CLR 移植了.NET Framework的CLR的功能,包含核心程序库mscorlib、JIT编译器、垃圾收集器(GC) 以及其他运行MSIL所需要的运行期环境。

3.Core RT 

Core RT 是以AOT(Ahead-of-time)编译方式为主的核心功能,在.NET Core 内称为 Core RT,在UWP(Universal Windows Platform,通用应用平台)则被称为.NET Native。

CoreRT 会在构建时期(非运行期)在编译时将MSIL转换成平台本地的机器码,以优点是引导时间短(JIT采用的是运行时期编译,使得引导时间拉长),并且内存用量少。

CoreRT 在不同的平台会使用不同的AOT技术:

 A:Windows 上使用的是.NET Native。

 B:Mac OSX 与Linux 上使用的是LLILC(同时支持JIT和AOT)。

4.LLILC

LLILC(LLVM-based MSIL Compiler,英文发音为“lilac”)是.NET Core在非Windows平台的MSIL编译器,基于ECMA-335(Common Language Infrastructure)的标准将MSIL编译成源生码运行,适用于可运行LLVM的操作系统,例如:Mac OSX 与 Linux操作系统。

LLILC同时支持JIT(内含RyuJIT的实现)和AOT(未来将开始支持) 的编译方式。

5.Roslyn

.NET Compiler Platform(项目代码为Roslyn)是将.NET平台的编译架构标椎化的平台,它可提供程序管理工具(如集成开发环境)相当多的情报,用以发展有助于编写程序与管理程序结构所需要的功能,如类型信息、语法结构、参考链接、语义、编译器、自动化、错误回报等功能,只能是遵循CLI标椎的编译语言,都可以利用.NET Compiler Platform实现编译器,让程序管理工具能够实现如语法提示、语法自动完成、关键字高亮等可视化功能。

.NET Complier Platform 可同时支持.NET Framework4.6以上版本.NET Core 也原生支持。

.NET Core SDK 下载

.NET Core1.0发布以后,微软发布了一个新的dotnet官网:http://dot.net

我们可以访问官网,下载安装SDK及tool。

https://dotnet.microsoft.com/download

安装好以后我们可以执行dotner命令,来确定是否安装成功。打开命令提示符,输入:dotnet --info。

猜你喜欢

转载自www.cnblogs.com/jstblog/p/12894889.html