Windows8 + Visual studio 11 体验报告

来源:互联网 发布:网络购物管辖法院 编辑:程序博客网 时间:2024/05/21 01:52

  经过了西大的“龟速”校园网4天的下载,今天终于算是把Win8下下来了...作为Windows平台的死忠开发者,深表惭愧..体验了一段时间,加上网上之前的一些评论,放一篇日志来评价一下Win8的初试感觉。文章分为 “Windows8 用户体验”和“Windows8开发者体验”两部分。在用户体验部分,着重分析了Metro这一新的用户体验。而在开发者部分,则着重分析了Visual Studio 11的一些改善和IE10浏览器对HTML5和CSS3的支持情况。


    再次感谢微软亚州研究院的yincheng01以及好友@马玉琢,分享精神永远值得学习。

Windows8用户体验


1.安装
   Win8的安装和Win7没有太大的区别,我把它装在了VM里(要安装在VM8里,如果是VM7安装时会显示HAL_INITALIZATION_FAILED,硬件抽象层初始化失败。原因是因为VM7没有对ReFS文件系统HAL的支持虚拟机。其次在VM8设置中关闭FloppyDisk,否则在安装初期会因为装载floppy.flp文件而导致失败),分了40G空间。要一定说有什么区别,可能就是Win8的引导界面用户体验更高了,以文字为主,简洁明了。除此之外,Win8的安装速度是非常不错的,整个安装过程15分钟左右。

2.开机
  Windows8系统盘只占用了8.7GB,比之前的开发者预览版和Win7都要小,在系统开机进程上Windows8为23个,启动内存为360MB,Windows7不知道是多少个,但是开机速度明显比Win7要快了,不过关机时间略微慢一些。

                                                          登陆界面
3.关于Metro
由于是运行在VM中,Metro感觉有些吃力,滑动干没有IOS那么流畅。

                                                                Metro主界面

                                                  传统的对话框变成了这样的风格

                                                            相册

                                                  音乐界面(好友提供)

                                                   人人网(好友提供)

                                                                    应用商店

                       
 
 4.网络

Win8的无线连接功能无疑又上了一个台阶,细化了802.11内部协议,测试无线热点链接不超过1秒,质的飞跃。
 
 

 


 
 

Windows8开发者体验


对于开发者来说,无论是系统级程序员还是应用级程序员,Win8都将是一片新大陆。新的文件系统ReFS,全新的API,全新的Metro,C++的王者回归,JavavScript+HTML5的本机代码。任何一项对于Windows开发人员来说都是需要重新学习的,同时也是充满机遇的。
首先来看一下Win8自带的IE10 SP3对HTML5和css3的支持情况:
CSS3:
css region
css3多列
Flexbox
grid
定位浮动(positioned float)
3D变换(3D transfrom)
动画(animation)
渐变(gradient)
text-shadow
去掉样式表限制——在IE9之前的版本中,每个页面最多只能加载31个样式表文件,@import也只能最多嵌套4层,IE10中去掉了这些限制。
HTML5:
脚本同步——script标签的async属性,用来定义脚本是否异步执行
File API
History
Parsing
表单验证(form validation)
progress和range控制——其实也可以看作HTML5表单中的功能
web workers
web sockets
拖拽(drag and drop)
应用缓存——application cache,也就是离线存储,不过需要注意的是W3C更新了离线存储配置文件的扩展名,之前是ooxx.manifest,以后要用appcache扩展。
spellcheck
频道通信(channel messaging)
其它
Indexed Database
Web performance API
SVG 滤镜效果
嗯,新东西很多,看起来还是很给力的。
需要注意的是,IE10对CSS3新特性的支持,大部分还是需要-ms-前缀的。
以下是这些特效在Web上的应用
 

http://mudcu.be/labs/JS1k/BreathingGalaxies.html


 

http://www.openrise.com/lab/FlowerPower/
 

http://www.airtightinteractive.com/demos/processing_js/noisefield08.html
 

