基于Lua脚本的人机界面开发方法及系统的制作方法

文档序号:6383058阅读:3042来源:国知局
专利名称:基于Lua脚本的人机界面开发方法及系统的制作方法
技术领域
本发明涉及人机界面开发技术领域,尤其涉及一种基于Lua脚本的人机界面开发 方法及系统。
背景技术
目前,移动终端(例如手机或平板电脑)上的人机界面的开发都是基于传统的 Java, C/C++来实现。而上述技术都有一个共同的弊端就是开发的代码量庞大、代码逻辑 设计复杂。这对于在竞争异常激烈的市场上,快速推出具有个性化特点的产品是一个巨大 的瓶颈。
Lua 是一个小巧的脚本语言。,由 Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo于1993年开发。其设计目的是为了嵌入应用程序中,从而 为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平 台上都可以编译,运行。
有鉴于此,如何将Lua引入手机的人机界面开发中成为当前的研究方向之一。发明内容
鉴于上述现有技术的不足之处,本发明提出一种基于Lua脚本的人机界面开发方 法及系统,以克服现有技术中的人机界面开发时存在的开发代码量庞大、代码逻辑设计复 杂等问题。
本发明解决技术问题所采用的技术方案如下一种基于Lua脚本的人机界面开发方法,用于在移动终端的目标平台上实现人机界面 开发,其中,所述方法包括以下步骤51、把完整的Lua代码开发包作为第三方文件编译进目标平台的操作系统,使Lua脚本 移植到所述目标平台上;52、将Lua脚本的框架建立在目标平台的应用框架之上,令Lua脚本能通过调用目标平 台的应用框架接口实现移动终端的功能;53、所述目标平台的原生程序启动后,当一基于Lua脚本编写的程序启动后,目标平台 自动加载一 Lua虚拟机,所述Lua虚拟机对上述程序的应用场景中的Lua接口进行解析, 解析完成之后通过调用GeLua、应用服务接口和封装的适配层接口来实现人机界面开发。
所述的基于Lua脚本的人机界面开发方法,其中,所述步骤S2 中将Lua脚本 的框架建立在目标平台的应用框架之上具体包括521、根据目标平台代替调用内存分配的应用程序编程接口函数;具体来说,是根据调 用目标平台的资源分配接口实现最终的资源分配,比如内存的分配;522、需要根据目标平台的调用接口对于Lua脚本的文件系统的操作函数进行封装适配;523、Lua脚本的框架能够接收到移动终端的第一信息,所述第一信息包括定时器信息、手机按键信息和socket信息;524、将底层的目标平台的功能封装注册到Lua虚拟机中;525、实现目标平台的底层函数对Lua脚本中的应用程序编程接口的回调。
所述的基于Lua脚本的人机界面开发方法,其中,所述步骤S3中Lua虚拟机用于 创建Lua脚本的执行环境,包括向人机交互界面的应用程序管理器提供用来控制每个应用 场景的生存周期接口和向所述应用场景发送第一数据,所述第一数据包括事件和用户数 据。
所述的基于Lua脚本的人机界面开发方法,其中,所述Lua脚本的框架包括一用c 语言编写的Lua脚本的函数库和Lua脚本的引擎。
所述的基于Lua脚本的人机界面开发方法,其中,所述步骤S3中启动一基于Lua 脚本编写的程序,目标平台自动加载一 Lua虚拟机的步骤具体包括531、显示一基于Lua脚本编写的程序的应用场景;532、初始化一目标平台的本地窗口函数的数据结构,Lua脚本调用目标平台的功能 接口来实现显示绘制,每一 Lua应用场景的窗口的数据结构中有状态管理的回调函数数据 接口 ;533、初始化虚拟机,然后把所述窗口的数据结构纳入目标平台的窗口管理堆栈中,会 保存相应的虚拟机的现场。
所述的基于Lua脚本的人机界面开发方法,其中,所述步骤S3中Lua虚拟机对 上述程序的应用场景中的Lua接口进行解析,解析完成之后通过调用GeLua和Service/ Wrap layer来实现人机界面开发具体包括534、通过Lua脚本的引擎对Lua脚本中的树状分布的各个元素的遍历解析,生成一个 按照先序遍历次序的各个元素节点的列表;535、将上述列表的数据通过GeLua的图形绘制引擎调用目标平台的底层系统的图形 设备接口完成对Lua脚本的定制场景的绘制,实现人机界面开发。
一种基于Lua脚本的人机界面开发系统,用于在移动终端的目标平台上实现人机 界面开发,其中,所述系统包括移植模块,用于把完整的Lua代码开发包作为第三方文件编译进目标平台的操作系 统,使Lua脚本移植到所述目标平台上;框架构建模块,用于将Lua脚本的框架建立在目标平台的应用框架之上,令Lua脚本能 通过调用目标平台的应用框架接口实现移动终端的功能;界面开发模块,用于所述目标平台的原生程序启动后,当用户去操作启动一基于Lua 脚本编写的程序,目标平台自动加载一 Lua虚拟机,所述Lua虚拟机对上述程序的应用场 景中的Lua接口进行解析,解析完成之后通过调用GeLua和Service/Wrap layer来实现 人机界面开发。
有益效果与现有技术相比较,本发明的基于Lua脚本的人机界面开发方法及系统,充分利用了 Lua脚本轻量级、易于移植和高效的特性,将Lua脚本引入移动终端开发中,为移动终端的 人机界面开发带来了全新的开发模式该模式具有灵活的扩展和定制功能,大大缩短了 人机界面以及应用程序的开发周期。


