RIA(Rich Internet Application) Microsoft 的 Avalon 和 XAML

** 1. ** ** 什么是 Avalon **

Avalon 是下一版本的 Windows (代号“ Longhorn ”)的一部分,是一个图形和展示引擎,主要由新加到 .NET 框架中的一组类集合而成。

** 2. ** ** 什么是 XAML **

Avalon 定义了一个在 Longhorn 中使用的新标记语言,其代号为“ XAML ”(可扩展应用程序标记语言)。可以使用 XAML 来定义文本、图像和控件的布局,这与使用 HTML 非常相似。大多数写入 Avalon 的应用程序均可能同时包含程序代码和 XAML 。您将使用 XAML 定义应用程序初始的可视界面,并编写用于实现其他功能的代码。您可以将程序代码直接嵌入到 XAML 中,也可以将它保留在一个单独的文件内。能够用 XAML 实现的所有功能均可以通过程序代码实现。因此,根本无需使用任何 XAML 也有可能编写程序。但是,反之则不行;许多任务只能通过程序代码完成,因此,只有最简单的应用程序才会只包括 XAML 。

利用 XAML 元素,您可以控制每个页的布局,包括文本和图像的显示、插入按钮、文本框等交互式组件。总之, XAML 是用于以声明方式呈现构成应用程序的页的用户界面的语言。当然,除了使用 XAML ,您也可以完全使用过程代码来编写 Longhorn 的应用程序。一般来说,一个基于 Longhorn 的成功的应用程序会同时具备 XAML 页和托管过程代码。您可以按自己的方式来组合它们,但这两者的任何组合都是可以接受的。

** 3. ** ** Avalon ** ** 和 XAML 如何工作? **

我们首先来看一个 XAML 的代码,也就是最经典的“ Hello World ”程序。将如下的代码存储成 HelloWorld.xaml 就可以。

1<textpanel background="BlanchedAlmond" fontfamily="Comic sans MS" fontsize="  36pt  " horizontalalignment="Center" xmlns="http://schemas.microsoft.com/2003/xaml">
2
3Hello, world! 
4
5</textpanel>

由于其中没有代码,因此您可以将 HelloWorld.xaml 文件直接加载到 Microsoft Internet Explorer 的 Longhorn 版本中,然后您将看到类似于一个 Web 页的内容。还可以使用一个目前称作 MSBuild 的程序来编译 HelloWorld.xaml 。进行这种编译时,还需要两个其他的短文件(此处未显示)。其中一个扩展名为 PROJ 或 MSPROJ 的文件会提供有关该程序的一些信息并列出所有必需的源文件( XAML 以及其他文件)。还需要另外一个 XAML 短文件来指出执行该程序时首先显示哪个 XAML 页。运行 Hello World 的可执行文件,您将看到一个类似于 Windows 程序的内容。图 1 同时显示了这两个版本。

MM0401Avalon2

图 1 Hello World 作为页面和作为程序

从某种意义上面来说 ,XAML 和 HTML 页面非常相似,不过因为是基于 XML 的,所以拥有了比较严格的规范,同时因为在 Avalon 下执行, Longhorn 整个操作系统成为其容器,相对于 IE 而言,拥有更加广阔的空间。

Avalon 和 XAML 象征着与过去基于 Windows 的应用程序编程的脱离。在许多方面,设计应用程序的 UI 都将比过去容易得多,而且部署起来也更轻而易举。很明显,由于有了用于 UI 定义的轻量 XAML 标记,基于 Longhorn 的应用程序会成为集中 Web 和桌面编程模型的下一步发展方向,并且会合并上述两种方法的最佳功能。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus