《Silverlight2完美征程》推荐序
Silverlight是微软公司推出的新一代RIA技术,是一种跨浏览器、跨平台的.Net Framework的实现,用来构建和发布下一代的媒体体验和Web交互应用,它统一了服务器、Web和桌面的功能。作为一种新的Web内容载体,它可以被以Web方式来发布,在客户浏览器端运行时它不但可以灵活地和各种服务器端应用来交互,更具有和桌面体验一样的、丰富的图形渲染及用户交互控制能力。
Silverlight的意义还远不止于此。试想若干年前服务器端的情形,只有Raw HTML的发布功能,后来出现CGI,开始以构造程序的方式来处理Web请求发放响应,各种应用服务器支撑着的编程模型逐步发展起来,直到现在像ASP.NET/WCF、J2EE这样的成熟框架,足以支撑起大规模的WEB应用,这之中最本质的一条发展线索就是编程模型在服务端的演进。现在,在Internet应用的客户端,具有类似的、编程模型本质的线索,即将发展到一个新的阶段。从HTML的渲染、Form Data的原始回发,到Web2.0中对JavaScript、DOM技术的接近极致的应用,再到近一两年像Google Earth/FaceBook这类各种Web API的出现,似乎仍无法满足人们对Web应用用户体验的追求,开发者中的先锋们仍在寻求更先进的编程模型来支撑下一代Web应用的前端。RIA技术应时得到重新的重视,借助新的内容类型来补充和突破HTML-Based的局限。然而,在Silverlight 之前,与其类似的技术均无法保证前台开发中“艺术”+“编程”这个Pair中“编程”的匹配度。在前台编程模型上,仍停留在“脚本”阶段,开发人员的先进思想和技巧、经验无法“复用”过来,还无法在保证客户端浏览器运行性能的前提下支撑复杂的桌面级别的UI逻辑和用户体验。现在Silverlight2来了,它在UI渲染、艺术创作,以及UI逻辑、编程模型,双方面上带来了全新程度的提升。开发人员可以以面向对象面向组件的方式来开发、完整地复用以前的知识和经验。这是Silverlight在Web前台开发编程模型演进上所能带来的巨大变化,从这一点,我们完全可以看到这项全新RIA技术的前景。
那么,作为开发人员,我们如何尽可能快而又全面、准确地掌握Silverlight开发技术的方方面面呢?权威准确、详实全面的资料,加以自己的学习与实践,以及先遣者大师的分享与经验,这些都是不可缺少的。即使是一个非常有经验的.Net开发人员,在转入Silverlight开发时,有时也会由于对其中异步操作、线程上下文理解不够深入时被莫名的问题弄得焦头烂额。所以,要在学习和实践中避免误区少走弯路,一个愿意分享的先遣者的经验是非常重要而有益的。本书的作者TerryLee就是这样一位在Silverlight开发领域极富经验的先行者。初识Terry,是因为读他博客园上的文章,他留给我最深的印象是他的勤奋和才识。后来有缘成为同事,一起工作在公司的项目中,以及几个开源项目中,他留给我最深的印象是他天资般的对软件技术的感觉。每当我向朋友介绍起他时,总爱加上这样一句话:他是我遇到的仅有的几个、我在技术上最信得过的人之一,无论是系统架构设计方面还是代码实施动手能力方面。
Terry是一个热爱分享的人,这一点从他的博客可以看出,更可以从在日常与他的交流中得出。这半年多来Terry主力参与的一个项目,就是一个重量级应用Silverlight技术的项目,这个大型Web应用项目的页面全部采用Silverlight实现。于是这段时间里与Terry聊到的技术话题,Silverlight所占的比例就多出许多,经常会就一个可能的最佳实践进行“严正磋商”,经常会就Silverlight的一个Bug一起来“指点江山”;下面的场景更是常见:“ScottGu已经把我俩的那个问题转给Silverlight小组的Stefan了,估计马上会有答复了!”“Stefan的回复中提到这个问题可能与IAccessible接口有关,要不要我来谈谈这个接口?”也经常从他与Microsoft Silverlight小组的大量往来邮件中,得知一些来自“内部”的信息。不是每个人都能够有像Terry这样与Silverlight亲密接触的机会的,即使你是这个方向上的MVP,我想,这与他的求知热情、热爱分享是分不开的。当然,每每这样的场景,我总会叮嘱他,一定不要忘记把这些都记到他的书中去!
《Silverlight 2完美征程》就是这样的一本书!在Silverlight 2 Beta1期间就已经成稿,在Silverlight 2 RTW版出来后,Terry又投入了大量的精力来重写和校正。书内容覆盖面触及了Silverlight 2开发的各个方面并被整理得井井有条,多年技术写作的功底在这里又一次得到体现;图文并茂、透彻讲解的笔触,一如博客园中的TerryLee。读过本书的书稿之后,我对Terry的第一句话就是,怎么还有这么多我们之前没有谈到的地方?
我相信,大家读后的收获,一定会比我更多!
资深架构师 曲春雨
2009年2月 于北京