我个人觉得作为一个传统桌面应用(desktop application)的程序员,要在Win8 Metro下用C++熟练开发应用程序, 有几个门槛需要跨越:

(1) Win8 Metro系统原理的学习,理清它和传统桌面程序的关系。

(2) C++11的学习, 许多C++11的新特性已经在Metro开发中被广泛使用(比如auto, lambda等)。

(3) C++/CX语言及其原理的学习,C++/CX是微软为支持元数据(meta data)模式的开发,而在标准C++的基础上加了些扩充。

(4) WinRT类库的学习,理清该类库的体系结构及使用方法。

(5) 通过XAML方式开发UI的学习,除了熟练使用微软内置的XAML元素,还要能定制自己需要的控件。

(6) D3D(D2D)的学习, 以及它们和XAML交互方式的学习, 开发一些高端产品最终会需要在XAML里实时Rendering自己的东西。 


其中(1)(2)(3)相对比较容易,其中(4)(5)则需要比较长时间的实际项目开发才能掌握,(6)则需要一些线性代数(矩阵)的一些知识才能学好。
一般来说,如果有WPF和D3D开发经验,转到Metro开发会轻松很多,但是现实中往往很少有人会同时掌握这2项,因为前者一般是.Net程序员,而后者通常是游戏程序员。

从理论上来说,Metro开发也是windows上最新技术的集合,有C++11的支持,有GPU加速支持的D3D(D2D)引擎,有面向对象的跨语言(
元数据描述)的WinRT类库,有通过标记(XAML)描述的界面, 而且它是Native的(非托管),所以性能上也有保障。

我们现在还不能断定Win8  Metro能否成功,如果它真的成功了,无疑是类似过去从DOS到Windows的跨越。就是苦了我们这群苦命的程序员,又要学新东西了:)

对Win8 Metro,你怎么看呢?
posted on 2012-06-15 09:19 Richard Wei 阅读(4163) 评论(6)  编辑 收藏 引用 所属分类: win8 metro

FeedBack:
# re: 跨越Win8 Metro开发
2012-06-15 10:05 | 空明流转
METRO不管能不能成功,都是十多年来C++ UI的一个趋势。

作为一个开发人员应该早就对Metro的功能有所预见。

所以谈不上“学习”,只是别人帮你把你要的东西实现了而已。  回复  更多评论
  
# re: 跨越Win8 Metro开发
2012-06-15 12:11 | 华夏之火
大家都在Windows和C++上练就一身过硬内功,不惧怕任何跨越  回复  更多评论
  
# re: 跨越Win8 Metro开发
2012-06-15 16:16 | leolai
坑爹的,上次试着做了一个Metro程序,发现和WPF没有很大的区别,跟无语了是,现在在用C++做3D开发  回复  更多评论
  
# re: 跨越Win8 Metro开发
2012-06-15 16:43 | Richard Wei
@leolai
恭喜你,看来Metro开发对你没多少障碍  回复  更多评论
  
# re: 跨越Win8 Metro开发
2012-06-15 16:56 | Richard Wei
@空明流转
是的,微软做了我们想做的,如果Desktop下也有Native的Xaml UI, 那么自己开发DirectUI就没多少用处了。  回复  更多评论
  
# re: 跨越Win8 Metro开发[未登录]
2012-08-14 15:08 | ming
看来挑战不小啊  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理