技术开发 频道

关于微软Silverlight,你应该知道的10件事

6、Silverlight让开发者和设计者一起工作

    Web正在强迫开发团队来更多的思考设计和美工工作。除非特殊情况,响应用户的体验和美观的界面已经变成了一个必须要考虑的方面。通常情况下,这就要求在应用程序开发中运用美工技巧和用户界面设计技巧。今天,一般通过雇用美工开完成网站的设计工作。 

    但是,美工所使用和实现的资源通常与开发者使用的工具是不相同的。通常情况下,美工将图片文件(例如Photoshop或.jpg文件)或HTML线框提供给开发者,然后由其来综合到一个项目中。无论你使用的技术是什么,这些设计必须被整合到Web应用程序代码中。随着设计的变化,这种整合工作被一遍又一遍的重复做着。Silverlight提出了一种更好的开发过程。微软的Silverlight工具集包括了传统的开发工具,像Visual Studio,还有新的面向设计者的工具,像Expression Studio(相关文章:《微软Expression Studio能挑战Adobe吗?》,http://tech.it168.com/i/2007-06-29/200706290828093.shtml)。 

    对于Silverlight来说,主要的设计工具就是Expression Blend,它允许通过一种对设计者方便而熟悉的方式来创建XAML。对于设计人员,使用Blend就像使用Adobe Illustraor或Photoshop一样方便。它们的比较大的区别是Blend与开发者使用相同的基础文件。Blend和Visual Studio操作相同的项目文件、XAML和JavaScript文件。当一个设计被创建和修改的时候,在Silverlight中不需要使用整合步骤。设计者可以看见他们的设计与开发者所增加的相同的逻辑进行交互。这样可以帮助设计者和开发者紧密的进行合作。

7、Silverlight可以分开提交内容 

    Silverlight是以分片形式提交给Web浏览器的。这意味着代码在一个或多个封装的包中(JavaScript文件、代码集等等),设计也是作为一个或多个包(作为XAML文件)进行传输,其他资源也是被分开进行传输(包括图片、字体和视频等)。一些对Flash的单一文件提交熟悉的开发者在才开始接触Silverlight的时候可能会认为这是Silverlight平台的一个不足。 

    而实际上,我认为这是一个好的功能。相比于Flash的方式,分开的数据包使动态服务器端的内容的创建更加轻松。它让我们可以在服务器上创建引人注目的动态XAML,并简单的以其他标记的方式来传输它。Silverlight具有一个工具可以使用zip文件来打包被XAML代码所使用的多个文件,并高效的下载它们到客户端,不过它不是一个必须的要求。

8、Silverlight是新事物 

    现在,Silverlight 1.0正处于候选版阶段(Release Candidate),而Silverlight 1.1则处于Alpha版。这是微软对此类技术的首次尝试。 

    相比于其他公司提供的类似服务,这个技术还不够成熟,其中与其竞争的最出名的就是Adobe的Flash和Flex产品。Flash目前的版本是9.0,它已经经历了很长的一段时间的发展,无论是在普及度还是功能丰富性都已经处于领先地位。但是,这不是说Silverlight就不会追上它。微软在从别人的成功和失败中学习方面有自己的一套东西。当然,也不是说Silverlight一定会赶上竞争对手。 

    如果你计划创建的应用程序主要是用来替代数据驱动的桌面应用程序,你可能会怀念在Silverlight中的所缺少的基本控制和数据绑定功能。Silverlight不是Windows Forms、WPF、Java Applets或Sharepoint的替代者。 

    简单来说,Silverlight不是被设计用来取代早期版本的企业应用程序。但是如果你想创建一个跨平台、跨浏览器的富用户体验的引人注目的应用程序的话,Silverlight无疑非常适合。

9、Silverlight XAML与WPF XAML的对比 

    人们很容易把XAML吹嘘为一个伟大的事物,因为微软的Windows表现层基础类库(WPF)也使用XAML。不幸的是,这些优势实际上不像它看上去那么吸引人,原因有二:WPF的低采用率和WPF XAML与Silverlight XAML的区别。 

    首先,与其他客户端技术相比,WPF的采用率还是相对比较低的。因此,考虑到XAML还未得到充分开发的事实,XAML是一个优势,但不是一个非常大优势。第二,相比WPF XAML,Silverlight XAML是一个简化版的语言,因此Silverlight XAML没有那么强大。这既是一件好事又是一件坏事。Silverlight XAML是非常易懂的,但是如果你的开发者是从WPF转到Silverlight上的,它看上去可能是不完整的。 

    在我看来,这种更简单的语法实际上更适合Silverlight,因为其运行时对终端用户来说是非常小巧和可管理的。Silverlight XAML不包含对一些对普通任务所不需要的一些内容。当然创建更多的功能到Silverlight中将是有好处的,现在的做法是非常谨慎的考虑什么功能要被增加到其中,才能保持API比较小和轻量级的特点。 

10、Silverlight是学习XAML的一个伟大方式 

    正如前面所说的,Silverlight的XAML具有一个比较小的语法。这意味着它是学习XAML如何工作的一个最好的方式。试图学习XAML和了解这个技术的开发者将会把Silverlight作为创建清晰、简洁的代码的一种方式。大多数开发者将不久会开始思考他们会喜欢Silverlight的功能。当他们开始查看WPF的XAML的时候,他们会发现其中的大多数功能已经非常熟悉了。 

    相反,那些最初学习WPF的开发者在接触Silverlight后,将会需要放弃一些曾经拥有的功能。 

    目前Silverlight的运行时大约有4.5M。首次支持WPF的.NET 3.0运行时则接近30M。当然,并非所有的.NET 3.0全部内容都是WPF,但是WPF占据了其一大部分。从更小的Silverlight XAML开始是快速学习XAML的一个关键。你不会陷于高级WPF XAML概念的琐碎细节中,诸如模板、主题、数据绑定和3-D。 


    现在是时候来确定在你自己的Web网站中的什么地方来使用Silverlight。Silverlight是一个令人兴奋的技术,将给企业、客户和用户带来好处。希望本文可以帮助大家了解这个技术的真正好处和不足。

0
相关文章