王洪超:WPF催熟整个软件生态链
王洪超:WPF催熟整个软件生态链
推荐阅读:
2006年年底,WPF(Windows Presentation Foundation)刚刚随着Windows Vista正式发布的时候,我在中国软件网(http://www.csdn.net)上闲逛,看到两位软件业界资深人士孟岩、韩磊两位老兄针对WPF发布所写的《这一天终于来了》以及《“这一天终于来了”》两篇文章,还有孙辉先生发表的《WPF,一次洗牌……》文章,感慨良多。随着无数业界技术专家在全球范围内的摇旗呐喊,WPF终于开始进入主流视野。
如今事隔一年多,市面上已经有越来越多WPF相关的图书,也有越来越多的开发人员通过搜索引擎、论坛、博客等逐渐熟悉了WPF,WPF已经逐渐成为主流开发选择。但是,仍然有很多朋友对于WPF的定位感到疑惑,毕竟微软在用户交互界面端有太多的新技术。要想真正领会掌握WPF,我们必须先搞明白WPF的定位,也就是为什么微软会推出WPF?
比尔·盖茨在创建微软时曾经有一个梦想——要让每家每户的桌子上都有一台电脑,而且这台电脑上要运行微软的软件。从1975年开始,整个微软就在为这个梦想而奋斗。历史发展到21世纪,应用软件从当初注重性能(硬件的限制)、功能(大而全的软件)而逐步发展到更加注重用户体验。之所以出现这种趋势,是因为软件已经逐渐走下神坛,成为人们日常生活中所不可或缺的东西。而人们对日用品的选择标准就是:价廉物美。价廉导致S+S(Software plus Service)产生,而物美促使软件厂商对于用户体验越来越重视。
正是在这种大势之下,微软才会推出WPF对整个软件生态链催熟。WPF的出现解决了以下3个问题。
(1) 更快速的开发更丰富的用户体验。使用WPF,可以在更短的时间内开发出来更加丰富的界面,以满足用户的需求。WPF的出现,使得我们可以逐渐远离使用控件搭积木开发用户交互界面的开发过程。虽然WPF目前仍然保留控件机制,但我个人认为主要是为了向下兼容。WPF的目标应该是消除控件,让你开发出来的软件根本看不出控件的特征,软件世界再也不是由Button+Textbox组成的怪物了。
(2) 消除用户界面差异。历史在1995年进入一个鸿沟,开发人员突然变成了两大阵营:Browser/Server(B/S)开发人员以及Client/Server(C/S)开发。一个项目启动时,我们首先想到的是这个项目是使用B/S架构还是C/S架构,这两种架构各自有各自的好处,但对于开发人员的知识要求却完全不一样。使用B/S架构,要了解HTML语言以及HTTP协议等;使用C/S,你可能要了解套接字,要了解GDI+等。同样,在项目完成后,如果基于某种原因,需要将此软件架构进行改变。比如将一个C/S项目重新发布为B/S项目,那么对于整个开发团队来说,基本上相当于推倒重来。而现在到了应该弥补这个鸿沟的时候了。WPF正是背负着这个历史责任,同样一套编码,可以根据你的需要发布C/S架构(Windows Client应用)或者B/S架构(XBAP,XAML Browser Application)。
(3) 软件开发团队的协作问题。软件开发团队的日常协作是一个非常大的问题,除了需求变更以外,第二个影响开发进度的就应该是团队协作性了。在软件团队中,我们比较熟悉开发人员、数据库管理人员、测试人员、运维人员、系统架构师等,而用户交互界面设计师或者说设计人员往往被我们忽视,但实际上,他们的工作成果才是与客户距离最近的。不过就现在的实际情况来说,设计人员与开发人员如何配合工作,是很多团队所头疼的,而WPF正可以解决此问题。因为WPF创造性地引入了XAML语言,开发人员以及设计人员使用这种统一的XML描述的语言进行沟通,将大大降低沟通成本。另外,微软原来为开发人员提供了功能强大的开发工具,也就是Visual Studio系列,而随着WPF的出现,微软也开始面向设计人员提供相应的设计工具:Expression Studio系列。这两套工具所使用的解决方案以及项目结构描述完全一致,也就是完全可以打开对方所创立的项目文件。
如果你浏览一下目前的Windows平台上的软件界面,它们基本上都大同小异,同样都是矩形的窗体,窗体上都是以矩形的控件进行排列。相信已经有很多朋友开始审美疲劳了。不知道有多少朋友在观赏那些好莱坞产的科幻大片时,陶醉于电影主角所使用的更自然更酷的软件交互界面。现在,掌握了WPF,你也能很容易地开发出这种下一代的软件交互界面了。
现在,这本由Adam Nathan所编著由瞿杰等三位译者翻译的《WPF揭密》就摆在你面前,掌握了它,你也就掌握了通往未来的钥匙……
王洪超简介:就职于微软(中国)有限公司,互联网策略资深顾问,博客堂堂主
---------------------------------------------------------------------------------------
1.诚邀合作: 如果您想翻译、写作或是推荐IT类图书,我们将竭诚为您提供最专业的服务平台。
2.联系我们: yuany@turingbook.com(E-Mail)
3.欢迎加入图灵社区与作译者、业内人士进行交流: