看到很多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 閱讀(3132)
評論(8) 編輯 收藏 引用 所屬分類:
win8 metro