Silverlight是一种由微软开发的富互联网应用框架,它允许开发者创建具有丰富用户界面的网络应用程序。Silverlight 4.0版本甚至提供了浏览器外运行的选项,使得Silverlight应用程序可以直接在桌面上运行。如果用户没有互联网连接,数据可以暂时存储,一旦互联网连接可用,数据就可以发送到目标机器,如数据库或其他位置。
然而,Silverlight也存在一些限制,如果性能和安全性得到仔细考虑,这些限制是可以克服的。在安全性方面,Silverlight目前可以与WCF服务的基本绑定或自定义绑定一起使用,但不能与wsHttpBinding绑定,因此没有消息级别的安全性。整个设计将被下载到用户环境中,如果应用不当,可以很容易被逆向工程获取设计和实体设计的细节。
在性能方面,XAML设计应该被适当地分割成XAP文件,以使下载尽可能简单。(动态页面下载将避免页面显示的初始延迟。)自定义安全性也有被黑客逆向工程的风险,如果代码放置在XAML设计中。会话数据可以存储在隔离存储引擎中,但有可能被用户删除。
Silverlight的优势在于,一旦XAP内容被下载到浏览器环境中,在随后的请求中,它将从浏览器缓存中获取,从而避免UI显示的延迟。服务调用只会下载XML或JSON数据到浏览器环境中,以供Silverlight使用。Silverlight可以与XML或JSON数据一起工作。如果使用JSON,它甚至可以减少下载数据的大小,并提高应用程序的性能。Silverlight还可以与DOM元素一起工作,并可以访问当前HTML页面的内容。Silverlight的事件机制非常强大,可以用来制作非常丰富的UI。