一种视图体系的生成方法、装置及系统与流程

文档序号:12176359阅读:266来源:国知局
一种视图体系的生成方法、装置及系统与流程

本申请涉技涉及计算机技术,尤其涉及一种视图体系的生成方法、装置及系统。



背景技术:

在设计移动终端应用时,通常采用MVC(Model View Controller,模型-视图-控制器)框架模式。其中,模型是应用程序中用于处理应用程序数据逻辑的部分,通常负责在数据库中存取数据;视图是依据模型数据创建的,用于处理数据显示;控制器是应用程序中处理用户交互的部分,负责从视图读取数据,控制用户输入,并向模型发送数据。

对于MVC模式中视图的构建,很重要的一部分工作就是如何快速构建对应操作系统的对应视图布局结构。

视图体系的构建是指在分配的窗口上绘制UI(User Interface,用户界面),一个UI界面会包含很多控件,这些控件之间以父子兄弟关系进行布局,最后构成一个视图体系。

传统的生成视图体系的方法有两种:第一种是通过系统可执行代码创建各个控件节点,然后设置各控件节点的尺寸信息、该控制节点的父节点及与其他控件节点的位置关系等;第二种方案是通过结构性语言文件(如可扩展标记语言xml等)来表示各个控件的属性及控件之间的父子、相对位置等关系,然后在运行时解析该文件,以生成视图体系中各个视图中控件的尺寸、及与其他控件的父子、位置关系等。

采用现有技术中的这两种方案,第一种方案在当控件节点很多时,不能清 晰的了解各个控件节点之间的关系,不便于如研发人员的用户进行视图设计;第二种方案在运行时,需要先将结构性语言文件解析成系统可执行代码文件,效率较低。



技术实现要素:

本申请实施例中提供了一种视图体系的生成方法、装置及系统,用于解决现有技术中不便于用户进行视图设计及运行效率较低的问题。

根据本申请实施例的第一个方面,提供了一种视图体系的生成方法,包括:获取用于生成视图体系的系统可执行代码文件,其中,系统可执行代码文件是由结构性语言文件转换得到的;执行系统可执行代码文件;生成视图体系。

根据本申请实施例的第二个方面,提供了一种视图体系的生成方法,包括:生成用于生成视图体系的结构性语言文件;将结构性语言文件转换为脚本型操作系统的系统可执行代码文件;根据待生成视图体系的终端的操作系统类型,将结构性语言文件或系统可执行代码文件发送至终端,操作系统类型包括脚本型操作系统和编译型操作系统。

根据本申请实施例的第三个方面,提供了一种视图体系的生成装置,包括:获取模块,用于获取用于生成视图体系的系统可执行代码文件,其中,系统可执行代码文件是由结构性语言文件转换得到的;执行模块,用于执行系统可执行代码文件;体系视图生成模块,用于生成视图体系。

根据本申请实施例的第四个方面,提供了一种视图体系的生成装置,包括:文件生成模块,用于生成用于生成视图体系的结构性语言文件;转换模块,用于将结构性语言文件转换为脚本型操作系统的系统可执行代码文件;发送模块,用根据待生成视图体系的终端的操作系统类型,将结构性语言文件或系统可执行代码文件发送至终端,操作系统类型包括脚本型操作系统和编译型操作系统。

根据本申请实施例的第五个方面,提供了一种视图体系的生成系统,包括:终端,包括如上述的视图体系生成装置;服务器,包括如上述的视图体系生成 装置。

采用本申请实施例中的视图体系生成方法、装置及系统,能够获取由结构性语言文件转换得到的系统可执行代码文件,并运行该系统可执行代码以生成视图体系,使得终端在运行时,可直接运行系统可执行代码以生成视图体系,效率较高;并且用户能够使用结构性语言文件进行视图体系的设计,方便了用户。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例一所示的视图体系的生成方法流程图;

