论文部分内容阅读
Direct UI系统是直接建立在图形输出硬件驱动和用户输入硬件驱动上的GUI系统,它作为界面描述和界面输出的中间层,向上解释界面描述和行为,向下输出界面,并在中间层提供对界面描述和界面行为控制的扩展能力。典型的Direct UI系统包括以Webkit为代表的各种浏览器引擎,以Android UI为代表的用于快速应用开发的UI系统和以viksoe. dk为代表的众多开源项目。使用Direct UI技术进行GUI开发具有可移植、界面开发和界面业务开发分离和可以快速进行界面开发等优势。在此背景下,本文主要讨论了以下工作:1. Direct UI系统的架构研究:作者通过分析目前已有的DirectUI系统的具体实现,从架构层次,抽象地给出了一个完整的Direct UI系统应具有的模块以及模块之间的关系,为分析和改进Direct UI系统奠定了基础。2.排布算法的分析与改进:排布系统是Direct UI系统的核心,决定了Direct UI系统的能力和效率。对现有的排布算法进行逐一分析需要大量的工作,另外,这些排布算法用于处理不同规则的界面描述,排布算法之间也难以进行横向比较。因此,作者对现有的排布算法使用的核心方法进行了抽象和分类,并对这些类别进行了分析和对比。在此基础上,作者提出了一种改进的排布算法,解决了现有的排布算法在一些情况下性能下降的问题。3.Web中完整面向对象语义表达的实现:构建基于Web的DirectUI系统唯一可用的语言是JavaScript,它不能完整地表达标准的面向对象的语义。这使得在现有Direct UI系统中成熟使用的结构不能直接应用到基于Web的Direct UI系统的构建中。为此,作者提出了一种在Web中实现完整面向对象语义表达的方法,并使用这种方法实现了一套JavaScript面向对象扩展框架。使得现有的Direct UI系统中成熟使用的结构能够直接应用到基于Web的Direct UI系统的构建中。4.基于Web的Direct UI系统的实现:作者使用提出的架构、改进的排布算法和语言框架,实现了一套完整的基于Web的Direct UI系统,验证了提出的架构、算法和技术的可行性。