IT餐馆—第二十回 银光
郑伟听雨辰话题一转,便正色道:“你说是silverlight3.0吧,我其本上通过SDK了解的差不多了,眼下我主要的兴趣还是在其视频的支持上,按其官方提供的技术文档说是新增了H.264,AAC,MP4格式支持。你呢?”
雨辰笑着说:“还是在其复杂数据展示上面,我想富媒体展示和交互是其主要方向,必定其对手是FLASH,换句话,FLASH中的优势应该被silverlight所吸取并完善。另外我们的产品中也使用了SL进行开发了。”
“是吗,是那方面?” 郑伟问道。
雨辰说:“主要是投票,多文件上传和相册等。其实我们跟进的比较早,在SL还是1.0时就用上了,不过当时SL的功能还很有限,要实现这几个功能不真费了不少劲,好在有微软的工程师与我们并肩开发,很多问题能马上进行沟通解决。不过SL目前的产品版本发布时间是太快了,可以说创了微软发布产品的速度纪录了,两年时间发了三个正式版,呵呵。目前SL已经很有竞争力了,在复杂数据的展示上,可以用很少的代码就能开发很多很酷的功能。”
郑伟点了点头,说“原来你是早有动作,被你抢了先了,不过我在SL的官方网站上看到过一些很不错的SL应用,不过基本上都是老外写的,国内目前SL的开发团队和产品太少,比如腾讯,阿里巴巴等都有一些SL应用被微软作为示例在TECHED大会上做了演示。另外目前SL中的控件也基本上完善起来了,不用再像1.0时那样匮乏了,甚至其控件的数量和规模都超过了WPF,真没想到呀。我当初还是因为对WPF感兴趣,稍待脚研究一下SL,不曾想现在倒把SL当是主攻方向了,呵呵。”
雨辰笑着说:“眼下SL是挺火的,可以说是对微软技术的大杂烩了,什么LINQ,WPF,WCF都有,对于像你这样对技术的狂热份子来说,当然不会放过了。并且眼下关于SL的书也多了起来,不像当寝1.0时就那么几本了,另外国内关于介绍和使用SL的BLOG也丰富起来了,可以说眼下即使看中文BLOG,也可以第一时间查阅SL的最新动态,比当初去微软或其它网站看E文要轻松了不少,呵呵。”
郑伟笑着说:“那也没有你直接与SL专家直接交流来的过瘾呀!”
雨辰知道郑伟 说的是前年和去年两次与SL专家Laurence的技术交流,一次是公司给组织的,把他请到公司里来介绍当时要发布的SL2的一些特性,当时还问到了关于SL中的新增控件与asp.net和winform控件的差别以及微软是否会强制绑定SL到IE中等一些问题。当时给雨辰最深该的印象就是Laurence先生对一些其不了解的问题也能开诚布公的直言不讳,并说要去回去查资料,并要了提问人的邮箱以便会后继续交流,让人感觉其非常真诚,不装大腕。相比较国内所谓‘高手’,回答不上来问题会是一个很丢面子的事情,看来做技术首先就要摆正心态,没有一个人会精通所有东西,有不懂没什么可丢人的。
当然在去年的一次微软培训时,雨辰有幸又碰到了Laurence,而他也认出了雨辰,当然在培训时还有两位从微软总部过来的技术专家,当然大家基本上都是用英文提问并进行交流流的。而雨辰也捡起了多年未说的英语口语。而所提的问题也是开发中遇到的一些技术问题,比如在SL3中是否在网络协议上是否支持FTP,邮件协议等。当时专家的回答是使用WCF或WebService做为底层通信平台,将从SL客户端传递到服务端并使用服务端进行处理。其实这种方式是一个普遍的方案,不过通过这一点可以看出SL只是一个很精细的小‘组件’,其自身不可能将.NET平台上的所有功能都加入其中,那样就又成了一个.NET框架了。其实这也应该是SL的一个方向,就是因为其自身的应用场景主要是富媒体展示,而不是对多种网络协议的支持,所以雨辰感觉SL的发展还是有其特定方向要去遵循的。另外还有些问题比如在同一个页面上如何实现两个SL实例的数据传递,后来雨辰在专家的提示下,使用HTML页面的DOM元素来建立一个桥接,将信息从SL发向该DOM元素,然后再通过该DOM元素所绑定的JS事件方面来将该数据传递给另一个SL实例,当然这在SL3中因为提供了LOCALMESSAGE类可以很方便的实现这一结果。
郑伟接着说:“眼下对SL3中的新特性了解的差不多了,但之前我关心的几个特性还是没被加入进来,比如:
1.网络摄像头,,因为我想开发一个视频聊天的软件,当然也可以用于视频会议。
2.多点触控,以进一步提升用户体验。目前微软开发Multi-Touch的平台主要是VISTA系统的Surface SDK,还有就是windows7,两者都是要基于WPF4的,希望SL4这块也能支持上来。
3.对3D图像的更多支持以及更强劲的硬件加速等。”
雨辰笑着说:“关于摄像头的功能我之前也在培训时与微软专家讨论过,这的确是一个很不错的功能特性,不过当时的明确答复就是3.0不会加入,但不排除以后加入进来的可能性。另外关于multi touch,我之前倒在csdn上的看过一篇blog,名为‘传说中的Silverlight 3多点触控(Multi-Touch)应用’,你可以在网上搜一下,另外作者还提供了一个示例,呵呵。”
郑伟说:“其实目前SL的应用不管示例DEMO还是已成型的应用已不少了,但我目前比较喜欢的几个SL应用案例,一个是杰克逊的纪念网站)(使用DEEPZOOM技术),还有就是花花公子的封面网站了。对于奥巴马的就职演说充其量就是场‘政治秀’,本人没什么太大兴趣。”
郑伟接着说:“另外,其实你之前说SILVERLIGHT3是一个微软新技术的舞台,这一点我基本同意,其实当下火热的云计算,微软就在其AZURE上提供了对SL的支持,我之前看过老外就使用它开发出了一些类似OA的系统放到了AZURE上,感觉非常酷。另外在livemesh网站上也支持使用SL进行开发,流程与本地设计无太大差别。”
雨辰点了点头,说:“还有就是我之前在webcast上有人介绍在SL中使用MVC模式甚至MVP模式,在这方面其设计上也很灵活并能获得这类模式所带来的好处。另外之前我一直认为MVP模式主要应用于WINFORM开发,因为其自身的事件处理机制和窗体属性很适合使用这种模式,特别在以前研究过WINFORM的换肤机制,发现用MVP实现再合适不过了,通过Presenter来协调沟通M和V层,让人感觉可控制的东西很精细,开发者就像一下管家婆,不过对View与Presenter的控制代码耦合要加以考虑,一旦视图需要变更,那么Presenter也需要变更了。呵呵。当然有人使用于MVP模式开发web应用,并写出来了一些DEMO,但我只能说其不适合并未说其不能实现。呵呵。”
两个人就这样边吃边聊,直到天黑才各自回家。