图2为本申请实施例二所示的视图体系的生成方法流程图;

图3为本申请实施例三所示视图体系的生成装置的结构示意图;

图4为本申请实施例四所示视图体系的生成装置的结构示意图;

图5为本申请实施例五所示视图体系的生成系统的结构示意图;

图6为本申请实施例六所示视图体系的生成方法的流程示意图。

具体实施方式

为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

在实施本申请的过程中,发明人发现,相关技术中生成视图体系的方法有两种,第一种是通过系统可执行代码挨个布局各个控件,设置控件的属性及他与其他控件的关系,但是由于通过代码编写不直观,当控件较多时,容易混淆控件之间的关系,给编程工作带来较大麻烦,而且代码也不利于其他开发人员 的阅读;第二种方案是通过结构性语言定义,结构性语言能较好的反应各个控件之间的关系,方便得知道控件在终端的展示效果,其他开发人员也很容易熟悉别人开发的代码,但是存在的问题是运行时需要对该结构性语言文件进行解析,对代码的效率有很大影响,特别是在高级语言中比如java和javascript,代码的效率本身比较低,如果需要在运行时进行解析,将影响程序的运行效果。

针对上述问题,本申请实施例中提供了一种视图体系的生成方法和装置,核心思想在于,在用户在服务器侧进行视图设计时,采用结构性语言,然后在程序在终端侧运行之前,提前将结构性语言文件转换成操作系统可直接执行的代码文件,从而在进行视图体系生成时,可以直接获取并运行系统可执行代码文件,从而达到既方便了用户,又提高了视图体系的生成效率的效果。

本申请实施例中的方案可应用于如互联网汽车等移动终端的应用的视图体系生成,例如,音乐播放器的视图体系生成,也可以应用于其他终端的应用的视图体系生成,本申请对此均不作限制。

图1为本申请实施例一所示的视图体系的生成方法流程图。

如图1所示,根据本申请实施例一所示的视图体系的生成方法包括以下步骤:

S102,获取用于生成视图体系的系统可执行代码文件,其中,系统可执行代码文件是由结构性语言文件转换得到的;

S104,执行系统可执行代码文件;

S106,生成视图体系。

在具体实施时,将结构性语言文件转换为系统可执行代码文件的转换方式可以是后台服务器预先执行该结构性语言文件,以解析为系统可执行代码文件;也可以是由终端执行该结构性语言文件以生成视图体系后,所保存的作为运行结果的系统可执行代码文件,本申请对此不作限制。

在具体实施时,该系统可执行代码可以是如java、javascript、python等的系统编程语言;也可以是二进制代码;本申请对此不作限制。

在具体实施时,该结构性语言可以是如可扩展标记语言xml、json(JavaScript Object Notation,javascript对象符号)等结构性语言。

以操作系统为javascript为例,视图设计的用户,例如,研发人员在服务器使用json语言设计视图体系后,IDE(Integrated Development Environment,集成开发环境)后台读取json文件,解析得到对应的javascript文件,当终端需要展示这个json文件对应的视图时,终端从服务器直接获取对应的javascript的文件。因此,用户可以撰写json等具有一定结构的文件,而终端最终代码执行的时候可直接读取系统可执行代码文件,这样兼顾了方便,易读,友好的编程方法,同时保障了代码的运行效率。

优选地,在获取用于生成视图体系的系统可执行代码文件之前,还包括:判断本地是否存在用于生成视图体系的系统可执行代码文件。

优选地,若存在,则获取用于生成视图体系的系统可执行代码文件具体包括:从本地获取系统可执行代码文件。

优选地,若不存在,则进一步判断本地操作系统类型,类型包括脚本型操作系统和编译型操作系统。

若为脚本型操作系统,则获取用于生成视图体系的系统可执行代码文件具体包括:向服务器发送文件获取请求,请求中携带本地操作系统类型;从服务器接收系统可执行代码文件。

