前段时间 MS 发布了 SilverLight 2.0 正式版,看到消息满天飞,抑制不住好奇心尝试了一把。原来我对 UI 方面的编程兴趣不大,也有很久没有搞过 .net 了,于是趁此机会恶补了一下新语法,还有什么 JSON、AJAX 之类。恍然大悟,鬼佬的概念炒作也不是盖的,其实 JSON 就是个序列化,AJAX 就是异步存取,都是新瓶装旧酒。
说到 SilverLight 那不得不先说说 XAML (Extensible Application Markup Language ,发音:Zamel),确实是个好东西,很有创意,不过要说它得先说说 WinFX (有完没完:))。MS 创建它的主要目的是应对富互联网应用的挑战,在 Vista 上通过 WinFX 的呈现子系统运行时环境与 .net Framework 交互(有点拗口吧:)),WinFX 号称 Windows 平台的第四代 API,将第三代 API 进行精简包装,全部为 .net 里的受托管代码(managed code),新增图形界面子系统、文件系统和网络通讯子系统等,大大增强了客户端的表现力,XAML 就是其中图形界面主力。
言归正传,XAML 有点类似将 .net 界面控件序列化,XAML 元素代表的是实实在在的 CLR 类,包括丰富的界面形状、布局、风格、事件等元素,支持图形变换和多种媒体操作,具体请参考 SDK,类似于 HTML 被解析成 DOM ,XAML 被解析成 ElementTree。前台界面与后台代码分离,界面设计师使用 Blend 来设计交互界面,程序员可以专注于业务逻辑的实现。还有一个很大的好处是 WebFor
说到 SilverLight 那不得不先说说 XAML (Extensible Application Markup Language ,发音:Zamel),确实是个好东西,很有创意,不过要说它得先说说 WinFX (有完没完:))。MS 创建它的主要目的是应对富互联网应用的挑战,在 Vista 上通过 WinFX 的呈现子系统运行时环境与 .net Framework 交互(有点拗口吧:)),WinFX 号称 Windows 平台的第四代 API,将第三代 API 进行精简包装,全部为 .net 里的受托管代码(managed code),新增图形界面子系统、文件系统和网络通讯子系统等,大大增强了客户端的表现力,XAML 就是其中图形界面主力。
言归正传,XAML 有点类似将 .net 界面控件序列化,XAML 元素代表的是实实在在的 CLR 类,包括丰富的界面形状、布局、风格、事件等元素,支持图形变换和多种媒体操作,具体请参考 SDK,类似于 HTML 被解析成 DOM ,XAML 被解析成 ElementTree。前台界面与后台代码分离,界面设计师使用 Blend 来设计交互界面,程序员可以专注于业务逻辑的实现。还有一个很大的好处是 WebFor