我個人覺得作為一個傳統(tǒng)桌面應(yīng)用(desktop application)的程序員,要在Win8 Metro下用C++熟練開發(fā)應(yīng)用程序, 有幾個門檻需要跨越:
(1) Win8 Metro系統(tǒng)原理的學(xué)習(xí),理清它和傳統(tǒng)桌面程序的關(guān)系。
(2) C++11的學(xué)習(xí), 許多C++11的新特性已經(jīng)在Metro開發(fā)中被廣泛使用(比如auto, lambda等)。
(3) C++/CX語言及其原理的學(xué)習(xí),C++/CX是微軟為支持元數(shù)據(jù)(meta data)模式的開發(fā),而在標準C++的基礎(chǔ)上加了些擴充。
(4) WinRT類庫的學(xué)習(xí),理清該類庫的體系結(jié)構(gòu)及使用方法。
(5) 通過XAML方式開發(fā)UI的學(xué)習(xí),除了熟練使用微軟內(nèi)置的XAML元素,還要能定制自己需要的控件。
(6) D3D(D2D)的學(xué)習(xí), 以及它們和XAML交互方式的學(xué)習(xí), 開發(fā)一些高端產(chǎn)品最終會需要在XAML里實時Rendering自己的東西。
其中(1)(2)(3)相對比較容易,其中(4)(5)則需要比較長時間的實際項目開發(fā)才能掌握,(6)則需要一些線性代數(shù)(矩陣)的一些知識才能學(xué)好。
一般來說,如果有WPF和D3D開發(fā)經(jīng)驗,轉(zhuǎn)到Metro開發(fā)會輕松很多,但是現(xiàn)實中往往很少有人會同時掌握這2項,因為前者一般是.Net程序員,而后者通常是游戲程序員。
從理論上來說,Metro開發(fā)也是windows上最新技術(shù)的集合,有C++11的支持,有GPU加速支持的D3D(D2D)引擎,有面向?qū)ο蟮目缯Z言(元數(shù)據(jù)描述)的WinRT類庫,有通過標記(XAML)描述的界面, 而且它是Native的(非托管),所以性能上也有保障。
我們現(xiàn)在還不能斷定Win8 Metro能否成功,如果它真的成功了,無疑是類似過去從DOS到Windows的跨越。就是苦了我們這群苦命的程序員,又要學(xué)新東西了:)
對Win8 Metro,你怎么看呢?
posted on 2012-06-15 09:19
Richard Wei 閱讀(4260)
評論(6) 編輯 收藏 引用 所屬分類:
win8 metro