在具体实施时,对于脚本型操作系统,如javascript,python等;服务器可以预先将用户编写的用于生成视图体系的结构性语言文件转换为系统可执行代码文件。例如,IDE后台在获取到用户设计好的结构性语言json文件后,预先运行该json文件以转换为javascript文件,在后续终端需要生成视图时,直接向服务器请求获取该javascript文件即可。

在具体实施时,对于脚本型操作系统,如为javascript,本申请实施例中的系统可执行代码文件可以是javascript文件;如为python,本申请实施例中的系统可执行代码文件可以是python文件;对于编译型操作系统,如android, 本申请实施例中的系统可执行代码文件可以是二进制代码文件,本申请对此不作限制。

优选地,若为编译型操作系统,则获取用于生成视图体系的系统可执行代码文件具体包括:向服务器发送文件获取请求,请求中携带本地操作系统类型;从服务器接收用于生成视图体系的结构性语言文件;调用本地解析程序对结构性语言文件进行解析,得到系统可执行代码文件。

在具体实施时,对于编译型系统,服务器可能不能将结构性语言文件直接转换成系统可执行代码文件,那么,需要由终端运行该结构性语言文件,调用本地解析程序对结构性语言文件进行解析,然后再执行解析得到的系统可执行代码文件以生成视图体系。

优选地,在生成视图体系之后还包括:保存系统可执行代码文件。

脚本型操作系统和编译型操作系统均可以将生成视图体系的系统可执行代码文件保存起来,然后在下次运行时,直接从本地获取该系统可执行代码文件,并生成对应的视图体系,从而提升生成视图体系的效率。

优选地,该结构性语言文件是xml或json文件。

可扩展标记语言xml是标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。Xml非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。

json是一种轻量级的数据交换格式,是基于ECMAScript的一个子集。json采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使json成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(网络传 输速率)。

优选地,系统可执行代码文件是javascript文件。

javascript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,是广泛用于客户端的脚本语言。

除javascript以外,系统可执行代码文件也可以是python文件、java文件、二进制代码文件等,本申请对此不作限制。

采用本申请实施例中的视图体系生成方法,如果结构性语言文件已经转化为系统可执行代码文件,则可直接执行系统可执行代码文件,得到对应的视图体系;否则解析结构性语言文件,得到对应的视图体系,并将解析结果保存起来,这样第二次执行时,可直接执行生成的系统可执行代码文件,获得对应的视图体系。

采用本申请实施例中的视图体系生成方法,先获取由结构性语言文件转换得到的系统可执行代码文件,并运行该系统可执行代码以生成视图体系,使得终端侧能够直接运行系统可执行代码以生成视图体系,效率较高;并且用户在服务器侧能够使用结构性语言文件进行视图体系的设计,方便了用户。

图2为本申请实施例二所示的视图体系的生成方法流程图。

如图2所示,根据本申请实施例二所示的视图体系的生成方法包括以下步骤:

S202,生成用于生成视图体系的结构性语言文件;

S204,将结构性语言文件转换为脚本型操作系统的系统可执行代码文件;

S206,根据待生成视图体系的终端的操作系统类型,将结构性语言文件或系统可执行代码文件发送至终端,操作系统类型包括脚本型操作系统和编译型操作系统。

在具体实施时,对于脚本型操作系统,如javascript,python等;服务器可 以预先将用户编写的用于生成视图体系的结构性语言文件转换为系统可执行代码文件。例如,IDE后台在获取到用户设计好的结构性语言json文件后,预先运行该json文件以转换为javascript文件,在后续终端需要生成视图时,直接将该javascript文件发送到终端执行即可。

在具体实施时,对于脚本型操作系统,如为javascript,本申请实施例中的系统可执行代码文件可以是javascript文件;如为python,本申请实施例中的系统可执行代码文件可以是python文件;对于编译型操作系统,如android,本申请实施例中的系统可执行代码文件可以是二进制代码文件,本申请对此不作限制。

