看到很多Windows开发人员,尤其是C++程序员思维还是停留在XP操作系统,当然根据工作是否需要新知识 ,这本身没有错。但是实际上Vista之后的Win7, 再之后的Win8 ,Windows已经发生了很大的变化,我们程序员也该了解和适应这些变化。先看看Windows的发展历史:
从上面的图,我们可以看到大概时间点:
Win 95: 1995
Win 98: 1998
Win 2000: 2000
Win XP: 2002
Vista: 2007
Win 7: 2009
Win 8: 2012
Win 8.1 (Windows Blue): 2013 ?
从上面的图我们可以看到,Windows每次大的改动后通常都会有2个版本 ,而后一个版本通常会取得巨大成功,Win98, WinXP, Win7的成功已经证明这一“规律”,如果不出意外,Win8.1应该也会成功。
我们也可以看到XP作为Windows历史上最成功的操作系统,在近10年里一直占有统治地位, 现在仍有挺大的用户量。但是随着Win7的成功,XP的用户量正在逐步下降, 新的电脑现在一般都自带Win7或是Win8系统,我们的应用程序也该适应新的系统。当然, 微软一直在系统的兼容性方面做得很好 ,我们的应用程序一般不用改动就可以直接运行在新的系统上, 但是如果要使我们的程序在新的系统上更有竞争力 ,我们的程序就该充分利用新系统的一些特性。
下面我们简单列举一下Vista(Win7 )相对于XP,对开发人员的一些变化:
Direct2D: 微软下一代替代GDI/GDI+的2D渲染API, 充分利用了GPU硬件加速。
Session 0 Isolation:XP时代服务程序和一般普通应用程序都运行在Session 0 中, Vista之后只有服务程序运行在Session 0, 第一个登陆用户运行在Session 1。
Ribbon:新一代office的界面风格, 主要是去掉菜单, 为支持触摸做准备。
Taskbar: 创建Win7 风格的任务栏图标
我们可以看到Win7相对于XP的主要进步在于界面炫和安全性, 这2者对操作系统来说都是很重要的。
上面主要考虑的是操作系统的特性, 如果再加上 .Net 的变化, C#, F#, WPF(WindowsPresentationFoundation), WCF (Windows Communication Foundation), WWF(Windows Workflow Foundation)等, 变化就更多了。
尽管Win8刚出来时很多用户不买Metro模式的帐, 觉得 它是一个怪胎,但是新生事物总有一个被接受的过程, 我们也可以看到微软应该不会放弃它。因为ARM版的Win8, 传统Desktop模式下都没有开放开发接口, 也就是说我们在Arm版的Win8 下只能开发Windows Store App。当然X86下的Desktop因为这么多历史软件的原因,应该会长期存在, 但是如果你要开发同时支持X86和Arm的程序, 你只能用Windows Store App。所以我们可以看到WinRT其实是一个很重要的东西, 它统一了PC,Tablet和Phone,是微软下一代面向对象的开发接口, 甚至WinRT同时支持HTML开发, 它还统一了Native和Web。
另外,如果关注MSDN杂志, 我们会发现, 上面.Net相关的文章出现的越来越少, 而Phone和AZURE字眼的文章出现的越来越多, 这其实也说明了为微软的战略已经从.Net转移到了移动和云服务。实际上从2010年开始,微软就开始推广他们的云服务平台
Windows Azure。我们可以试想一下我们以后的程序(实际上很多已经这么做了), 客户端前台基于WinRT, 直接跨各种类型的用户终端, 而后台调用
Windows Azure提供的云服务。
很多人说跟着微软跑真累,确实如此。 但是回头来想想, 那是因为你一直落后, 你一直在追赶, 你一直是被赶着走的, 所以你会觉得累。如果你一直是与微软起头并进, 甚至领先与微软(微软新加的东西是你意料到的), 你就不会有累的感觉,有新东西出来, 研究下原理, 写些测试代码,就大概知道怎么回事了。
记得有本书上说过(好像是<<代码大全>>),程序开发人员的知识每隔3年, 就有一半被淘汰。 可能有些夸张, 但是从Xp到Win7 到Win8, 已经过了10多年,隔了2代了, 是时候更新下自己 的知识了。当然, 有些新知识可能只是壳,也有些新知识却是质, 把握本质和原理的东西永远是最重要的。
posted on 2013-07-18 00:05
Richard Wei 阅读(3115)
评论(8) 编辑 收藏 引用 所属分类:
win8 metro