ASP.NET vNext:微软下一代云环境 Web 开发框架

阅读数:3549 2014 年 5 月 16 日

话题:语言 & 开发架构

在 5 月 12 日的 TechED 大会上,微软首次向外界介绍了下一代 ASP.NET 框架——ASP.NET vNext。ASP.NET vNext 专门针对云环境和服务器环境进行了优化,并带来了“无编译”( no-compile )开发体验以及依赖注入(Dependency Injection out of box)等令人兴奋的新特性。微软员工 Scott Hanselman 在其博客中对 ASP.NET vNext 做了简单介绍。

首先使用 ASP.NET vNext,开发者可以为其应用部署单独的.NET 框架,同一服务器上两个使用不同版本库的应用不会彼此影响,并且应用可以使用针对其云计算环境进行优化的 CLR 版本。开发以可以把应用依赖定制的 CLR 以及云优化的.NET 框架构建为一个 NuGet 包。

开发者可以通过命令行工具来运行和管理 ASP.NET vNext 应用。kvm 命令可以帮助开发者操作和管理自己的应用环境,比如通过kvm list命令来查看可用的应用版本,通过kvm use version命令设置当前生效的应用版本。

ASP.NET vNext 将 packages.config、NuGet 配置(nuspec)以及项目文件(csprojs)合并到统一的项目依赖配置文件 project.json 中。在输入类库或者 NuGet 包时,开发者可以看到完整的智能提示,并且 NuGet 包会被自动下载到开发环境中。

另外一个亮点是修改代码后,开发者无需编译重启即可查看修改后的结果,ASP.NET vNext 在保证吞吐能力的同时,还为开发者提供了Roslyn的“无编译执行”特性。“无编译”即可看到代码修改后的结果这一特性也极大程度提到了开发体验。

在部署构建 Web 应用时,开发者可以将其构建为 NuGet 包,这样在应用发布后,所有的应用都会被随之部署。ASP.NET vNext 是模块化的,开发者可以自由选择框架、 自由选择 runtime、 自由选择操作系统、 自由选择文本编辑器。

ASP.NET vNext 以及 Roslyn 可以在 Mac 和 Linux 上的Mono 平台上运行。Mono 是由 Novell 公司主持的项目,该项目的目标是创建一系列符合 ECMA 标准的.NET 工具,包括 C# 编译器和通用语言架构。虽然 Mono 不是微软自己的项目,但是微软会和 Mono 团队合作以保证 ASP.NET vNext 可以在 Mono 中正常运行。

正如 Scott 所言,ASP.NET vNext 是一个全新的框架,是一个与时俱进的框架。ASP.NET vNext 也将全部开源并同时支持 Windows、Linux 和 Mac,就在前几天,微软将 ASP.NET 的多个项目放到了 Github,是的,微软变了,我们期待一个更加开放的微软。