一场精彩的微软平台开发者盛宴——记微软BUILD大会
从2011年9月13日到9月16日,针对微软技术的面向开发者的大会在位于美国加州的Anaheim市举行。往年的微软开发者大会名称都叫PDC(Profession Developers Conference),而今年的大会则改名为BUILD,意指BUILDWindows,因此可看出微软在为即将要推出的具有划时代意义的重量级产品windows 8造势,宣传围绕windows 8打造的新平台、新技术和新理念,号召开发者为下一代Windows平台的多点触摸技术和新的以触摸交互为中心的Metro样式应用程序作好准备。
本次大会始终围绕Windows 8主题,在第一天微软就向开发者展现了新一代Windows 8的多点触摸用户体验和新的Metro样式的应用程序的用户体验,我本来就熟悉Windows Phone平台的开发技术,发现新的开始菜单和Windows Metro样式的应用程序和Windows Phone 7平台的开始菜单和应用程序样式极为类似,新的Tile风格的开始菜单允许用户自定义布局,以多点触摸方式进行缩放,同时支持在菜单图标上显示应用程序的信息。桌面App和手机App在用户体验和风格上的类似,桌面和移动终端的App有同化的趋势。随着移动终端的性能的提升和3G网络的普及,传统互联网和移动互联网的应用在趋同,到了Windows 8的年代连App的样式也都在趋同,PC和移动终端的界限已经越来越模糊了。同时微软也宣称将要运营Windows Store,为Windows 8的桌面App开发者和最终用户提供App交易服务。针对Windows 8的App交易服务的Windows Store的上线,为Windows 8桌面开发者提供了一种新的盈利模式。在将要发布的Visual Studio11中,在一级菜单栏上直接多了一项名为"Store"的菜单,允许开发者为在Windows Store发布的App进行各种设置。微软在Visual Studio如此显眼和重要的位置中加入这个菜单,可见微软对Windows Store的重视程度。苹果AppStore极大的成功一直刺激着微软,微软从移动终端的Windows Phone7就直接复制苹果的AppStore模式,而现在在桌面领域也这样做了。
图表 1 Windows 8 Tile风格的开始菜单
新的Windows 8平台,为用户带来了全新的多点触摸式体验,为桌面App开发公司提供了新的盈利方式,在技术上,微软需要引入新的API。Windows 8推出新的Windows Runtime API(简称WinRT API)。与传统的Win32 API相比,新的WinRT API在风格上与.NET类库是一致的,WinRT API绝大部分的类都在一个全新的名为"Windows"的命名空间下,开发人员要是不看命名空间,在风格上是感觉不出来哪些类是.net的类,哪些类是WinRT的类。WinRT API是操作系统的一部分,也是Windows的API。当年用过win32 API的人,都知道当时使用Windows API是一件很麻烦的事情,而到了Windows 8年代,使用Windows API却变得如此轻松,甚至windows操作系统还能直接识别String,Int32这一类的基础托管类型,真的是开发人员的福音啊。在Windows 8下,在前台界面开发技术上,微软推荐使用两种方式:一是使用XAML,二是使用HTML 5+JavaScript。在BUILD会议上,可以看到微软对HTML5的支持作了很多努力,展示了使用HTML5和JavaScript开发的界面如何与使用C#和WinRT API进行沟通,同时在新的Visual Studio 11上针对HTML5和JavaScript作出了众多的支持。其实HTML 5在一些移动平台上已经很流行了,现在连Windows 8都加入了HTML5的大军,可以使用HTML5开发标准Windows Metro样式的应用程序,我意识到HTML5作为跨平台的标准界面技术将会大有作为。Windows 8对于HTML5的普遍支持和依赖是我在这次微软BUILD大会上最深刻的印象。
为了支持Windows 8的开发,微软在开发工具上也是进行了革新换代。新的Visual Studio 11使用Internet Explorer 10的JavaScript引擎,支持HTML 5标准,在智能提示上要比以往精准和丰富,多了几个工程模板以支持Metro样式的程序的开发。新的Expression Blend 5可以直接编辑HTML5的内容和支持针对CSS 3的编辑,当时演示到这个功能的时候激起了台下的阵阵掌声。
BUILD会议后来的两天,我根据自己的兴趣和技术方面有选择性地听各个沙龙。这完全是一次来自于微软公司内部的一线架构师和产品开发者与我们的一次技术分享和交流。我主要选取了关于Windows Azure、c#和.net framework的发展方向和新特性、Visual Studio 11的新特性以及其对于软件开发过程中的开发协作支持的新特性支持,当然还少不了去听C++方面的发展了。中间遇到几个大师,分别是Windows内核研究圣经"Inside Windows"系列的作者之一Mark Russionovich,这位大师现在去做Windows Azure的Fabric Control的架构去了;还有C++方面的大师Herb Sutter,当年在大学的时候就经常读他的著作,听过他的讲座之后,才知道这位大师原来还是一个演讲方面的专家;还有就是传说中的Delphi和C#之父Anders Hejlsberg, 我还有幸和这位大师照了一幅相片,这位大师很平易近人的。
在参加BUILD会议短短的四天中,我了解到下一代Windows 8的多点触摸新体验和Metro样式的新应用程序,以及微软下一台开始平台Visual Studio、.net framework和语言方面的新特性,还有HTML5的重要地位。.net 4.5的诸多新特性和WinRT API已经让我跃跃欲试了。我相信提前了解到这些新技术的开发人员,也会和我一样,想尽快试验和体会这些新技术的。
图表 2 和Anders Hejlsberg的合影
作者简介:
黄勇坚,国双科技的技术研发负责人,一直致力于微软技术平台上的研究和开发工作,基于Silverlight跨浏览器富交互技术和SQL Server OLAP数据仓库和数据挖掘技术,在.net平台下提供视频、Web和移动App的用户行为分析产品和搜索引擎关键词广告投放管理和优化产品及服务。