图1为本发明的基于Lua脚本的人机界面开发方法的流程图。
图2为本发明的基于Lua脚本的人机界面开发方法中Lua框架设置在目标平台的 应用框架之上的示意图。
图3为本发明的基于Lua脚本的人机界面开发方法的实施例中将Lua脚本的框架 建立在目标平台的应用框架之上的方法的流程图。
图4为本发明的基于Lua脚本的人机界面开发系统的结构框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对 本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用 于限定本发明。
请参阅图1,其为本发明的基于Lua脚本的人机界面开发方法的流程图,用于在移 动终端的目标平台上实现人机界面开发,如图所示,所述方法包括以下步骤51、把完整的Lua代码开发包作为第三方文件编译进目标平台的操作系统,使Lua脚本 移植到所述目标平台上;52、将Lua脚本的框架建立在目标平台的应用框架之上,令Lua脚本能通过调用目标平 台的应用框架接口实现移动终端的功能;53、所述目标平台的原生程序启动后,当一基于Lua脚本编写的程序启动后,目标平台 自动加载一 Lua虚拟机,所述Lua虚拟机对上述程序的应用场景中的Lua接口进行解析, 解析完成之后通过调用GeLua、应用服务接口和封装的适配层接口来实现人机界面开发。
下面分别针对上述步骤进行详细描述所述步骤SI是把完整的Lua代码开发包作为第三方文件编译进目标平台的操作系统, 而由于Lua基于标准的C语言开发,几乎在所有操作系统和平台上都可以编译,运行,故此 可实现Lua脚本移植到所述目标平台上。
所述步骤S2是将Lua脚本的框架建立在目标平台的应用框架之上,所述Lua脚本 的框架(也称Lua框架)的设计将建立和依赖于目标平台的应用框架之上即对于移动终端 (如手机)本身的功能的接口将调用目标平台的框架接口,而目标平台的应用框架是通过调 用平台底层的API接口来实现功能调用。简单来说,如图2所示,所述Lua框架100设置在 目标平台的应用框架200之上,当实现移动终端的功能时,Lua框架100调用目标平台的应 用框架200的接口,而目标平台的应用框架200则通过调用平台底层的API (应用程序编 程)接口 300来实现功能调用。
具体来说,如图3所示,在本实施例中,所述将Lua脚本的框架建立在目标平台的 应用框架之上具体包括521、根据目标平台代替调用内存分配的应用程序编程接口函数;522、需要根据目标平台的调用接口对于Lua脚本的文件系统的操作函数进行封装适配;523、Lua脚本的框架能够接收到移动终端的第一信息,所述第一信息包括定时器信息、手机按键信息和socket信息;524、将底层的目标平台的功能封装注册到Lua虚拟机中;525、实现目标平台的底层函数对Lua脚本中的应用程序编程接口的回调。
通过上述设置,令Lua能够再目标平台上工作起来。
最后,所述目标平台的原生程序启动后,当用户去操作启动一基于Lua脚本编写 的程序,目标平台自动加载一 Lua虚拟机,所述Lua虚拟机对上述程序的应用场景中的 Lua接口进行解析,解析完成之后通过调用GeLua和Service/Wrap layer来实现人机界 面开发。基于Lua脚本编写的程序的应用场景(Lua scripts)对应与手机应用的每一个屏 幕,每个应用场景有一个根节点,整个的应用场景布局呈树状结构。所述GeLua是每个Lua 场景绘制的核心模块,由它调用平台底层(即目标平台的底层)的GDI (图形设备接口)函 数,将场景绘制呈现给终端用户。Service/Wrap layer是针对目标平台本身具体功能接口 和服务的分装,目标平台提供的功能的接口将被统一封装作为库的形式注册到Lua虚拟机 中,而上层的Lua脚本可以通过对应的Lua脚本层的接口访问平台的功能。
在本实施例中,Lua虚拟机(Lua Virtual Machine,简称LVM)用于创建Lua脚本 的执行环境,包括向人机交互界面的应用程序管理器提供用来控制每个应用场景的生存周 期(start/pause/ki 11)接口和向所述应用场景发送第一数据,所述第一数据包括事件和用 户数据。
进一步地,所述Lua脚本的框架包括一用c语言编写的Lua脚本的函数库和Lua脚 本的引擎。其中,Lua脚本的函数库(Lua C library)用于在Lua端想实现特定的功能时,只 需要创建相应的C library,并将C Library中的函数接口注册到LVM中,然后C代码的 功能就能通过调用相应的Lua script接口实现。Lua脚本的引擎(Lua specific engine) 是对Lua scripts脚本中的应用场景的布局进行解析的工具,根据script编写的特定规则 解析,一般采用树的遍历规则将一个场景中的元素解析到数据结构中。
更进一步地,所述步骤S3中启动一基于Lua脚本编写的程序,目标平台自动加载 一 Lua虚拟机的步骤具体包括531、显示一基于Lua脚本编写的程序的应用场景;532、初始化一目标平台的本地窗口函数的数据结构,Lua脚本调用目标平台的功能 接口来实现显示绘制,每一 Lua应用场景的窗口的数据结构中有状态管理的回调函数数据 接口 ;533、初始化虚拟机,然后把所述窗口的数据结构纳入目标平台的窗口管理堆栈中,会 保存相应的虚拟机的现场。
另外,所述步骤S3中Lua虚拟机对上述程序的应用场景中的Lua接口进行解析, 解析完成之后通过调用GeLua和Service/Wrap layer来实现人机界面开发具体包括534、通过Lua脚本的引擎对Lua脚本中的树状分布的各个元素的遍历解析,生成一个 按照先序遍历次序的各个元素节点的列表;535、将上述列表的数据通过GeLua的图形绘制引擎调用目标平台的底层系统的图形 设备接口完成对Lua脚本的定制场景的绘制,实现人机界面开发。
相应地,本发明还提供了一种基于Lua脚本的人机界面开发系统,用于在移动终 端的目标平台上实现人机界面开发,如图4所示,所述系统包括移植模块10、框架构建模块20和界面开发模块30。其中,所述移植模块10用于把完整的Lua代码开发包作为第三 方文件编译进目标平台的操作系统,使Lua脚本移植到所述目标平台上;所述框架构建模 块20用于将Lua脚本的框架建立在目标平台的应用框架之上,令Lua脚本能通过调用目 标平台的应用框架接口实现移动终端的功能;所述界面开发模块30用于所述目标平台的 原生程序启动后,当用户去操作启动一基于Lua脚本编写的程序,目标平台自动加载一 Lua 虚拟机,所述Lua虚拟机对上述程序的应用场景中的Lua接口进行解析,解析完成之后通 过调用GeLua和Service/Wrap layer来实现人机界面开发。
综上所述,本发明的基于Lua脚本的人机界面开发方法及系统,其先将Lua脚本移 植到所述目标平台上,然后将Lua脚本的框架建立在目标平台的应用框架之上,当一基于 Lua脚本编写的程序启动后,目标平台自动加载一 Lua虚拟机,所述Lua虚拟机对上述程 序的应用场景中的Lua接口进行解析,解析完成之后通过调用GeLua、应用服务接口和封 装的适配层接口来实现人机界面开发。其充分利用了 Lua脚本轻量级、易于移植和高效的 特性,将Lua脚本引入移动终端开发中,为移动终端的人机界面开发带来了全新的开发模 式该模式具有灵活的扩展和定制功能,大大缩短了人机界面以及应用程序的开发周期。
应当理解的是,以上所述仅为本发明的较佳实施例而已,并不足以限制本发明的 技术方案,对本领域普通技术人员来说,在本发明的精神和原则之内,可以根据上述说明加 以增减、替换、变换或改进,而所有这些增减、替换、变换或改进后的技术方案,都应属于本 发明所附权利要求的保护范围。
权利要求
1.一种基于Lua脚本的人机界面开发方法,用于在移动终端的目标平台上实现人机界面开发,其特征在于,所述方法包括以下步骤51、把完整的Lua代码开发包作为第三方文件编译进目标平台的操作系统,使Lua脚本移植到所述目标平台上;52、将Lua脚本的框架建立在目标平台的应用框架之上,令Lua脚本能通过调用目标平台的应用框架接口实现移动终端的功能;53、所述目标平台的原生程序启动后,当一基于Lua脚本编写的程序启动后,目标平台自动加载一 Lua虚拟机,所述Lua虚拟机对上述程序的应用场景中的Lua接口进行解析,解析完成之后通过调用GeLua、应用服务接口和封装的适配层接口来实现人机界面开发。
2.根据权利要求1所述的基于Lua脚本的人机界面开发方法,其特征在于,所述步骤S2中将Lua脚本的框架建立在目标平台的应用框架之上具体包括521、根据目标平台代替调用内存分配的应用程序编程接口函数;522、需要根据目标平台的调用接口对于Lua脚本的文件系统的操作函数进行封装适配;523、Lua脚本的框架能够接收到移动终端的第一信息,所述第一信息包括定时器信息、手机按键信息和socket信息;524、将底层的目标平台的功能封装注册到Lua虚拟机中;525、实现目标平台的底层函数对Lua脚本中的应用程序编程接口的回调。
3.根据权利要求1所述的基于Lua脚本的人机界面开发方法,其特征在于,所述步骤S3中Lua虚拟机用于创建Lua脚本的执行环境,包括向人机交互界面的应用程序管理器提供用来控制每个应用场景的生存周期接口和向所述应用场景发送第一数据,所述第一数据包括事件和用户数据。
4.根据权利要求1所述的基于Lua脚本的人机界面开发方法,其特征在于,所述Lua脚本的框架包括一用c语言编写的Lua脚本的函数库和Lua脚本的引擎。
5.根据权利要求1所述的基于Lua脚本的人机界面开发方法,其特征在于,所述步骤S3中启动一基于Lua脚本编写的程序,目标平台自动加载一 Lua虚拟机的步骤具体包括531、显示一基于Lua脚本编写的程序的应用场景;532、初始化一目标平台的本地窗口函数的数据结构,Lua脚本调用目标平台的功能接口来实现显示绘制,每一 Lua应用场景的窗口的数据结构中有状态管理的回调函数数据接口 ;533、初始化虚拟机,然后把所述窗口的数据结构纳入目标平台的窗口管理堆栈中,会保存相应的虚拟机的现场。
6.根据权利要求4所述的基于Lua脚本的人机界面开发方法,其特征在于,所述步骤S3中Lua虚拟机对上述程序的应用场景中的Lua接口进行解析,解析完成之后通过调用GeLua和Service/Wrap layer来实现人机界面开发具体包括S34、通过Lua脚本的引擎对Lua脚本中的树状分布的各个元素的遍历解析,生成一个按照先序遍历次序的各个元素节点的列表;S35、将上述列表的数据通过GeLua的图形绘制引擎调用目标平台的底层系统的图形设备接口完成对Lua脚本的定制场景的绘制,实现人机界面开发。
7.一种基于Lua脚本的人机界面开发系统,用于在移动终端的目标平台上实现人机界面开发,其特征在于,所述系统包括移植模块,用于把完整的Lua代码开发包作为第三方文件编译进目标平台的操作系统,使Lua脚本移植到所述目标平台上;框架构建模块,用于将Lua脚本的框架建立在目标平台的应用框架之上,令Lua脚本能通过调用目标平台的应用框架接口实现移动终端的功能;界面开发模块,用于所述目标平台的原生程序启动后,当用户去操作启动一基于Lua脚本编写的程序,目标平台自动加载一 Lua虚拟机,所述Lua虚拟机对上述程序的应用场景中的Lua接口进行解析,解析完成之后通过调用GeLua和Service/Wrap layer来实现人机界面开发。
全文摘要
本发明公开的一种基于Lua脚本的人机界面开发方法及系统,其先将Lua脚本移植到所述目标平台上,然后将Lua脚本的框架建立在目标平台的应用框架之上,当一基于Lua脚本编写的程序启动后,目标平台自动加载一Lua虚拟机,所述Lua虚拟机对上述程序的应用场景中的Lua接口进行解析,解析完成之后通过调用GeLua、应用服务接口和封装的适配层接口来实现人机界面开发。其充分利用了Lua脚本轻量级、易于移植和高效的特性,将Lua脚本引入移动终端开发中,为移动终端的人机界面开发带来了全新的开发模式该模式具有灵活的扩展和定制功能,大大缩短了人机界面以及应用程序的开发周期。
文档编号G06F9/45GK102999371SQ20121051107
公开日2013年3月27日 申请日期2012年12月4日 优先权日2012年12月4日
发明者陈乔将 申请人:Tcl通讯(宁波)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1