ASP.NET 工具的提升
这次新发布的VS2015在Web开发方面做出了相当多非常出彩的更新,这里介绍其中的一部分:
JSON 编辑器
在Visual Studio 2015中,对JSON(JavaScript Object Notation)文件提供了一流的支持。我们目前还新增了强大的编辑器用来让你维护JSON的内容。有了JSON Schema验证、智能感应功能(Intellisense)、以及对SchemaStore.org的编写支持,使得这部分工作变得前所未有的简单。我们还增加了智能感应功能支持bower.json和package.json文件用于bower和模块管理工具(npm package manager)的使用。
HTML 编辑器更新
HTML编辑器获得了重大更新。我们希望它能在紧跟HTML5标准的同时,提供对热门的新架构和库的支持。起初,我们利用ASP.NET模板与响应式Web框架完成程序的自引导,现在我们能通过智能感应功能(Intellisense)对不同的自引导CSS类别加以标注,这种标注会以不同的指示器图标来表示。
这让你在编写项目的时候,能清楚地了解不同的类别,比如上图中的pager-inner类和用B图标标注的自引导程序类。
我们还利用标注的方式,来支持新出现的网站组件标准。
我们还对AngularJS 指令和属性提供智能感应(Intellisense),并利用适宜的Angular标志来告诉你正在触发的AngularJS功能。
JavaScript Editor的提升
随VS2015一同发布的还有对AngularJS框架的支持,包括控制器(controllers)、服务、factories、指令和动画。还有支持EcmaScript 6的功能,比如分类(classes), 箭头函数(arrow functions), 和模板字符串(template strings)。我们还在编辑器里加入了导航栏,用来帮你在主要的JavaScript元素中切换。JSDoc还支持智能感应功能(intellisense),JavaScript开发也更为简单。
ReactJS Editor的支持
我们和Facebook合作,通过一段时间的努力来确保开发者在使用ReactJS框架的时候能运用最出色的功能。利用语法高亮和React函数的Intellisense,使得开发者能更轻松地利用Visual Studio来开发React应用。
对JavaScript package managers的支持(如Grunt、Gulp和Task Runners)
JavaScript和现代的网络开发技术成为热门推荐用来为Web应用编写客户端代码。而能够执行grunt和gulp task runners的Task Runner Explorer都支持这些工具和编程技术,你可以用Ctrl+Alt+Backspace的快捷键来调出这个工具。
执行任何gruntfile.js或gulpfile.js项目下的任务,可通过右键单击左侧面板中的任务名称,并于出现的菜单中选择”运行“。利用Visual Studio的这个菜单栏,你还可以在项目开发事件里添加grunt或gulp任务,比如上图中的“After Build“。每当你的Web项目里的.NET对象编译完成,这个”build“任务都会从gruntfile.js中执行一次。
有了对JavaScript和JSON编辑器的智能感应(Intellisense)支持,我们认为那些想要使用grunt和gulp任务的开发者将会从最新的Visual Studio体验中获得轻松。你可以通过新整合的npm package manager功能来添加grunt和gulp任务。当你在网站项目里创建一个package.json文件时,我们会安装并升级所有相关的packages的本地副本。除了拥有语法高亮和对package.json语句的智能感应(Intellisense)功能,我们还支持查找npmjs.org库中套件名称和版本。
与支持package.json相同,Bower 软件包管理器也同样支持智能感应(Intellisense)功能,语法高亮并支持查找bower.json文件库中的文件名和版本。
这些改进用来管理、编写JavaScript结构文件并执行grunt或gulp任务,让Visual Studio 2015的功能进一步增强,上了个台阶,也让Web开发者们愉快地工作。
ASP.NET 4.6 Runtime 改进
从runtime层面看,这次发布也包括ASP.NET上的一系列提升。
HTTP/2支持
我们从ASP.NET 4.6开始支持HTTP/2标准。这个新版本的HTTP协议能真正实现浏览器和Web服务器间的多任务响应。这种更新,如同你为启动SSL的Web项目提高ASP.NET应用的响应度一样简单。
有了SSL的支持(HTTP/2协议的要求),Windows 10上的IISExpress可以和使用最新协议的浏览器进行互动,这与从前协议之间的区别是相当大的。一起来感受在同一网站中,Microsoft Edge在使用SSL激活HTTP/2协议后和不使用SSL(仍然接收HTTP/1.X)前的不同表现吧:
两个图表,展示的都是默认ASP.NET项目模板的主页。在上边的HTTP/1.x里,前面6个元素的请求得到了响应,而最后2个元素中出现了需要等待的“灰条”时间。而在下边的HTTP/2里,页面所有的8个元素都能同时载入,无需等待。
.NET编译器平台的支持
.NET编译器平台(代号Roslyn)中支持了新的.NET编译器,它们可以让你使用全新Visual Basic和C#中的语言功能,不管是在网站形式还是MVC页面里都可以。如全新的插入字符串功能,可以通过标记让它看起来更加简单可读:
在Web Forms中编写一个链接,可以这样做:
我们把microsoft.codedom.providers.dotnetcompilerplatform NuGet Package打包提供给你们,能让大家的Web Forms编译速度明显加快,不需要任何改动你的代码或项目。
Web Forms的异步Model Binding
在ASP.NET 4的Web Forms里我们引进了Model binding,并且在.NET 4.5里引入了异步函数。我们已了解到大家希望在Web Form里执行异步model binding函数时运用新的语言功能,我们的团队让这些变成如此的简单,只要在@Page directive中加入一个async=”true”的属性,然后在你的model binding方法里返回一个Task对象就可以了:
你可以从我们的MSDN博客的 blog post demonstrating with more information and tips about this feature里找到与该功能相关的详细内容。
ASP.NET 5
我在今年2月介绍并分享了ASP.NET 5以及相关的更新。因此在这里强调一些它的亮点,完整的了解请点击 Introducing ASP.NET 5 。
当你host Web应用时,ASP.NET 5、.NET核心以及完整的.NET框架可以赋予你强大的灵活性。在ASP.NET MVC 6中,我们将众多来自MVC、Web API和Web Pages的功能整合到了一起。在ASP.NET 5里,我们把从Katana学到的经验引入其中,满足新的HTTP请求过程,这样你就可以通过选择策略,只添加你需要的组件。此外,这次还发布了包含很多能提升效率并开发更优秀Web应用的多重开发功能。ASP.NET 5也是开源的,你可以在GitHub 里找到,了解和下载代码,上传变更并追踪每一次变化。
ASP.NET 5 Beta 5 runtime packages目前还是预览阶段,不推荐投入生产。所以你还需要继续使用ASP.NET 4.6作为你的应用生产环境。了解最新ASP.NET 5 beta版本的更新、新增和修复等功能,请访问GitHub 上的published release notes for ASP.NET 5 beta 5,如希望使用ASP.NET 5请访问 docs and tutorials on the ASP.NET site。
了解所有关于ASP.NET的更新和教程请前往www.asp.net/vnext 里的Webdev blog 博客。
Entity Framework
这次的发布内容中,不仅包含Entity Framework 6的bug修正与社区贡献的更新,更发布了Entity Framework 7的预览版:
Entity Framework 6.x
Visual Studio 2015包含Entity Framework 6.1.3,主要在于bug的修复和社区贡献上;你可以在这篇博客里找到具体改动的地方: EF 6.1.3 announcement blog post,而Entity Framework 6.1.3 runtime也有一些调整。在EF 6.1.3中,用Entity Framework的工具创建一个新模型时,未安装EF runtime的话则会自动安装。另外,在新的ASP.NET项目里,runtime也是根据你选择的项目模板来自动安装的。
了解有关Entity Framework的更新,请访问 ADO.NET blog。
Entity Framework 7
Entity Framework 7目前还是预览版,并不能投入正式生产环境。这个新版本可以支持新平台和新数据存储。EF7不仅可用于通用的Windows 平台、ASP.NET 5和传统的桌面应用,还能用于Mac和Linux系统的.NET应用中。Visual Studio 2015包含早期的EF7 runtime预览,在ASP.NET 5项目里可以找到。
更多关于EF7的信息,请访问GitHub page for what is EF7 all about。
小结
这次Visual Studio的发布为大家带来了巨大的革新,让我们可以很自豪地与大家分享。感谢你们一直以来,为中间版本(CTPS、Preview、RC)的发布提供了大量的反馈,我们会继续真诚期待你们的建设性意见。
希望这篇文章能帮助你们。