Board logo

标题: 创建一种声明性 XML UI 语言 -1 [打印本页]

作者: look_w    时间: 2018-8-23 19:58     标题: 创建一种声明性 XML UI 语言 -1

简介GUI 开发可能是令人畏惧的任务。GUI 框架并不是总是拥有良好的文档,需要的代码量可能迅速增长,拖慢开发工作流。特别是支持这些 GUI 框架的拖放工具和 IDE 通常诱使 GUI 软件开发人员创建难以管理和阅读的代码。这可能会进一步混淆业务逻辑和 GUI 描述代码之间的界限,从而使软件维护更加困难。   
常用缩略词
这就是声明性 UI 语言之所以方便的原因。UI 语言描述 “是什么”,而不是 “该如何”。例如, HTML 描述显示的内容,而不是描述用于呈现内容的呈现函数。声明性语言并不指定 “该如何”,从而省略了控制流。尽管这种省略听起来好像一种限制,但它实际上是一种优点,因为控制流的副作用 — 如修改全局状态(比如变量)或调用其它函数或方法 — 被消除了。选择声明性语言还有利于将 UI 代码和应用程序代码分隔开来。这种分离将来还能提供一些好处,比如明确区分项目和团队角色,这甚至有可能降低业务逻辑和多个视图或视图技术之间的集成成本。
目前正在使用的声明性 XML UI 的例子不在少数。使用 GNOME 桌面环境的 Linux® 和 UNIX® 操作系统有 Glade。Microsoft® Windows® 用户拥有 Extensible Application Markup Language (XAML),该语言支持丰富的功能,包括在 XML 中插入代码。Adobe® Flex® Framework 的 MXML 格式为 Adobe Shockwave (SWF) 播放器描述 GUI 并包含代码插入。参阅 参考资料 中的链接了解更多信息。   
Java 技术中的基本声明性 UI 框架的必要组件可能包括:
下面可以创建声明性 XML 了,创建过程中要谨记上述必要组件。
声明性 XML第一个 XML 格式示例(见 )展示了一个简单的窗口、一个面板和一个按钮。 包含基本的必要属性,比如坐标、大小和引用单独内存组件的惟一标识符。
清单 1. 声明性 XML 概念
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<xui:XUI>
  <xui:Window id="window_0" name="Hello World" width="300" height="300" x="426"
    y="282" visible="true">
    <xui:GridLayout height="1" width="1"></xui:GridLayout>
    <xuianel id="panel_0" x="0" y="0" name="Hello Panel"
      width="1" height="1">
      <xui:GridLayout height="1" width="1"></xui:GridLayout>
        <xui:Button x="0" y="0" width="1" height="1" id="button_0"
          label="ress Me" enabled="true" selected="true" orientation="horizontal"/>
    </xuianel>
  </xui:Window>
  <xui:Resource type="java" class="ButtonModel" uri="model.jar"/>
</xui:XUI>






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0