First Look at Silverlight 2
-----ScottGu
去年九月份,我们写了关于Silverlight1.0 Mac和windows版本支持的Blog,并计划发布支持Linux版本的Silverlight。Silverlight1.0 重点关注浏览器中多媒体场景的应用,并且支持JavaScript/Ajax编程模型。
将发布Silverlight2的Beta版,它是Silverlight在支持RIA(Rich Internet Appolication)开发的重要升级。我将在接下来的一段时间通过一些Blog帖子进行深入的介绍。
跨平台、跨浏览器的.Net开发
Silverlight2包含了一个跨平台、跨浏览器的框架(Framwork)版本,基于浏览器的.Net 开发平台.开发者可以使用任意的.Net语言(VB,C#,JavaScript,IronPyhthon或IronRuby)来开发Slilverlight应用。通过使用Visual Studio2008和Experssion Studio Tool可以满足Silverlight应用中的大量开发、设计人员协作要求。
即将发布的Silverlight2的Beta1版提供了一系列支持RIA开发的新特性,他们是:
- WPF UI 框架:Silverlight2包含了一个基于WPF界面框架,通过它可以非常容易的进行RIA开发。包含了一个强大的图形和动画引擎,也包含高级的UI控件,层管理,数据绑定,风格管理和皮肤模板。SilverlightUI框架是WPF框架的子集,和。Net完全兼容。开发者可以利用原有技巧、控件、代码和内容,就如同桌面Windows应用程序开发一样。
- 丰富的控件:Silverlight2包含了一系列内置的控件集合供开发者、设计者快速的开发应用成语。即将发布的Beta1版本包含了(TextBox、CheckBox、RadioButton等)。内置的层管理(StackPanel、Grid、Panel等)。常用功能控件(Slider、ScrollViewer、Calendar、DatePicker等)。数据操作控件(DataGrid、ListBox等),这些内置的控件支持控件模板模型,使开发者和设计者可以同心协力开发华丽 的解决方案。
- 丰富的网络支持:Silverlight2包含丰富的网络支持。支持REST、WS/SOAP、POX、RSS和标准HTTP。支持跨域的网络访问(Silverlight客户端可以直接访问WEB上的资源和数据)。Beta1也支持Socket。
- 丰富类库支持:Silverlight2包含了强大的.Net类库(Colletions、IO、Generics、Theading、Goloblization、XML、LocalStorage等)。它包括与.Net代码集成的HTML/JavaScript的API,LINQ和LINQ to XML进行数据的查询和转换。本地数据缓存和存储支持。Silverlight中的API与.Net框架兼容。
Silverlight2不需要.Net框架被安装就可以运行。Mac、Windows机器上Silverlight安装包已经包含了所需要的支持。
Silverlight2的Beta1只有4.3M,将会需要4-10秒进行安装。一旦你安装完毕,当你浏览WEBSilverlight页面时将自动运行。目前支持的浏览器(IE、FireFox、Safari等)
Silverlight2体验:构建一个简单的Digg客户端
为帮助人们快速理解Silverlight2,我编写了一个Silverlight程序,通过一系列步骤逐层深入的讲解一些编程概念(Control、Layout管理、网络管理、数据管理,风格管理、用户控件、模板等)。并且讲解了如何将基于WEB的Silverlight的程序迁移到基于WPF和完整.Net框架的桌面应用。
下面将分8个部分进行介绍:
Part1:创建“Hello World”使用Silverlight2和VS2008
Part2:使用Layout层管理
Part3:时候用网络获取数据并通过DataGrid进行展现
Part4:使用Style风格元素美化外观
Part5:使用ListBox、DataBinding显示列表数据
Part6:使用用户控件实现主/子界面应用
Part7:使用Template模板定制控件外观
Part8:使用WPF创建我们应用的桌面版本
这个应用程序示例是一个简单的搜索程序,时候用Digg.com的后台服务,允许用户在搜索主题中输入条件获得匹配的Digg信息。
可以单击,下载Digg客户端的完整示例代码
这个程序用的UI界面使用Silverlight的WPF框架,使用Silverlight网络堆栈和跨域访问支持功能,访问Digg Rest API,使用LINQ和LINQ to XML查询转换返回的数据进入界面绑定所需要的DiggStory对象。
这个程序支持主/子数据交互模型,允许用户重搜索结果列表中选择,进入详细信息。用户可以从直接进入文章详细内容,或者关闭详细内容在列表中选择其它的列表查看详细内容。
整个程序试用了35行C#代码和75行XAML 页面/用户控件标记,通过Silverlight的控件和类库进行开发。
如果你以前用过WPF,一定对示例中的概念比较熟悉。如果你没有使用过,示例将为你提供一个基础概念的一个概括。提供的一些必要的基本概念开始使用VS2008进行Silverlight 2 Beta1程序的开发。
希望有用!
Scott