SilverLight开发基础答疑(2)
2007-04-16 by 开心就好在上一篇WPF/E开发基础答疑的文章贴出来后,得到了很多朋友的支持,短短时间内点击量即突破一万。虽然后来在宝玉的帮助下,才发现原来是数据库上的一个存储过程出了一些问题,但大家对于SilverLight的关心仍然可见一斑。
所以今天开始将继续此答疑篇,不过这个名字就准备改一下了,毕竟WPF/E的官方名字现在已经宣布了,所以从本篇开始,正式改为SilverLight开发基础答疑。
[3. 使用SilverLight时,为何在IE中显示正常,但在FireFox中却没有正确内容呈现?]{.underline}
问题描述:我们知道SilverLight是一个跨浏览器的解决方案,在第一版本中将支持IE、FireFox以及Safari等浏览器。但在开发完成后,却发现某些效果在IE中是可以正常显示的,但在FireFox或者其它浏览器却没有正确显示。使得开发人员对于FireFox的跨平台性产生了怀疑。
解答:请查看您的代码中是否不正确的使用了某些IE专用的组件,如Microsoft.XmlDom来分析XML文档等,因为该组件仅仅支持IE,而在其它浏览器中并不正确支持。所以您需要先判断客户端使用的是何种浏览器,再采用不同的解决方案来处理相应的实际问题。
[4. SilverLight相对于其它公司的类似解决方案有何种优势?]{.underline}
问题描述:在给很多公司进行培训时,经常会有人问到类似的问题。由于具有一定的相似性,所以会让很多初次接触SilverLight的人员下意识的进行比较。
解答:以下答案并非官方回复,仅代表个人观点:
- 易于扩展:可以使用任何服务器技术端创建SilverLight表现,我们知道其它公司的产品均是表现为二进制代码,生成需要使用特殊的工具,并且其服务器端生成工具价格不菲。而SilverLight的服务器端只是一个XML文件,您可以使用ASP、ASP.NET、PHP或者JSP等现有的服务器端语言操作文本文件的方式进行动态组装;
- 搜索引擎友好(SEO):对于网站站长来说,是否对搜索引擎友好,对于站长的成败至关重要。很多网站一半以上的流量来自于各种搜索引擎的贡献。微软的SilveLight的内容均是基于文本文件(XML或者JS文件),资源文件则采用了原始表现形式,而没有提供嵌入,搜索引擎稍加变通,即可以正确的进行索引(以后SilverLight会采用标准ZIP格式进行压缩,但搜索引擎仍然可以正确索引)。其它公司的解决方案,大部分采用了二进制单文件方式,除了使用元数据方式建立索引,很难进行SEO;
- 良好的开发工具以及设计工具支持:微软面向不同角色的人员提供了更加称心如意的工具,对于开发人员,可以继续使用其熟悉的Visual Studio工具来创建相应的业务逻辑;对于设计人员,可以使用Microsoft Expression系列来进行创建(Expression Blend下月CTP将会支持SilverLight创建,现有版本的Expression Design已经可以导出符合SilverLight规格的设计文件);
- 与WPF先天的关系:我们知道SilverLight原名为WPF/E,其本身是WPF的一个子集,采用了不同的命名空间。对于WPF已经非常熟悉的人员,可以以极低的学习成本了解SilverLight;而对于SilverLight已经非常了解的人员,可以很容易的学习使用WPF创建流行的Vista般用户体验的应用程序;