http://hakim.se/experiments/html5/blob/03/

Visul Studio 11
对于开发者来说,Windows8与Visual Studio 11一定是紧密不可分的。VS11主打一下九大新功能。
* 项目兼容
* 高效的IDE
* 随处搜索
* 工具栏升级
* 附加工具
* 多显示器支持
* 性能提升
* 新的项目类型
* 可扩展性
1.项目兼容(Project Compatibility)
Visual Studio2011的向下兼容性让你不再犹豫升级你的Visual Studio2010。过去每次升级Visual Studio总会修改你打开的项目文件,有时候甚至只是修改一下版本号,就让你的项目不再被兼容,虽然在个人使用时并没有什么大问题,但在团队工作时却会造成大麻烦,只能让整个团队同时升级到相同版本。而现在,当你把你的Visual Studio 2010 sp1升级到Visual Studio 11时,不再会对团队造成影响,因为Visual Studio 11使用的.NET4.5框架不会修改旧的项目文件。虽然仅仅支持Visual Studio 2010 sp1互通,却仍非常实用。
2.更高效的IDE(IDE Productivity Improvements)
不管你是使用哪种编程语言编程,相信你都会很快注意到这些高效的功能,也许你会感到很熟悉,因为很多功能在集成了Productivity Power Tools扩展的Visual Studio 2010中已经看到。或者你没有试过Power Tools,但是使用过Eclipse,相信对此也会非常熟悉。首先,解决方案管理器有了很大的修改,它不再只是文件的索引,它可以直接在解决方案管理器中查看对象的结构。比如,你可以展开一个CS类来直接查看它的成员并且直接打开文件相应位置。在类成员上右键就会出来这个成员的call hierarchy菜单,一般来说,这个菜单会包括它的基类、衍生类以及在项目中被引用情况,通过点击菜单中不同的选项来查看或编辑文件相应的位置。正如你所想的那样,双击要查看的节点就会打开节点所对应的文件位置。强大的新的解决方案管理器还提供了预览功能。点击解决方案管理器的节点就会打开一个文档的预览。这样,当你只是想预览一些文件时就只会在一个公共Tab(标签页)中进行预览而不会打开过多的无用Tab。当然你也可以点击预览Tab的Promote按钮或者对它进行手动编辑从而将它变成普通Tab。
 

3.随处搜索(Search EveryWhere)
在Visual Studio2010中虽然已经集成了简单的搜索功能,作为前三受欢迎的功能,在Visual Studio11中必然会着重优化。
目前已知提供搜索功能的部分:解决方案管理器、扩展管理器、快速查找功能、新的测试管理器、错误列表、并行监控、工具箱、TFS(Team Foundation Server)团队项目、快速执行Visual Studio命令。
 

4.工具栏的改进(Toolbar improvaments)
 
最显眼的莫过于增加了快速启动搜索框,可以直接输入快速命令。只要键入关键字就会在下拉列表中提示可用命令。甚至可以在其中找到工具菜单。
 
5.附加工具(Addtinal Tooling)
Visual Studio新增了几项新工具都非常引人注目。Visual Studio 11 IDE集成了Expression Blend,极大方便了XAML相关应用的开发。此外Visual Studio 2011提供了一个崭新的代码克隆分析工具,相信VSS的老用户会非常熟悉,但是这个新版本不仅集成在Visual Studio 11中,而且功能相当完备。
 
6.支持多显示器(Multiple-Monitor Support)
Visual Studio 2010虽然已经开始支持多显示器,但仍有不少问题。Visual Studio 2011提供了强有力的多显示器支持。和新的IE一样,当你把一个Tab拖到另一个显示器上时,它会自动创建一个IDE,你可以轻松地把自己的项目移动到另外一个显示器中折叠起来。
 
7.性能优化(Performance Enhancements)