在具体实施时,根据待生成视图体系的终端的操作系统类型,将所述结构性语言文件或系统可执行代码文件发送至所述终端可以是将结构性语言文件发送给编译型操作系统,将系统可执行代码文件发送给脚本型操作系统。

优选地,将结构性语言文件转换为脚本型操作系统的系统可执行代码文件具体包括:调用脚本型操作系统对应的解析程序;触发解析程序对结构性语言文件进行解析,得到操作系统对应的系统可执行代码文件。

以操作系统为javascript为例,视图设计的用户使用json语言设计视图体系,IDE后台读取json文件,调用javascript的解析程序,解析得到对应的javascript文件。

在具体实施时,将结构性语言文件转换为系统可执行代码文件时,也可以将结构性语言文件转换为多种脚本型操作系统的系统可执行代码文件;例如,将json文件分别转换为javascript文件、python文件、java文件、二进制代码文件等;如果待生成视图体系的操作系统是python平台,则发送python文件;待生成视图体系的操作系统是javascript平台,则发送javascript文件;待生成视图体系的操作系统是java平台,则发送java文件;待生成视图体系的操作系统是android平台,则发送二进制代码文件;本领域技术人员应当理解,上述内容仅用于示例的目的,并不用于限制本申请。

优选地,在将结构性语言文件或系统可执行代码文件发送至终端之前,还包括:接收终端的文件获取请求,请求携带终端操作系统类型。

在具体实施时,服务器可以是根据终端的文件获取请求向终端发送文件,并根据文件获取请求中携带的终端操作系统类型向发送系统可执行代码文件或结构性语言文件。

在具体实施时,服务器还可以主动向终端发送系统可执行代码文件或结构性语言文件。

采用本申请实施例中的视图体系生成方法,服务器生成用于生成视图体系的结构性语言文件;将结构性语言文件转换为脚本型操作系统的系统可执行代码文件;根据待生成视图体系的终端的操作系统类型,将结构性语言文件或系统可执行代码文件发送至终端,使得用户在服务器侧能够使用结构性语言文件进行视图体系的设计,方便了用户;并且终端侧能够直接运行系统可执行代码以生成视图体系,效率较高。

基于同一发明构思,本申请实施例中还提供了一种视图体系的生成装置,由于该装置解决问题的原理与本申请实施例所提供的方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。

图3为本申请实施例三所示视图体系的生成装置的结构示意图。

如图3所示,根据本申请实施例三所示视图体系的生成装置300,包括:获取模块302,用于获取用于生成视图体系的系统可执行代码文件,其中,系统可执行代码文件是由结构性语言文件转换得到的;执行模块304,用于执行系统可执行代码文件;视图生成模块306,用于生成视图体系。

优选地,本申请实施例二所示视图体系的生成装置300还包括:判断模块,用于判断本地是否存在用于生成视图体系的系统可执行代码文件。

优选地,若判断模块的判断结果为存在,则获取模块具体用于从本地获取系统可执行代码文件。

优选地,若判断模块的判断结果为不存在,则判断模块进一步用于判断本地操作系统类型,类型包括脚本型操作系统和编译型操作系统。

优选地,若本地操作系统为脚本型操作系统,则获取模块具体包括:请求发送子模块,用于向服务器发送文件获取请求,请求中携带本地操作系统类型;第一文件接收子模块,用于从服务器接收系统可执行代码文件。

优选地,若本地操作系统为编译型操作系统,则获取模块具体包括:请求发送子模块,用于向服务器发送文件获取请求,请求中携带本地操作系统类型;第二文件接收子模块,用于从服务器接收用于生成视图体系的结构性语言文件;解析子模块,用于调用本地解析程序对结构性语言文件进行解析,得到系统可执行代码文件。

优选地,本申请实施例二所示视图体系的生成装置还包括:保存模块,用于保存系统可执行代码文件。

