在今天举行的微软北美技术大会(TechEd North America)上,我们对外宣布了一些将会应用到下一代.NET上的技术创新点。这其中最重要的就是ASP.NET vNext——针对云开发环境优化过的ASP.NET。我们一直在对.NET的一些核心技术进行优化,尤其是在上个月举行的Build大会上发布的 .NET Native 预编译器和 .NET Next Generation JIT (“RyuJIT”)。都有新的发布版本供你试用。我们还有一些小的宣布要与大家分享。 在上个月的Build大会上,我们宣布了 .NET 基金会。现在,我们正和超过25家基于社区的.NET项目和组织沟通,邀请他们加入该基金会。大家对基金会的兴趣远超我们的预期,这是一个不错的开始。 同样在Build大会上发布的还有 .NET Compiler Platform ("Roslyn") 。它包括一个全新的C#和VB的编译器以及一些将要添加到C# 6中的新特性。该项目是一个托管在 codeplex上的开源项目,并且已经接受了一个来自社区的pull request。 Visual Studio 2013 Update 2 现在已经提供下载了,这次更新给使用Visual Studio的开发者带来了多个意义非凡的新特,包括针对Window Phone 8.1 和通用的Window程序的工具。 在我们向前发展的同时,也要关注一下.NET当前的优势。目前,.NET大约有18亿个有效安装。无论从哪方面来说,这都是一个非常大的数字,同时这也为你的程序提供了一个广阔的运行平台。 TechEd中.NET的公告下面是我们在TechEd中分享的一些关于.NET的公告。 .NET vNext.NET vNext 作为.NET Framework的下一个重要的发布版本,第一次被我们在 TechEd 上提及。我们在TechEd和Build大会上分享了下一个发布版本中的多个新特性和组件。 你可以使用 Roslyn compilers 来编译 C# 6 和 VB,将 ASP.NET vNext 程序部署在服务器或者云端,使用 .NET Native 预编译器来编译你 Windows Store 上程序,并且可以享受由 Next Generation JIT 带来的更快的服务端或桌面程序。 针对现在比较常见的服务端优先和移动端优先的开发需求,我们对.NET做了专门的优化。用户对移动端和云端app有更高的性能需求,并且这些程序都运行在专门的硬件或虚拟环境下。我们为 Windows Store 程序提供了.NET Native 预编译器,为云端程序开发了一个云端优化模式。 .NET vNext 有一个专门为云端环境优化过的模式,该模式允许你在部署程序的时候连同他们所用到的.NET Framework的相关库一同部署(译者注:没有用到的库不会添加到里面)。由于.NET的运行时和框架中的库部署在了程序基础(app-basis)上,所以在同一台机器上,每一个程序可以运行不同版本的.NET vNext,并且可以单独升级,互不影响。这些库已经被显著的优化、精简以便减少框架占用的空间,并且将会使用NuGet来发布。在这种模式下,和WPF以及Window Forms相关的一些库已经被移除了。 我们始终以跨平台的思想来开发这个模式,在开发过程中我们和Xamarin积极合作,以确保经过云端优化过的.NET程序可以运行在装有 Mono 运行时的Mac和Linux上。.NET和ASP.NET的巨大生产力可以提供给那些使用混合开发环境的团队。 ASP.NET vNextASP.NET vNext 是我们在 TechEd 上的一个重大发布。我们已经更新了ASP.NET的诸多方面,使ASP.NET的程序更容易构建并且在性能方面表现的更好。对于这些网站和服务,我们分别考虑了访问量少的情况和访问量超多的情况。我们开辟了新的场景,这些场景之前是不会在ASP.NET中发生的。 我们设计ASP.NET的时候考虑了一些关键性的设计原则,如下所示:
ASP.NET vNext 包括MVC,Web API,Web Pages,SignalR 以及 EF 的更新版本。对这些框架所做的主要改进在于MVC, Web API 和Web Pages已经被合并成了单一的编程模型。例如,现在控制器和路由的概念已经统一在了一起。对于同一个HTTP请求,你现在可以使用一个控制器来返回MVC视图和格式化过的Web API响应。 ASP.NET vNext 程序是为云环境设计的。像会话状态和缓存这些服务,会根据程序的运行环境(云环境或普通的主机环境)来调整它们的行为,但是他们是以统一的API提供给开发者的。我们在底层使用了依赖注入的方法来让你的程序去适应不同的环境。由于我们修改了底层实现的代码,所以你可以在不修改代码的情况下很容易的将你的程序从内部部署移植到云环境中。 当你修改了web应用程序的代码之后,不用再去执行编译的步骤,直接刷新浏览器页面就能查看到修改后的效果。这项对提升生产力很有意义的改进得益于我们对底层CLR加载时间的优化以及新的 .NET编译器平台("Roslyn")。 你可以在下面的图片中看到 ASP.NET vNext 实际工作时的情况。第一张图展示了一个托管在命令行中的ASP.NET vNext 示例程序,你可以在浏览器中浏览。在Visual Studio中做的任何修改都会被自动编译,并且在下一次刷新浏览器的时候执行。该程序使用的就是.NET vNext的云端优化过的模式。 你也可以像之前使用Visual Studio那样,按F5键,Visual Studio 会自动打开一个web 服务器和浏览器窗口。下面这张图就使用的这种方法,但它的代码和上面的一样。
下面这张图中的程序已经为.NET vNext 框架重新配置过,并没有使用云端优化过的模式。你只需要设置一下项目的属性,这个程序就可以使用.NET框架提供的所有的API了。同样,你只需要刷新一下浏览器就可以看到配置后的结果了。
下面这个表格列出了一些我们已经构建了的场景以及这些场景可以使用的地方。
ASP.NET vNext 将会以开源的形式贡献给 .NET基金会(.NET Foundation)。大家不用为此感到意外,因为我们早已经把 ASP.NET Web stack 开源了。以后,所有和ASP.NET vNext 相关的东西将会通过 NuGet 发布,保持开源,并欢迎大家贡献代码。 我们在TechEd上对.NET vNext 和 ASP.NET vNext 所做的介绍只是一个开始,在我们发布最终版之前的这几个月里,我们会和大家分享更多相关内容。我们计划发布一个pre-release版本,以便收集大家的反馈。 .NET Framework 其他的一些升级和改进最近,我们发布了 .NET Framework 4.5.2。 这包括对ASP.NET,Windows Form以及其他一些产品的做的显著改进。你现在可以在你的代码中使用4.5.2中的一些新特性了。 同时,我们还给 .NET Native 和 Next Generation JIT 添加了新的功能和使用场景。.NET Native 现在除了支持 ARM 和 x64的程序之外,还支持32位的程序。Next Generation JIT 现在支持Windows 7 及以上的x64应用程序。 这些技术都是.NET vNext 发展道路上的关键部分。期待在未来的几个月中听到更多关于它们的消息。 针对多个平台 |