silverlight在企业应用开发中的定位2011-09-23 博客园 haoxiaobo从silverlight 1开始,MS对这个技术的定位似乎更重视于互联网应用的娱乐性体验,但是,我认为 silverlight技术应该更多关注一下企业应用的解决方案。把html应用于企业应用的原始动力是易于维护和部署,但是由于html的设计先天上就只是为了内容的 展示而非交互,因此在实现企业应用中常有的复杂逻辑、界面逻辑控制方面根本就是草率应付,虽然后来 加入了JS来扩展应用,但是基础html规范的简陋,使得即使我们只是想要实现一个限定类型的输入框,也 不得复制一堆堆繁琐而丑陋的代码。另外一个问题是http协议的无状态性。功能提交后的新页面实际上与之前的页面之前没有任何关系, 即使你只是刚刚离开了0.1秒,服务器都不会记得你是谁,你之前有没有来过,你的上下文信息等。可以 说,WEB应用的开发,有一半努力都是在围绕如何解决这个问题而展开,session, cookies, viewstat, hiddeninput, url string ... 虽然通过这些或高明或不高明的手段,会话上下文信息可以得以一定程度 的延续,但是比起CS架构的程序中上下文的自然持续来,WEB程序为解决这种问题而付出的努力、进而造 成的资源浪费,真得是让人无法接受。http协议的无状态性带来的另一个问题是很难实现WEB事务,而操作的一致性却正是企业应用中所最重 视的。用户可以随便地在页面之间中断,关闭,回退,前行,把界面控制逻辑搞得无所适从,一团乱麻, 真是企业应用的恶梦。http的这种设计,是为了提高服务器的性能容量而,以及受限于协议开发时的技术能力,而做出的妥 协,html亦然。因此,web程序极合适于开发信息发布系统,而不宜于开发逻辑要求、界面控制要求较高 的企业应用。silverlight来自于AcitiveXjave applet等这种嵌入式程序的思想,但是MS用新的.net技术和为这种 思想进行了重新再造,虽然是新瓶装旧酒,但是有可能新一举解决部署和功能两方面的问题,即有web程 序的易于部署和维护,又有客户端程序的易于开发,加上严格的UI行为控制,加强的安全性策略,以及更 先进的通信能力,silverlight会成为下一代企业应用的主流解决方案。但是,silverlight似乎把解决企业应用问题放在了比较低的优先级上:1.0时,不支持强类型的.net 语言开发,到2.0时,.net语言功能的加入使得已经可以在企业应用场合中试着做一些尝试了。但是,很 多功能还只是简化版,无法完全满足要求,而企业应用中比较不重视的娱乐、多媒体等功能却得到了大力 的增强。这与MS一向忽视企业用户的传统一脉相承,同一个原因让MS忽视过internet开发,忽视过数据库,忽视 过服务器产品,忽视过服务应用开发。也正是同一个原因,使.net这个优秀平台在进入很多大型企业应用 的核心地带时多遇阻碍。但是好在MS总是能及时醒悟,通过强大的技术能力收复失地。IE来了, SQLSERVER来了,.net来了,现在,silverlight也来了,但是,和MS的一贯作风一样,silverlight首先 解决面向个人客户的问题。我对silverlight这个技术报以最热忱的希望,因为它把应用开发、逻辑控制、与部署维护等几个要素 调和在同一种技术中,提供了目前为止最好的解决方案,因此,silverlight的架构非常合适于企业应用 的开发。希望silverlight能在后续的发展中,能在解决富UI体验的同时,再为企业应用方案方面提供更 多支持。