为什么企业开发者要关心Silverlight

  我们看到了一个日益增长的趋势,目前一些主流的应用软件包括ERP大部分都是基于C/S架构开发的,所以软件的技术框架都是以满足局域网内的应用为主。基于C/S架构的应用因为响应速度快、操作界面的个性化、对复杂流程的适应快,在面世之初受到企业热捧。

  随着互联网的发展,这种传统的架构应用开始受到冲击。企业集团化的加强,分支机构的设立,使得围绕C/S架构应用的接入问题接踵而来。企业分支机构的不断增多,包括渠道、合作伙伴、移动办公需求不断增加,对远程接入的需求已经越来越大。如何能够在任何时间、任何地点、通过任何设备、通过任何网络方式都能迅速地获得自己想要的企业关键应用,对企业而言越来越重要。在这种结构下,用户工作界面通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。相对于C/S架构不能提供真正开放的环境,B/S结构的前端是以TCP/IP协议为基础的,企业内的WWW服务器可以接受安装有Web浏览程序的Internet终端的访问,作为最终用户,只要通过Web浏览器,各种处理任务都可以调用系统资源来完成,这样大大简化了客户端,减轻了系统维护与升级的成本和工作量,降低了用户的总体拥有成本(TCO)。可是由于B/S产品人机交互界面比较差,远程打印瓶颈问题,还有报表设计问题,安全问题、接入速度问题等等,制约了B/S产品的普及。

  无论是C/S还是B/S架构,都无法满足用户的所有要求,于是谋求将C/S架构与B/S架构相结合的新技术开始受到追捧。他们需要一个低成本的单一客户端,同时又能提供传统的基于桌面的应用,从而提高最终用户的工作效率。而Silverlight就是这样一个有趣的技术,他结合了基于B/S结构的TCO与终端用户的所有需要,而且还是一个单一客户端的应用程序。

  从一个开发者的角度去看Silverlight,Silverlight是一个客户端的运行时,这个运行时提供了设计与开发的平台,并为互联网提供了丰富互动的应用程序(RIA)。你可以用你喜爱的.NET支持的语言来开发这些应用程序,而.NET基础类库的一些特性也会对你有用。还有,Silverlight令你创建输入表格,加载数据,上传二进制或文本信息都变得更加便捷。这一切在浏览器内外都有着闪电般的运行速度。

  Silverlight支持动态和静态语言。具体来说就是ECMA标准的C#,JavaScript,以及流行的Visual Basic语言。另外,Silverlight还支持IronPython和IronRuby,其分别是Python和Ruby在.NET框架下的版本。

  基础类库可以替你做很多麻烦的工作。比如说,通过基础类库可以使用generics,LINQ和数据流(data streams)。这样,你在设计内容复杂的收藏列表,表单以及订货单时便可以更加游刃有余,而无需担心实施的具体细节。同时,内置的LINQ令不同数据之间的查询变成可能,而且你可以使用自己选择的语言。(在Silverlight 4 beta中可以直接引用.net CLR类库)

  到目前位置Silverlight已经有了100多个独立控件。使用这些控件可以有效地处理输入,排版以及视觉效果。简而言之,你对UI平台上控件的需求,Silverlight都能够满足。控件包括按钮,勾选框(check box),选项钮(radio box),文本框,复合框(combo box),以及时间日期控件等。Silverlight 3还提供了多项选单框(multi-select list box)。对于排版,Silverlight 支持画布(Canvas)上的自由排版,以及StackPanel和Grid控件提供的表格式排版。Silverlight 3中的DockPanel提供了东西南北的方向支持,WrapPanel提供了包装内容的支持。他还提供了一个包含30多个控件的工具盒(Silverlight Toolkit)其中有一个特性丰富的DataGrid和Chart,而且全部的源代码也包含在其中。

  Silverlight知道,应用程序中最重要的是数据。对此从Silverlight对查询(query),绑定(bind to)和验证(validate)信息的支持可见一斑。比如,Silverlight 提供了查询数据元的三种内置LINQ选项(LINQ到对象,LINQ到XML,LINQ到JSON)。把数据和UI绑定时,Silverlight提供了单次(one-time),单向(one-way)和双向(two-way)绑定支持。Silverlight 3 还支持UI对UI元素绑定。绑定之后,你有时会需要用户验证输入的数值。为此,Silverlight 3 还添加了一个多功能验证组合,令商业流程的应用程序开发更加简便。

  Silverlight提供了一系列特性丰富的联网功能。跨网数据传输方面,Silverlight支持POX,REST,WS*/SOAP,sockets,以及标准HTTP服务。此外还有通过Atom和RSS实现的组合内容支持。Silverlight 3 添加了二进制XML的支持,以及名为本地连接(local connection)的两个Silverlight应用程序之间通信的支持。相对于Silverlight 2而言,这样就不需要诸如HTML DOM API等用户端来实现Silverlight应用程序之间的通信了。(在Silverlight 4 beta中又包含了Net.TCP,相比于HTTP Polling Duplex,它极大地改进了吞吐量和连接的数量)

  而且Silverlight提供了脱离浏览器的运行的崭新方式(Out Of Browser),只要最终用户将Silverlight应用安装在本机上,即使在离线的状态下也可运行。在在线的状态下会自动的与同步数据。

 

 

作者:Nasa 
文章出处:我和未来有约会 (http://nasa.cnblogs.com/
版权声明:本文的版权归作者与博客园共有。转载时须注明本文的详细链接,否则作者将保留追究其法律责任。
posted @ 2010-01-25 15:37  王喆(nasa)  阅读(2106)  评论(15编辑  收藏  举报