去年9月,我们发布了面向Mac和Windows的Silverlight 1.0,还宣布了在Linux上提供Silverlight的计划。Silverlight 1.0着重于促进浏览器中的丰富媒体场景,支持JavaScript/AJAX编程模型。
我们不久将发布 Silverlight 2 的第一个公开beta,这是个Silverlight的重大更新,将注重于促进富网络应用(RIA)的开发。本贴是我将在以后的几个月内撰写的详细讨论相关细节的几个贴子的第一篇。
跨平台/跨浏览器的 .NET 开发
Silverlight 2 包含了.NET 框架的一个跨平台,跨浏览器版本,促成了在浏览器中运行的一个丰富的 .NET 开发平台。开发人员可以使用任何一门 .NET 语言(包括VB, C#, JavaScript, IronPython 和 IronRuby)来编写 Silverlight 应用。我们将推出Visual Studio 2008 和 Expression Studio的工具支持,来促成建造 Silverlight 方案时开发人员与美工设计师间良好的工作流和集成。
这个即将发布的Silverlight 2 Beta1 版本提供了能促成精妙的RIA应用开发的一套丰富的功能集。这些功能包括:
Silverlight 2 不要求.NET框架安装在计算机上就能运行。Silverlight 安装下载包括了在原装的Mac OSX 或 Windows机器上允许上述所有功能(还有我们不久将讨论的更多的功能)所需的一切。
Silverlight 2 Beta1 版本的大小为4.3MB,在没有安装的机器上大概要花4-10秒钟安装。Silverlight 2安装完毕后,你就可以在你喜欢的浏览器(IE, FireFox, Safari等等)里浏览 Web,自动运行丰富的Silverlight应用。
Silverlight 2实战演示:建造一个简单的Digg客户端
为帮助大家尽快地上手Silverlight 2,我决定,建造一个Silverlight应用,然后撰写一系列按部就班的教程详细解释其后的不同编程概念(控件,布局管理,networking,数据绑定,样式,用户控件,模板等等),也许更有乐趣一些。我还写了一个教程贴子,示范如何把该应用移植到浏览器外,把它变成一个使用WPF和完整的. NET框架的桌面应用。
下面是我建造的Silverlight 应用的一些屏幕截图。这是一个对很受欢迎的Digg.com网站的简单的搜索前端,允许用户输入要搜索的主题,然后浏览匹配这些主题的Digg故事。
应用中的所有界面都是用 Silverlight的WPF框架建造的,该应用使用Silverlight的networking层和跨域访问支持,直接调用Digg REST API进行查询,然后使用LINQ 和LINQ to XML对返回的数据进行查询/转换成我可以绑定到界面的DiggStory对象 :
该应用支持主从式(Master/Detail)数据交互模型,允许用户从查询列表中选择故事,然后很快地转入细节部分。一个用户可以直接从细节表单跳到Digg文章,或者将其关闭,然后挑选另外一个故事来阅读其细节:
整个应用大概用了35行的C#代码和75行的XAML 页面/用户控件标识来实现。它只用了内置于 Silverlight中的用户控件和库。
原文连接:http://blog.joycode.com/scottgu/archive/2008/02/23/114891.aspx