7C00.ME/houmu 2011-10-04

读《Windows-Phone-7完美开发征程》

转载,原文由本人发表于 http://blog.sina.com.cn/s/blog_8e8445a30100xz5x.html

我对微软推出的各种新技术和产品都比较关注,当然大多数都是浅尝辄止,没有深入研究其中的某一样,自己也深知这中做法弊大于利,但是一旦有新的技术或者产品都还是忍不住去尝一口。

Windows Phone应该可以算是微软最新的技术或产品之一吧,至少在国内现在淘宝上卖的Windows Phone都是水货,微软也没有给出在中国推广Windows Phone技术的时间表或计划书之类的,甚至微软的Windows Phone有关网站、开发工具、资料、文档等资源即使在语言上都有了日文和繁体中文,在地区支持上都有了Hong Kong,也没有简体中文和中国大陆。虽然在cnblogs和msdn上已经出现了Windows Phone方面的中国技术大牛,中文的和国内的论坛、社区什么也有一些数量了,但是普遍感觉都是不温不火的,遍观这些论坛除了msdn forum的Windows Phone开发中文论坛等讨论氛围好一些,其他的大多是一些开发工具、初级教程、电子书等资源分享的帖子。

说这些话只是感觉Windows Phone现在中国还处在”火”之前,甚至有没有人怀疑在iPhone、Android、山寨机几个山头耸立的情形下,Windows Phone在中国能走多久多远。吐完这些口水,简单谈谈《Windows Phone 7 完美开发征程》这本书。事实上,上面这些口水也不是不着边际的,因为,Windows Phone在中国特别是开发者中还不火的局面导致了一个情形就是中文资源特别少,去学校的图书馆,有一块是手机应用开发方面的,三大主力是Symbian、iPhone、Android,其中Symbian的书都比较老旧,而排得很整齐,看来Nokia的策略已经把这些书打入冷宫了;iPhone的书大多都装帧精美,和Apple产品的格调一致,这些书借出量要比Symbian多了很多;而Android开发方面的书越来越多,和去年相比,品种已经超过iPhone很多了,但是基本上之都只剩下仅供阅览不外借的书了。但是最最可怜的还是Windows Phone开发方面的书,现在在图书馆网站上可以查到两本,一本是《Windows Phone 7 完美开发征程》,另一本是《Windows Phone 3G手机软件开发》。实际上,翻过过《Windows Phone 3G手机软件开发》的人估计都会骂一句”坑爹呢”,因为这本通篇讲Window Mobile开发的书就是一个不折不扣的”标题党”!有兴趣的可以去看看当当、卓越或者京东上的书评。也就是说,整个图书馆,只有《Windows Phone 7 完美开发征程》这一本关于Windows Phone开发的书,相当之珍贵啊。

当然说实话,这本书并没有让我特别满意的地方。总体来说这是一本Windows Phone开发的入门书,如果我给这本书命名的话,叫《Windows Phone 7开发完美入门征程——基于Silverlight技术》,会更恰当(不过可能销量会受到影响)。之所以这么叫,一方面是因为这本书讲的内容有相当一部分是关于Silverlight for Windows Phone的基础知识,对Windows Phone API特有的部分,比如有启动器和选择器、推送和通知、Hub等,个人感觉只能算是蜻蜓点水;另一方面,Windows Phone开发有两大框架Silverlight和XNA,这本书里面也提到了XNA(在第四章),但这部分给人的感觉是草草带过,和前后文又没有联系,倒不如删除这章或干脆做成附录,作为一个参考内容,以使得全书内容连贯流畅。

具体的谈,还有这些问题。全书的开头感觉很松散和错乱,第一章先讲Windows Phone的前世今生,作为introduction无可厚非,但是篇幅是否有些长呢?此后讲开发平台,给人的感觉就是有的地方嘎然而止,有的地方莫名奇妙,赘余而混乱。特别是那个VS2010的安装不知道是干嘛的,要装也该是Windows Phone SDK啊,VS2010都可以不装的(指的是Professional和以上的版本)。当然最有问题是46-53页罗列Silverlight在Windows Phone平台不支持的类库,整整占了8页——这些内容就算是作为附录都觉得是在浪费油墨,因为完全没有阅读价值——给人的感觉就是充数,这个问题还有在193-194页讲网络通信,谈了模拟、GSM、CDMA,不禁叫人发问,作为第三方开发人员你能深入到这种硬件层次的问题吗。除此之外,在后面的章节中有内容衔接和重复的问题,比如WebClient等内容在两个章节近乎相同的讲了两遍。另外,在排版上,有些示例给出关键的代码段就可以了,既然完整的源代码是给出的,同样的图片截取关键部分就可以了。当然这个要求可能苛刻了点。但是看国内编写出版的很多编程方面的图书很少在意这个问题。最恶心的一个例子是某php教程,将一个最简单的hello world例子,一般给个<?php echo "hello world";?>就可以了,但是人家又是header,又是footer的,还有img,style一堆代码——干什么的?都是显示出版公司的信息!?更恶心的是,你放在源代码文件就算了,它还非得印在书上,附图更是把整个浏览器窗口都印上去了,图像裁剪不会吗!为了体现版权意识,还是显示专业水平呢?当然《Windows Phone 7 完美开发征程》在这些方面做的还是不错的。

上面这些问题,确实让人对国内最早的中文Windows Phone开发图书之一有些遗憾。然考虑到,它出版时间,也是可以理解的。这本书大概用的是Windows Phone 7.0 Developer Tools,我在看时在用的Windows Phone SDK 7.1 beta,而现在SDK 7.1 都正式发布了。技术的发展总是让人去追赶的。另外,也可能是作者是三个人的缘故,使得章节之间联系比较混乱和重复赘余和问题出现。希望如果这本书如果能再版的话,能够处理好这些问题。

特别要说的是这本书在后面章节给出的几个例子非常不错。这些例子难度各异,循序渐进,适合作为范例来研究。而且如最后一个豆瓣应用,本身具有实用价值,开发完后或许就可以上手使用了,而我更看重的是对于这个例子,作者给出了清晰的设计思路,对于Windows Phone中大型项目开发流程有一定的参考价值。从这个角度来说,《Windows Phone 7 完美开发征程》是一本对于初学者特别值得推荐的书。