优选地,该结构性语言文件是xml或json文件。

优选地,系统可执行代码文件是javascript文件。

为了描述的方便,以上各装置的各部分以功能分为各种部件或单元分别描述。当然,在实施本申请时可以把各部件或单元的功能在同一个或多个软件或硬件中实现。

采用本申请实施例中的视图体系生成装置,先获取由结构性语言文件转换得到的系统可执行代码文件,并运行该系统可执行代码以生成视图体系,使得终端侧能够直接运行系统可执行代码以生成视图体系,效率较高;并且用户在服务器侧能够使用结构性语言文件进行视图体系的设计,方便了用户。

图4为本申请实施例四所示视图体系的生成装置的结构示意图。

如图4所示,根据本申请实施例四所示视图体系的生成装置400,包括:文件生成模块402,用于生成用于生成视图体系的结构性语言文件;转换模块404,用于将结构性语言文件转换为脚本型操作系统的系统可执行代码文件; 发送模块406,用根据待生成视图体系的终端的操作系统类型,将结构性语言文件或系统可执行代码文件发送至终端,操作系统类型包括脚本型操作系统和编译型操作系统。

优选地,转换模块具体包括:调用子模块,用于调用脚本型操作系统对应的解析程序;触发子模块,用于触发解析程序对结构性语言文件进行解析,得到操作系统对应的系统可执行代码文件。

优选地,本申请实施例四所示视图体系的生成装置还包括:请求接收模块,用于接收终端的文件获取请求,请求携带所述终端操作系统类型。

采用本申请实施例中的视图体系生成装置,能够将结构性语言文件转换为脚本型操作系统的系统可执行代码文件;再根据待生成视图体系的终端的操作系统类型,将结构性语言文件或系统可执行代码文件发送至终端,使得用户在服务器侧能够使用结构性语言文件进行视图体系的设计,方便了用户;并且终端侧能够直接运行系统可执行代码以生成视图体系,效率较高。

基于同一发明构思,本申请实施例中还提供了一种视图体系的生成系统,由于该系统解决问题的原理与本申请实施例所提供的方法相似,因此该系统的实施可以参见方法的实施,重复之处不再赘述。

图5为本申请实施例五所示视图体系的生成系统的结构示意图。

如图5所示,根据本申请实施例五所示视图体系的生成系统500,包括:终端502,包括视图体系生成装置300;服务器504,包括视图体系生成装置400。

采用本申请实施例中的视图体系生成系统,使得用户在服务器侧能够使用结构性语言文件进行视图体系的设计,方便了用户;并且终端侧能够直接运行系统可执行代码以生成视图体系,效率较高。

图6为本申请实施例六所示视图体系的生成方法的流程示意图。

如图6所示,根据本申请实施例六所示视图体系的生成方法包括以下步骤:

S602,用户编写xml/json等结构性布局文件;

S604,IDE后台判断是否能够生成对应的系统可执行代码文件,如果是,则执行S606,如果否,则执行S608;

S606,生成对应的系统可执行代码文件,并执行S608;比如当系统开发语言为javascript时,将视图体系以json对象的方式表示,编程软件IDE后台读取这个json文件,将其转化为javascript代码文件;

S608,打包成安装文件;如果不能生成对应的系统可执行代码文件,则直接打包成安装文件;

S610,在第一次执行安装文件时,首先判断结构性语言文件是否已经转化为系统可执行代码文件,如果是,则执行S612,如果否,则执行S614;

S612,执行生成的系统可执行代码文件,得到对应的视图体系;

S614,操作系统调用解析程序解析结构性语言文件;

S616,保存解析结果。

采用本申请实施例中的视图体系生成方法,用户能够使用结构性语言文件进行视图体系的设计,方便了用户;并且在运行时,可直接运行系统可执行代码以生成视图体系,效率较高。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1