看到很多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硬件加速。
DirectWrite: 独立于分辨率的矢量字, 高质量的文本显示和布局接口。
Windows Animation Manager: 高效强大的动画管理接口。
Windows Imaging Component: 强大的图像编解码器接口, 支持各种图像格式。
Windows Touch Gestures: 支持多点触摸应用程序的开发接口。
User Interface Privilege Isolation: UAC(user access control)打开后,每个应用程序都有权限等级, 一般程序都运行在低权限,低权限程序不能控制或是发消息给高权限程序。
Session 0 Isolation:XP时代服务程序和一般普通应用程序都运行在Session 0 中, Vista之后只有服务程序运行在Session 0, 第一个登陆用户运行在Session 1。
Data Redirection: UAC打开时有些目录不让写入数据,会导致写入失败或是重定向到其他路径。
Installer Detection:UAC打开后某些应用程序可以通过manifest配置信息要求高权限运行, 运行时会有验证窗口。
Ribbon:新一代office的界面风格, 主要是去掉菜单, 为支持触摸做准备。
Windows Gadget Platform:桌面上的那些小玩意。
Desktop Window Manager(DWM): 在 Aero模式下的标题栏半透明效果, 后台用了全新的渲染合成接口。
Magnification: 开发 自己 的放大镜程序接口 。
Virtual Disk Service: 创建自己的虚拟硬盘接口。
Taskbar: 创建Win7 风格的任务栏图标 
我们可以看到Win7相对于XP的主要进步在于界面炫和安全性, 这2者对操作系统来说都是很重要的。
上面主要考虑的是操作系统的特性, 如果再加上 .Net 的变化, C#, F#, WPF(WindowsPresentationFoundation), WCF (Windows Communication Foundation), WWF(Windows Workflow Foundation)等, 变化就更多了。 
而Win8相对于Win7的变化主要是增加了Metro模式, 该模式下的程序都要经过Windows Strore验证, 这些程序本身都运行在低权限的沙箱里, 原理可以参考我以前写的《理解WinRT》, 关于WinRT的更多知识可以参考Windows API reference for Windows Store apps
尽管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代了, 是时候更新下自己 的知识了。当然, 有些新知识可能只是壳,也有些新知识却是质, 把握本质和原理的东西永远是最重要的。

XP之后Windows的一些变化的更多相关文章

  1. 渗透杂记-2013-07-13 Windows XP SP2-SP3 / Windows Vista SP0 / IE 7

    Welcome to the Metasploit Web Console! | | _) | __ `__ \ _ \ __| _` | __| __ \ | _ \ | __| | | | __/ ...

  2. Windows XP与Windows 7系统常见漏洞

    1.Windows XP系统常见漏洞 Windows XP系统常见的漏洞有UPNP服务漏洞.升级程序漏洞.帮助和支持中心漏洞.压缩文件夹漏洞.服务拒绝漏洞.Windows Media Player漏洞 ...

  3. 组件局域网中的无集线器、Windows XP、Windows 7、Windows 8的对等网

     为什么要用对等网? 答:对等网采用分散管理的方式,网络中的每台计算机既作为客户机又可作为服务器来工作,每个用户都管理自己机器上的资源. 组建局域网中无集线器的对等网 组建局域网中Windows XP ...

  4. Windows上安装配置SSH教程(2)——在Windows XP和Windows 10上安装并配置OpenSSH for Windows

    知识点汇总:http://www.cnblogs.com/feipeng8848/p/8559803.html ------------------------ 安装方式有3种: (1)Windows ...

  5. 新机器,分区为NTFS, 安装 Windows XP、Windows Server 2003 时蓝屏问题,修改为 FAT32 即可

    现象:安装刚刚开始就会蓝屏:Ghost版本的也无法正常开机. 原因:硬盘引起,通常是主板的RAID.或STAT的设置引起????? 最直接的原因是安装所在的分区的文件系统格式不正确,为NTFS 解决: ...

  6. Linux Versus Windows, Ubuntu/Mint V XP/Vista/7

    原文:http://petermoulding.com/linux_versus_windows_ubuntu_mint_v_xp_vista_7 Linux Versus Windows, Ubun ...

  7. PC-飞起来!我的Windows XP——五步快速优化Windows XP

    虽然Microsoft的 Vista已经发售了快一年,但国内大部分系统用户仍使用着目前堪称完美的Windows XP.与以往的Windows操作系统一样,新安装的Windows XP可能还不在最佳状态 ...

  8. WINDOWS+L组合键锁定XP

    在Windows XP时工作时,我们经常要锁定计算机,当计算机被锁定后,只有重新登录才能够使用计算机,从而保证了计算机的安全. WINDOWS+L组合键锁定XP,就是键盘上右边的小窗口+L键 ,可以快 ...

  9. OD: Heap in Windows 2K & XP SP1

    Windows 堆溢出 MS 没有完全公开 Windows 的堆管理细节,目前对 Windows 堆的了解主要基于技术狂热者.黑客.安全专家.逆向工程师等的个人研究成果. 目前 Windows NT4 ...

随机推荐

  1. oracle impdp 导入

    用imp语法导入dmp文件: imp mdm/mdm@SYSWARE  file= ‪E:\Product\9y5s\5.MDM\20161024.DMP  full=y 报错 IMP-00002:无 ...

  2. pycharm 下载与配置

    https://www.jetbrains.com/pycharm/download/

  3. SQL:无法解决 equal to 操作的排序规则冲突。

    更改存储过程的时候,在SQL中出现了 “无法解决 equal to 操作的排序规则冲突”错误,网上搜之,发现是表之间元素创建时排序规则不同(一个是collate Chinese_PRC_CI_AI_W ...

  4. Win10上使用SVN遇到的一些问题

    最近使用上了Win10,遇到了很多问题,前一段时间是MVC3项目的问题,今天又遇到了SVN工具使用的相关问题.我这个环境是WIN 10,64位,SVN工具是TortoiseSVN-1.9.2.2680 ...

  5. CSS实现完美垂直居中

    之前看到很多人一直都问这个问题,不过当时我没当一回事,因为在 CSS 中要垂直居中,多数是在有高度的情况下,或者容器高度不定的情况下才用,看上去比较舒服,而且实现的方法也不少,不一定要拘泥于和 tab ...

  6. Spring 学习笔记 4. 尚硅谷_佟刚_Spring_属性配置细节

    1,字面值 •字面值:可用字符串表示的值,可以通过 <value> 元素标签或 value 属性进行注入. •基本数据类型及其封装类.String 等类型都可以采取字面值注入的方式 •若字 ...

  7. Ubuntu 12.04 安装MySQL

    本文地址:http://www.cnblogs.com/yhLinux/p/4012689.html 本文适合新手入门. 本文是对 Ubuntu 12.04 环境下安装 MySQL 的记录,通过这两天 ...

  8. Tomcat中使用JNDI加载JDBC数据源

    以前写JDBC的时候总是手工写一个类,用硬代码写上className.url.用户名和密码什么的,然后通过DriverManager获取到Connection.那样写是很方便,但是如果想更改的话,需要 ...

  9. 天气预报API(六):中国气象频道、腾讯天气--“新编码”接口的测试

    说明 本文所有测试均以青岛为例. 本文所列接口城市代码(cityid)参数都使用的 "新编码": 全国城市代码列表(新) 本文接口均不是官方接口,仅供测试使用! 腾讯天气 空气质量 ...

  10. Jquery中的checkbox 及radio的问题

    在web开发中,我们经常会对checkbox和radio进行读写操作,下面我来分享一下我的项目中的相关案例: 一.checkbox <input id="check1" cl ...