Visual Studio 2010中有一个没怎么引起注意过的多项目并行Build功能,但只局限于C++,现在在Visual Studio 11中,已经不用再受编程语言约束了,不论你是用什么语言(Visual Studio 11支持的)开发的,都可以畅快地体验并行Build的效率。从此可以在“最大并行数”中来管理最大并行项目数。Visual Studio 11中msbuild.exe不复存在,而且由于Visual Studio 11中Build过程也不再在Devenv.exe进程中进行,所以Visual Studio 11编译时还将会获得更好的UI反应和更低的内存占用。Visual Studio 11中,最大同时进行的Build数默认是等于CPU核心数的,不建议你手动修改这个值,因为可能会造成不必要的矛盾的编译结果。

8.新的项目类型(New Project Types)

从专业的角度来看是否应该从一款Visual Studio 转向另一版本的Visual Studio ,很重要的一点就是比较项目类型。新的Metro风格的项目毫无疑问是Visual Studio 11的主推功能。包括Application, Grid Application, Split Application, Class Library 和Unit Test Library。另外一个 Visual Studio 11 就是JavaScript,包括Blank Application, Fixed Layout Application, Grid Application, Navigation Application 和Split Application。当然,这些新功能只能在Windows8环境下使用。值得注意的是,这一版本还是支持窗口程序的,Silver Light也依然存在,仍然是Visual Studio所支持的平台之一。还应该注意到是,Visual Studio 11甚至包含了便携库,这允许跨平台的Silver Light和标准.NET的跨平台开发。另一个很具代表性的特色就是,所以的新功能都支持C++开发,使用C++来开发Metro界面。但是,Visual Studio 11将不再支持.NET2.0以下平台,很较早的程序需要重新。

其它具体的项目类型的支持差别请查看文章所附的大图。

9.可扩展性(Extensibility )

Visual Studio 11提供了相当多的插件来帮助更简单地操作。

Visual Studio Package: 提供旧版本Visual Studio 视图的插件

C#/Visual Basic Item and Project Templates: 定制的文档和项目模板

Editor Classifier: 自定义文本高亮支持

Editor Margin: 支持自定义编辑器"margins" UI

Editor Text Adornment: 支持编辑器自定义图片装饰

Editor Viewport Adornment: 支持画板的自定义图片美化

VSIX Project: Visual Studio 11的可扩展性在Visual Studio Gallery中的体现

Windows Presentation Foundation/Windows Forms Toolbox Control: 客户端UI的自定义控制
Visual Studio 11还提供了新的API接口用来开发插件。和之前透露的一样,包括可以使用第三方单元测试工具(XUnit and NUnit)和定制的代码分析工具。这是微软开放IDE扩展的一个信号,特别是面向开源工具。
微软在做了众多改进后却删减了一个相当重要的特性——宏!根据微软的报告,因为只有很少的的用户使用过宏,所以Visual Studio 2011 中并不会默认引入宏,但Visual Studio 11将可以通过扩展包引入自定义功能。
从开发者的角度来看,我们希望Visual Studio 能够很好地改善开发效率,在这方面,Visual Studio 11并没有明显的改进。但在其他地方,Visual Studio 11做了很多改进,比如:SearchEverywhere、真正的多显示器支持、先进的代码克隆分析工具,以及解决方案管理器。明确地把重构过的测试功能也集成了进来,并且把测试窗口全都统一到同一个单元测试资源管理器中。
下面是Visual Studio 11和Visual Studio2010支持的项目类型的详细比较:
 
以下摘自微软MVPyincheng01的博客,开发第一个C++ Metro 程序:

微软公布了Windows8开发人员预览版,
http://msdn.microsoft.com/en-us/windows/home?ocid=ban-f-cn-dca-Sep-Win8Build
  大家可以在虚拟机上安装。比如 virtual Box4.12.
安装完成以后效果如下
 

创建第一个Windows8应用程序,

 
 

Visual Studio 11效果如下
 

 
设计下列控件

 
 

针对程序进行命名
 

双击button,插入下列代码,
 
 

按下F5,运行效果如下
 

虚拟机运行效果如下