为了实现用户对界面的定制,必须将界面信息持久存储于可执行文件之外,在软件启动时,先读取界面信息,然后根据界面信息生成图形用户界面( GUI)。由此可见,界面信息存储载体的选择和界面信息的解析成了研究可定制图形用户界面的重点。XML作为一门应用越来越广泛的标记语言,以其语法简单、开放灵活等优点逐渐得到程序设计人员的青睐。同样,XML配置文件作为界面元素信息的载体,因其独特的文档结构模型便于编辑和解析,越来越在图形用户界面的研究与应用中得到使用。9021
目前,基于XML的GUI语言的研究主要解决编程和界面显示的耦合性问题。出于从根本上实现数据与显示相分离考虑,相关学者提出了新的基于XML的图形用户界面的表达描述,实现了GUI 与系统的无耦合,从而根本上解决了跨平台的问题。另外,使用XML 描述界面元素也就是定义了界面元素的自描述接口,这对于实现代码和界面的复用,为界面的构件化提供了可能[1]。近年来,逐渐在手机、电脑等用户终端出现的桌面软件作为个性化极强的应用程序,对界面的可定制需求也越来越高。传统桌面软件的GUI实现方式缺乏类似HTML模式的“页面描述机制”,这个弊端导致大量冗余工作的出现。而且软件GUI的运行时动态创建也存在问题。针对这些缺陷,有学者提出了基于XML的图形用户界面的表达描述和实现,在这种方式下的GUI与软件属于无耦合方式,从而根本上解决了跨平台的问题。另外,这种方式下GUI可以与插件系统进行对接,为界面的构件化提供了可能[2]。
此外,随着嵌入式系统的逐渐成熟和应用广泛,基于XML的GUI在嵌入式系统中的应用也崭露头角。为了实现图形界面程序的动态生成,可以通过运行解释程序解析XML描述文件,动态生成Qt语言图形界面应用程序,这种技术可以缩短软件开发周期,提高软件的可扩展性、可文护性和稳定性[5]。基于嵌入式图形系统ClearX有一款图形界面开发工具DevelopGUI, 它为用户提供了良好的操作界面, 实现了基于控件库C learWidget的界面可视化设计。利用XML 文档作为图形界面的中间表示形式,一方面可以解析XML文档生成图形界面, 便于修改图形界面;另一方面便于生成应用程序代码。DevelopGUI提供一个代码生成器, 其功能是把存储图形界面信息的XML文档解析成符合ClearX程序风格的应用程序代码[8]。
以组态软件结合ActiveX控件为基础的图形界面定制化也发展迅速。其中,不同于传统方法,ActiveX控件的开发可采用一种全新的方法,即使用ActiveX ControlWizard将VCL组件自动转换成一个ActiveX控件,从而大大减少了编写程序的工作量,提高了开发质量和效率[12]。但往往大型组态软件存在应用成本高、图形界面系统专用性较差等缺陷,这就促使了小型组态软件图形界面系统的诞生,这种系统采用Visual Basic为开发工具, 将绘图窗体设置为对象设计窗体内的图片框子窗体,以制作绘图面板,并引用原有的ActiveX控件SSTab和TreeView,快速制作了属性窗口和工程项目导航栏。实践也表明,该系统在完成对工业现场监控的同时达到了资源的优化配置。
从定制技术的整体发展来看,现今的研究多在解决GUI与系统的跨平台问题;从程序开发角度看,逐渐实现了程序代码的模块化,提升了重用性,缩短了软件开发周期,提高软件的可扩展性、可文护性和稳定性。由于XML的多平台支持性,越来越多的系统平台开始运用其管理数据的强大优势在各个领域发挥积极作用。 图形界面定制化研究现状:http://www.youerw.com/yanjiu/lunwen_7605.html