CN1530829A - 可扩展图形用户接口开发框架 - Google Patents
可扩展图形用户接口开发框架 Download PDFInfo
- Publication number
- CN1530829A CN1530829A CNA2004100084323A CN200410008432A CN1530829A CN 1530829 A CN1530829 A CN 1530829A CN A2004100084323 A CNA2004100084323 A CN A2004100084323A CN 200410008432 A CN200410008432 A CN 200410008432A CN 1530829 A CN1530829 A CN 1530829A
- Authority
- CN
- China
- Prior art keywords
- user interface
- text file
- graphical user
- keywords
- keyword
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008520 organization Effects 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 206010009696 Clumsiness Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种方法和一种设备,用来从一个文本文件产生一个GUI。好处是,该文本文件通过从库中选择关键词来构造,前述库利用不同关键词预先定义,每个关键词与某个图形项的逻辑连接关联。通过这种方式,构造一个由关键词组成的文本文件尤为容易,所述文本文件代表了需要生成的GUI。可以采用一个解析器来解释与各个关键词相关联的逻辑连接。这种解析器能够访问定义其语法的一组规则。这样,可以容易地用新规则扩展其语法。因此,解释关键词在文本文件中的特定组织尤为简单,从而能够例如插入某项到另一项或者分解图形项。
Description
技术领域
本发明涉及一种产生需要显示的图形用户接口GUI的方法。此外,本发明还涉及一种产生需要显示的GUI的设备。本发明还涉及一种计算机可读媒质,该媒质上的计算机程序包括具有产生GUI的软件程序的代码,以产生需要显示的GUI。
背景技术
图形用户接口(GUI)的开发需要开发语言,由于编写重复代码部分的乏味性,这些语言使用得很频繁。此外,因为代码的重复和已有语言,例如HTML的拙劣的表达能力,维护开发的GUI也是一个问题。
GUI开发工具的已有解决方法可以划分成两大类:
i)GUI编辑器:它包括代码编辑器,可以例如按照某个开发人员的需求,产生代码。该开发人员告诉编辑器“我需要一个按钮”;编辑器根据这种按钮的图形表示,产生若干行代码。这些编辑器过多的重视了对象的图形表示。
美国专利US6246403描述了一种根据文本文件产生GUI的方法和设备的一个例子。该设备包括一个计算机,配置成运行能够让用户创建文本文件的软件程序,用户利用与编辑程序相关联的输入设备产生文本文件。该文本文件代表了需要创建的GUI。计算机还配置成运行一个GUI生成软件程序,该程序接收文本文件作为输入,产生与需要创建的图形用户接口相关的数据树结构。接收数据树结构的GUI生成软件程序随后利用该数据树结构,产生GUI,在与计算机相连的显示器上显示GUI。用户所创建的文本文件最好是GUI的两维图形表示,包括用于在显示器上生成一个或多个框的文本字符。
利用GUI编辑器,每个开发人员不得不对编辑器所产生的代码进行加工,即,必须完成、修改、调整代码,得到所需的图形表示,或者增加一个动态行为。这意味着GUI编辑器所产生的结果代码必须可被理解,以便能够调整和维护。生成的代码通常不是这样。此外,无法分解部分代码,因为代码是多次生成的。每次编辑器复制生成代码时,都必须手工完成每个改动。此外,使用已有的编辑器使得一些开发人员很难遵从一些约束性的图形规则。因为代码重复,它们易于出现错误和问题。其结果是浪费大量的人力资源。
ii)第二类GUI开发技术包括类似Xform(Nanoworks出品)、Xforms(W3C出品)、XUL(Mozilla出品)或WSUI之类的技术,这类技术采用一种语言来描述GUI。它们具有明显的缺陷,即在功能方面(回答“什么”问题,例如“用户接口构件是什么”)和图形表示(回答“如何”问题,例如“如何显示”)之间没有真正的区分。
在某些情况下,开发技术对提供服务的服务器侧(例如万维网服务器)产生影响。因此,如果因某些原因无法修改服务器,那么就无法采用这些技术,前述原因可以是例如性能原因,嵌入式解决方案的服务器二进制容量大小,或者就是因为无法对服务器采取行动。
这些方法是有限的。它们只能产生一种输出类型(Xform只产生HTML)。它们只能够处理表格(Xforms)。它们不是“可扩展”的:所有这些语言的语法都有限,具有闭合的构件集。对某个已有语法不支持的构件的需求可能会使得整个开发过程成问题。要实现所有想象得到的特性根本不可能。这当然是已有解决方案的主要缺陷。
已有GUI开发技术不允许在开发者之间共享图形规则。此外,它们对服务器或图形用户接口提出了许多限制。最后,所有已有方法都不可扩展。因此,开发人员无法自由地满足客户需求和愿望。
发明内容
基于上述原因,本发明的目的是提供一种方法和一些计算工具,可以用于产生新的图形用户接口而不需要开发人员具有任何计算技巧。
按照本发明,该目的通过应用一种方法来实现,该方法通过创建代表所述GUI的文本文件来产生需要显示的GUI。这种方法的优势是,该文本文件通过从库中选择关键词来构造,前述库利用不同关键词预先定义,每个关键词与某个图形项的逻辑连接关联。通过这种方式,构造一个由关键词组成的文本文件尤为容易,所述文本文件代表了需要生成的GUI。不同图形项的分解,以及利用关键词将图形项插入到另一图形项不需要任何高级计算技巧,关键词可以采用某种特定结构,例如树结构,组织在所述文本文件内部。
可以采用一个解析器(parser)来解释与各个关键词相关联的逻辑连接。这种解析器能够访问定义其语法的一组规则。这样,可以容易地用新规则扩展其语法。借助这种解析器,解释关键词在文本文件中的特定组织尤为简单,所述文本文件允许例如插入某项到另一项或者分解图形项。还可以通过按照本发明的解析器,对逻辑连接应用新的规则,从而扩展按照本发明产生GUI的可能性。
本发明还涉及一种产生需要在显示器上显示的所述GUI的设备,该设备包括:一个计算机,配置成运行一个编辑器软件程序,该程序能够让用户创建和在显示器上察看文本文件。用户操作与计算机通信的某个输入设备,创建所述文本文件,前述计算机配置成运行一个GUI生成软件程序,该程序根据所述文本文件,产生需要在显示器上显示的所述GUI。按照本发明的计算机的特征在于,它配置成运行包括多个不同关键词的所述库,每个关键词与某个图形项的逻辑连接相关联,用户利用所述输入设备从所述库中选出关键词,产生所述文本文件。此外,按照本发明的GUI生成软件程序包括一个解析器,该解析器应用于所述文本文件,解释与每个选出的关键词相关联的各个逻辑连接。
本发明还涉及一种计算机可读媒质,该媒质上的计算机程序包括转换代表需要显示的GUI的所述文本文件的代码。该代码的特征在于,它在转换所述文本文件时,解释了选入到所述文本文件的关键词的各个逻辑连接。通过这种方式,该代码根据所述文本文件产生需要显示的GUI。
本发明特别适合产生图形用户接口,尤其是多集合口,从而为若干类型的机器,例如PC、GSM/Wap、GSM/MTS、个人数字助理(PDA)等,产生若干输出。
本发明的优选开发例在相关的权利要求、以下的描述和附图中给出。
附图说明
下面结合附图,进一步解释本发明的一种示例性实施例,在附图中:
图1是按照本发明产生GUI的体系结构的一种概图;
图2a示出了按照本发明的文本文件的一个例子;
图2b示出了按照本发明产生的GUI的一个例子。
具体实施方式
图形用户接口也被称为“屏幕”,可以容易地通过接口构件的抽象描述——组成屏幕的图形项——来描述。这种抽象描述可以利用一种易于使用的语言,例如可扩展图形标记语言XguiML来编写。这类语言使得开发人员能够容易地创建某个文本文件,该文件是利用构件树对屏幕的一种描述,前述构件树包括不同的图形项。这使得构件能够由其它构件组成,也就是采用某种递归过程。
不同构件/图形项对应于某些GUI项的“功能”描述,例如一个按钮对应一个可以单击的东西。此外,构件/图形项可以对应于某种动态行为,例如当某人单击某个按钮时,会发生什么。
描述的抽象发生在两个层次:输出语言的抽象和图形方面的抽象。抽象描述利用翻译系统从简单抽象语言翻译到复杂的输出语言。这可以利用某种通用解析器来完成。翻译系统可以包含某种特定的规则描述,后者通过递归应用于各个构件。这些规则等效于某些转换规则,构造了应用解析器解释的语法。
Xgui翻译系统的特性如下:
-规则描述在单个位置中包含了图形规则;
-规则描述允许代码分解;
-利用递归,允许构件包含其它构件;
-开发人员能够容易地引入新规则,从而高度可扩展。
按照本发明的翻译系统类似于应用于文本文件上的“检验员”,前述文本文件通过从库中找出的关键词创建。检验员必须做的事之一就是检验所述文本文件是否按照定义的语法构造。
图1示出了按照本发明的Xgui框架。所有需要的关键词都收集到某个作为GUI抽象描述而创建的文本文件。后者可以是(例如)以XML文件的形式实现,具有适当的XML模式,该模式定义了XguiML抽象语言的语法。抽象描述包含的构件-项-构成了用户接口。
翻译系统接受GUI描述,根据翻译规则将抽象构件描述翻译成输出代码。在框图中示出了实现翻译系统的(多种)可能性中的一种:单个XSLT样式表包含了翻译规则,并利用“标准”XSLT解析器作为翻译引擎。
翻译系统,尤其是翻译规则存储在一个地方,称为图形规则管理库(graphica1 charter)。通过这种方式,后者可以容易地被一组开发人员共享。
在本例中,产生的图形用户接口以HTML格式编码,但并没有限制产生别的格式(用于Wap电话的WML,C++代码或者用于构造用户接口的任何语言)。此外,相同的描述可以产生若干不同格式的输出(HTML、WML……)。
在图2a中,示出了文本文件的一个例子。GUI抽象描述包含了一棵构件树,它描述了构造用户接口的构件。在这棵树中,构件可以包含其它构件。例如,一个向导页包含一个区域,后者包含若干文本输入。
一些构件可以是隐式的,也就是说,开发人员不必关心它们的存在。描述中其它构件的存在暗示了它们的存在。例如,如果开发人员声称需要一个向导,翻译系统将自动产生四个按钮(取消、返回、下一步和完成),用于向导的引导。这种自动生成提高了开发人员的生产效率。
在图2b中示出了按照本发明,利用Xgui框架产生的图形用户接口的一个例子。在该例中,产生的代码是HTML格式。因为代码可以被自动生成——关键词——这提高了开发人员的生产效率。
如果允许接入互联网或局域网,图形规则管理库可以被不同位置不同团队的若干开发人员共享。该规则总是被遵从,因为它在翻译系统中描述一次。
通过这种方法开发的图形用户接口的维护有很大改善,因为开发人员只需要维护翻译规则和GUI描述,也就是文本文件(GUI描述比GUI输出代码更易于维护)。可扩展性也是该解决方案相对于其他已有方法的一大优势。它允许无限制地创建新构件。
Claims (9)
1.一种产生需要显示的图形用户接口的方法,该方法包括以下步骤:
创建代表需要产生的所述图形用户接口的文本文件,
其特征在于以下步骤
-提供一个库,该库包括多个不同关键词,每个关键词与某个图形项的逻辑连接关联;
-从所述库中选择关键词来创建所述文本文件;以及
-根据所述文本文件,至少通过解释与每个选择的关键词相关联的各个逻辑连接来产生所述图形用户接口。
2.根据权利要求1的方法,其特征在于,所述关键词与计算机语言无关。
3.根据权利要求1的方法,其特征在于,所述关键词可以采用某种特定结构组织在所述文本文件内部,该结构允许将某项插入另一项中。
4.根据权利要求1的方法,其特征在于,应用一个解析器来解释与每个选择的关键词相关联的各个逻辑连接。
5.根据权利要求4的方法,其特征在于,所述解析器能够用新规则扩展。
6.一种产生需要在显示器上显示的图形用户接口的设备,该设备包括:
一个计算机,配置成运行能够让用户创建和在显示器上察看文本文件的编辑器软件程序,用户操作与计算机通信的某个输入设备,创建所述文本文件,前述计算机配置成运行一个图形用户接口生成软件程序,根据所述文本文件,产生图形用户接口,并在显示器上显示该图形用户接口,
其特征在于,计算机配置成运行包括多个不同关键词的一个库,每个关键词与某个图形项的逻辑连接相关联,用户利用所述输入设备从所述库中选出关键词,产生所述文本文件。
7.根据权利要求6的设备,其特征在于,所述图形用户接口生成软件程序包括一个解析器,它应用于所述文本文件,解释与每个选出的关键词相关联的各个逻辑连接。
8.一种计算机可读媒质,该媒质上的计算机程序包括:
转换代表需要显示的图形用户接口的文本文件的代码,所述代码包括一个图形用户接口生成软件程序,根据所述文本文件,产生图形用户接口,并在显示器上显示该图形用户接口,
其特征在于,所述代码在转换所述文本文件时,解释了选入所述文本文件的关键词的各个逻辑连接,前述关键词从一个库中选出,该库包括多个不同关键词,每个关键词与某个图形项的逻辑连接关联。
9.根据权利要求8的计算机可读媒质,其特征在于,所述代码包括一个解析器,该解析器带有应用于所述逻辑连接的预定规则。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03290662A EP1460533A1 (en) | 2003-03-17 | 2003-03-17 | Extensible graphical user interface development framework |
EP03290662.0 | 2003-03-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1530829A true CN1530829A (zh) | 2004-09-22 |
Family
ID=32799115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100084323A Pending CN1530829A (zh) | 2003-03-17 | 2004-03-10 | 可扩展图形用户接口开发框架 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20040183832A1 (zh) |
EP (1) | EP1460533A1 (zh) |
CN (1) | CN1530829A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102197373B (zh) * | 2008-10-31 | 2014-05-07 | 株式会社东芝 | 框架程序以及客户机装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050097574A1 (en) * | 2003-10-30 | 2005-05-05 | Microsoft Corporation | Modular, robust, component user interface framework |
WO2005114401A1 (en) * | 2004-05-21 | 2005-12-01 | Computer Associates Think, Inc. | Automated creation of web gui for xml servers |
US20070055932A1 (en) * | 2005-09-02 | 2007-03-08 | Microsoft Corporation | Application programming interfaces for graphical user interfaces |
JP5413198B2 (ja) * | 2007-11-21 | 2014-02-12 | 日本電気株式会社 | ユーザインタフェース認識装置、ユーザインタフェース認識方法およびプログラム |
EP2530583B1 (en) | 2011-05-31 | 2019-11-27 | Accenture Global Services Limited | Computer-implemented method, system and computer program product for displaying a user interface component |
US20120324377A1 (en) * | 2011-06-15 | 2012-12-20 | Microsoft Corporation | User interface extensibility for web application development tool |
US20130067432A1 (en) * | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Application development toolkit |
CN103677786A (zh) | 2012-09-21 | 2014-03-26 | 国际商业机器公司 | 用于辅助图形化用户界面设计的方法和装置 |
JP6022111B2 (ja) * | 2014-03-20 | 2016-11-09 | 三菱電機株式会社 | 動作設計装置及び動作設計プログラム |
US10725797B2 (en) | 2016-09-05 | 2020-07-28 | Microsoft Technology Licensing, Llc | Service-driven dynamic user interface technology |
CN114443031B (zh) * | 2021-12-24 | 2023-11-10 | 苏州浪潮智能科技有限公司 | 一种图形用户界面编写的方法、系统、设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6083276A (en) * | 1998-06-11 | 2000-07-04 | Corel, Inc. | Creating and configuring component-based applications using a text-based descriptive attribute grammar |
US6246403B1 (en) * | 1998-10-08 | 2001-06-12 | Hewlett-Packard Company | Method and apparatus for generating a graphical user interface |
AU2001294555A1 (en) * | 2000-09-14 | 2002-03-26 | Bea Systems Inc. | Xml-based graphical user interface application development toolkit |
-
2003
- 2003-03-17 EP EP03290662A patent/EP1460533A1/en not_active Withdrawn
-
2004
- 2004-03-10 CN CNA2004100084323A patent/CN1530829A/zh active Pending
- 2004-03-16 US US10/800,673 patent/US20040183832A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102197373B (zh) * | 2008-10-31 | 2014-05-07 | 株式会社东芝 | 框架程序以及客户机装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1460533A1 (en) | 2004-09-22 |
US20040183832A1 (en) | 2004-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7506324B2 (en) | Enhanced compiled representation of transformation formats | |
US7542888B2 (en) | Report generator for a mathematical computing environment | |
Paige et al. | Rigorous identification and encoding of trace-links in model-driven engineering | |
Kienle et al. | Rigi—An environment for software reverse engineering, exploration, visualization, and redocumentation | |
CN1530829A (zh) | 可扩展图形用户接口开发框架 | |
US9760345B2 (en) | Recursive ontology-based systems engineering | |
Wielemaker et al. | Using SWISH to realize interactive web-based tutorials for logic-based languages | |
US12038940B2 (en) | Architecture for data map converters | |
US20040102960A1 (en) | Process and system for generating knowledge code and converting knowledge code into text | |
Johnstone et al. | Evaluating GLR parsing algorithms | |
Le Moulec et al. | Automatic production of end user documentation for DSLs | |
Chang et al. | Support NNEF execution model for NNAPI | |
Kokash et al. | Implementing a domain-specific language for model-based drug development | |
Kerkouche et al. | Transforming UML models to colored Petri nets models using graph grammars | |
Fischer et al. | Tool-based language development | |
Chaudhary et al. | Intelligent virtual research environment for natural language processing (IvrE-NLP) | |
Milanović et al. | Bridging concrete and abstract syntaxes in model‐driven engineering: a case of rule languages | |
Charpentier et al. | Revticulate: An R framework for interaction with RevBayes | |
Kelsen et al. | A lightweight modeling approach based on functional decomposition | |
Ehrig et al. | Towards Model Transformation in Generated Eclipse Editor Plug-Ins | |
Feng et al. | Scalable models using model transformation | |
Hallagan | The design of XML-based model and experiment description languages for network simulation | |
Repenning et al. | X-expressions in XMLisp: S-expressions and extensible markup language unite | |
CN119127136A (zh) | 一种基于Excel的低代码平台的开发方法、系统及设备 | |
Weber | Utfm-a next generation language and tool for feature modeling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |