代码改变世界

Silverlight产品布署策略

2010-04-09 11:39  xiaosonl  阅读(501)  评论(1编辑  收藏  举报

Silverlight产品在布署时,存在以下两个问题:

一. Silverlight运行时的装机量不足

Silverlight有个很尴尬的局面,由于Silverlight的装机量在国内不高,导致虽然是B/S产品,却几乎都要让用户使用前安装一个大几M的运行时,造成了用户的抵触心理。

解决方案

既然没有B/S的优势,就干脆当C/S产品布署。因为Silverlight支持本地布署,原理就是将XAP文件复制到指定目录,再创建一个快捷方式来运行这个XAP文件即可(具体步骤请自行Google),这步是可以程序实现的。所以可以自己开发一个安装包,安装时做两件事:

1)安装Silverlight运行时。

2)布署XAP文件,并生成调用快捷方式。

同时在产品下载页中,我们可以先检测用户是否有安装Silverlight运行时,如果有则提示可以直接在网页中运行。

这样用户更容易接受,而且还把劣势反变成了一个亮点。

二. XAP文件太大影响加载体验

如果XAP太大也有很大的问题:

1)影响首次加载体验

2)互联网产品更新频繁,一旦更新就导致XAP文件缓存失效,需要重新下载

解决方案

这是个纯技术问题,网络上有不少解决方案,最简单的一种做法,就是利用Siverlight自身的Reduce XAP size by using application library caching来实现分包下载,把首次不需要加载的程序集和频率更新的程序集做分包下载,其余比较稳定的程序集(如第三方控件等)就还是打包在XAP文件中,如此就可以较好的解决这个问题。

另外一个注意点是,生成XAP的那个程序集是不能被分包下载的,所以最好是另外建一个新的空项目来生成XAP。

三. 鱼翅熊掌不可兼得

杯具的是,上面两个问题的解决方案,貌似是不可以同时使用的。一旦设置了Reduce XAP size by using application library caching,好像就不能做本地布署,不过也没实验过,哪位朋友有兴趣接着研究的话,到时也请把成果告之一下。