在 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,是的,微软变了,我们期待一个更加开放的微软。
评论