首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 软件套件 / 软件组件 / 微件 / 移动widget / 基于原生开发语言实现跨平台应用开发的系统及方法

基于原生开发语言实现跨平台应用开发的系统及方法

阅读:60发布:2020-05-19

专利汇可以提供基于原生开发语言实现跨平台应用开发的系统及方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于原生开发语言实现跨平台应用开发的系统及方法,其中包括图形化移动应用开发工具,用以进行移动应用的开发和移动应用的编译导出;移动应用发布平台,用以将移动应用向外发布;移动客户端,用以运行移动应用。采用该种结构的基于原生开发语言实现跨平台应用开发的系统及方法,不仅降低了移动应用开发的复杂度、使移动应用开发简单高效,只需开发一套代码,就可以运行在多种移动平台、极大的提高了移动应用的开发效率、降低了代码维护的成本,为使用者带来最佳的用户体验,另外,本发明使还使用了增量更新技术,让移动应用更新更加方便快捷、节省更新需要的网络流量,具有更广泛的应用范围。,下面是基于原生开发语言实现跨平台应用开发的系统及方法专利的具体信息内容。

1.一种基于原生开发语言实现跨平台应用开发的系统,其特征在于,所述的系统包括:
图形化移动应用开发工具,用以进行移动应用的开发和移动应用的编译导出,所述的移动应用的开发包括以下步骤:
(1-1)图形化移动应用开发工具读取控件提示配置文件后使用xml格式解析器对所述的提示配置文件进行解析并于内存中创建控件提示属性和接口提示模型;
(1-2)图形化移动应用开发工具读取控件编译配置文件后使用xml格式解析器对所述的编译配置文件进行解析生成控件编译模型;
(1-3)开发人员进行移动应用开发;
(1-4)图形化移动应用开发工具根据用户创建项目操作在磁盘上创建移动项目录结构;
(1-5)图形化移动应用开发工具根据用户创建文件创造在移动项目录中创建相应的文件;
移动应用发布平台,用以将移动应用向外发布;
移动客户端,用以运行移动应用。
2.根据权利要求1所述的基于原生开发语言实现跨平台应用开发的系统,其特征在于,所述的图形化移动应用开发工具包括:
移动应用项目管理模,用以进行移动应用的创建、修改和删除;
HTML文件管理模块,用以进行HTML格式文件的创建、修改和删除;
Javascript文件管理模块,用以进行Javascript格式文件的创建、修改和删除;
CSS文件管理模块,用以进行CSS代码的录入、修改和保存;
移动应用编译引擎模块,用以在移动应用导出时对移动应用项目进行编译;
移动应用导出模块,用以将移动应用导出成移动应用部署包。
3.根据权利要求1所述的基于原生开发语言实现跨平台应用开发的系统,其特征在于,所述的移动应用发布平台包括:
移动应用上传模块,用以基于Web将移动应用上传;
移动应用管理模块,用以对上传的移动应用进行管理;
移动应用发布模块,用以对外提供移动应用的下载渠道。
4.根据权利要求1所述的基于原生开发语言实现跨平台应用开发的系统,其特征在于,所述的移动客户端包括:
更新引擎模块,用以从所述的移动应用发布平台下载移动应用到客户端;
Java script引擎模块,用以解析、加载和运行Javascript代码;
CSS引擎模块,用以解析、加载CSS代码;
Bridge模块,用以进行Javascript代码和原生代码之间的通讯;
Widget管理器,用以加载和管理Widget;
UI模型模块,用以对移动应用的界面进行描述;
UI渲染引擎模块,用以根据UI模型,原生的UI控件,渲染出原生的UI界面。
5.一种通过权利要求1至4中任一项所述的系统基于原生开发语言实现跨平台应用开发的方法,其特征在于,所述的方法包括以下步骤:
(1)所述的图形化移动应用开发工具进行移动应用的开发,包括以下步骤:
(1-1)图形化移动应用开发工具读取控件提示配置文件后使用xml格式解析器对所述的提示配置文件进行解析并于内存中创建控件提示属性和接口提示模型;
(1-2)图形化移动应用开发工具读取控件编译配置文件后使用xml格式解析器对所述的编译配置文件进行解析生成控件编译模型;
(1-3)开发人员进行移动应用开发;
(1-4)图形化移动应用开发工具根据用户创建项目操作在磁盘上创建移动项目录结构;
(1-5)图形化移动应用开发工具根据用户创建文件创造在移动项目录中创建相应的文件;
(2)所述的图形化移动应用开发工具进行移动应用的编译导出;
(3)所述的移动应用发布平台将移动应用向外发布;
(4)所述的移动客户端从所述的移动应用发布平台上下载并运行移动应用。
6.根据权利要求5所述的基于原生开发语言实现跨平台应用开发的方法,其特征在于,所述的图形化移动应用开发工具进行移动应用的编译导出,包括以下步骤:
(2-1)图形化移动应用开发工具根据用户导出操作请求获取待编译移动应用项目的存放目录;
(2-2)图形化移动应用开发工具创建临时目录以存放编译的中间产物;
(2-3)图形化移动应用开发工具遍历项目目录,在临时目录中创建相同的目录结构,并且把移动项目中除HTML文件和Css文件外的其余文件拷贝到对应的临时目录中;
(2-4)图形化移动应用开发工具对HTML文件和CSS文件进行编译操作;
(2-5)图形化移动应用开发工具对编译临时目录进行压缩生成可用于发布的移动应用发布文件。
7.根据权利要求5所述的基于原生开发语言实现跨平台应用开发的方法,其特征在于,所述的移动应用发布平台将移动应用向外发布,包括以下步骤:
(3-1)用户访问所述的移动应用发布平台的移动应用上传界面;
(3-2)移动应用发布平台接收上传文件并在磁盘上保存上传文件;
(3-3)移动应用发布平台在数据库表中记录发布移动应用的信息。
8.根据权利要求5所述的基于原生开发语言实现跨平台应用开发的方法,其特征在于,所述的移动客户端下载并运行移动应用,包括以下步骤:
(4-1)移动客户端从所述的移动应用发布平台下载移动应用文件;
(4-2)移动客户端对下载的移动应用文件进行解压至移动应用端应用目录;
(4-3)移动客户端解析CSS编译文件并在内存中形成CSS模型;
(4-4)移动客户端读取移动应用配置文件,从配置文件中获取移动应用的首页URL;
(4-5)移动客户端对首页URL进行转换,转换成移动客户端本地的文件路径;
(4-6)移动客户端根据首页文件路径读取移动客户端文件中的代码;
(4-7)移动客户端运行读取的文件中的代码,在Javascript引擎模块中形成界面控件模型树;
(4-8)移动客户端在Javascript引擎模块中把界面控件模型树通过JSON序列化成字符串并调用bridge通道,把序列化的字符串传递给原生渲染引擎;
(4-9)移动客户端对json字符串反序列化,在原生端形成界面控件模型树;
(4-10)移动客户端采用原生渲染引擎模块遍历控件模型树,依次创建原生控件;
(4-11)移动客户端采用原生渲染引擎模块调用客户端系统接口,把渲染完成的整个原生控件实例界面添加到系统界面上;
(4-12)移动客户端显示移动应用界面。

说明书全文

基于原生开发语言实现跨平台应用开发的系统及方法

技术领域

[0001] 本发明涉及计算机软件技术领域,尤其涉及企业移动应用技术领域,具体是指一种基于原生开发语言实现跨平台应用开发的系统及方法。

背景技术

[0002] 随着智能移动设备高速发展和普及,移动网络技术的不断突破,移动互联网已经深刻地影响了人们的生活方式,移动应用程序已经逐渐取代一些电脑的程序,甚至有部分人士已经完全脱离台式电脑,移动智能设备已经超越了传统的PC,成为最主要的上网方式。
[0003] 现在,每台移动设备上运行着数以百计的移动应用,诸如交友、娱乐、购物、工作等很多简单的生活行为都可以逐渐通过移动设备上的各类应用得到满足。从移动市场下载安装各种移动应用已经为一种习惯,微信,微博等移动应用的下载和安装量已经达到的数亿的规模。
[0004] 统计表明,在应用市场中,每天都有数以万计新应用上架,移动应用也成为了互联网时代下一大热点。
[0005] 目前,移动应用开发主要有两种方式:第一种是使用原生技术开发。第二种是使用web技术开发。
[0006] 使用原生技术开发是指,针对移动操作系统使用其提供的开发语言和技术进行移动应用开发。目前,Apple的IOS操作系统和Google的Android操作系统占移动操作系统95%以上的市场份额。在IOS移动操作系统上开发原生移动需要使用IOS提供的开发工具Xcode和开发语言Object-c。在Android移动操作系统上进行原生应用开发需要使用eclipse开发工具和Android开发语言。IOS和Android提供的各自的移动应用打包工具,应用开发完成后,需要使用各自的打包工具进行打包,然后发布到应用市场。使用原生开发可以获得最佳的性能和用户体验,更好的贴合操作系统,最充分的使用操作系统的能
[0007] 使用web技术开发是指使用Html、Javscript、CSS语言进行移动应用开发。Web开发技术复杂度比较低,学习和使用相对比较简单。使用Web技术开发的移动应用可以部署在Web服务器上,通过移动设备上的浏览器或者通过使用WebView等组件进行访问
[0008] 使用原生技术开发移动应用主要不足之处在于:第一,技术复杂度高,针对不同的移动操作系统需要使用不同的开发工具和开发语言,开发工具的使用方式和语言的技术细节以及操作系统的特性都不一样,比如Object-c是属于c系列的语言,而Anroid是属于java系统的开发语言,这极大的增加了开发人员的学习成本。第二,开发维护工作量大,一个移动应用需要针对不同操作系统开发和测试,开发和维护的工作量成倍增加。
[0009] 使用Web技术开发移动应用主要的不足之处在于:第一,开发的移动应用性能和用户体验存在问题。第二,不能使用移动设备提供的能力,如摄像头,定位等。

发明内容

[0010] 本发明的目的是克服了上述现有技术的原生应用开发技术复杂度高、开发和维护工作量大的缺点,提供了一种能够实现于移动操作系统、原生开发语言无关、开发简单、效率高、系统架构简单、稳定可靠、使用维护方便快捷、应用范围广泛的基于原生开发语言实现跨平台应用开发的系统及方法。
[0011] 为了实现上述目的,本发明的基于原生开发语言实现跨平台应用开发的系统及方法具有如下构成:
[0012] 该基于原生开发语言实现跨平台应用开发的系统,其主要特点是,所述的系统包括:
[0013] 图形化移动应用开发工具,用以进行移动应用的开发和移动应用的编译导出;
[0014] 移动应用发布平台,用以将移动应用向外发布;
[0015] 移动客户端,用以运行移动应用。
[0016] 较佳地,所述的图形化移动应用开发工具包括:
[0017] 移动应用项目管理模,用以进行移动应用的创建、修改和删除;
[0018] HTML文件管理模块,用以进行HTML格式文件的创建、修改和删除;
[0019] Javascript文件管理模块,用以进行Javascript格式文件的创建、修改和删除;
[0020] CSS文件管理模块,用以进行CSS代码的录入、修改和保存;
[0021] 移动应用编译引擎模块,用以在移动应用导出时对移动应用项目进行编译;
[0022] 移动应用导出模块,用以将移动应用导出成移动应用部署包。
[0023] 较佳地,所述的移动应用发布平台包括:
[0024] 移动应用上传模块,用以基于Web将移动应用上传;
[0025] 移动应用管理模块,用以对上传的移动应用进行管理;
[0026] 移动应用发布模块,用以对外提供移动应用的下载渠道。
[0027] 较佳地,所述的移动客户端包括:
[0028] 更新引擎模块,用以从所述的移动应用发布平台下载移动应用到客户端;
[0029] Javscript引擎模块,用以解析、加载和运行Javascript代码;
[0030] CSS引擎模块,用以解析、加载CSS代码;
[0031] Bridge模块,用以进行Javascript代码和原生代码之间的通讯;
[0032] Widget管理器,用以加载和管理Widget;
[0033] UI模型模块,用以对移动应用的界面进行描述;
[0034] UI渲染引擎模块,用以根据UI模型,原生的UI控件,渲染出原生的UI界面。
[0035] 本发明还涉及一种通过所述的系统基于原生开发语言实现跨平台应用开发的方法,其特征在于,所述的方法包括以下步骤:
[0036] (1)所述的图形化移动应用开发工具进行移动应用的开发;
[0037] (2)所述的图形化移动应用开发工具进行移动应用的编译导出;
[0038] (3)所述的移动应用发布平台将移动应用向外发布;
[0039] (4)所述的移动客户端从所述的移动应用发布平台上下载并运行移动应用。
[0040] 较佳地,所述的图形化移动应用开发工具进行移动应用的开发,包括以下步骤:
[0041] (1-1)图形化移动应用开发工具读取控件提示配置文件后使用xml格式解析器对所述的提示配置文件进行解析并于内存中创建控件提示属性和接口提示模型;
[0042] (1-2)图形化移动应用开发工具读取控件编译配置文件后使用xml格式解析器对所述的编译配置文件进行解析生成控件编译模型;
[0043] (1-3)开发人员进行移动应用开发;
[0044] (1-4)图形化移动应用开发工具根据用户创建项目操作在磁盘上创建移动项目录结构;
[0045] (1-5)图形化移动应用开发工具根据用户创建文件创造在移动项目录中创建相应的文件。
[0046] 较佳地,所述的图形化移动应用开发工具进行移动应用的编译导出,包括以下步骤:
[0047] (2-1)图形化移动应用开发工具根据用户导出操作请求获取待编译移动应用项目的存放目录;
[0048] (2-2)图形化移动应用开发工具创建临时目录以存放编译的中间产物;
[0049] (2-3)图形化移动应用开发工具遍历项目目录,在临时目录中创建相同的目录结构,并且把移动项目中除HTML文件和Css文件外的其余文件拷贝到对应的临时目录中;
[0050] (2-4)图形化移动应用开发工具对HTML文件和CSS文件进行编译操作;
[0051] (2-5)图形化移动应用开发工具对编译临时目录进行压缩生成可用于发布的移动应用发布文件。
[0052] 较佳地,所述的移动应用发布平台将移动应用向外发布,包括以下步骤:
[0053] (3-1)用户访问所述的移动应用发布平台的移动应用上传界面;
[0054] (3-2)移动应用发布平台接收上传文件并在磁盘上保存上传文件;
[0055] (3-3)移动应用发布平台在数据库表中记录发布移动应用的信息。
[0056] 较佳地,所述的移动客户端下载并运行移动应用,包括以下步骤:
[0057] (4-1)移动客户端从所述的移动应用发布平台下载移动应用文件;
[0058] (4-2)移动客户端对下载的移动应用文件进行解压至移动应用端应用目录;
[0059] (4-3)移动客户端解析CSS编译文件并在内存中形成CSS模型;
[0060] (4-4)移动客户端读取移动应用配置文件,从配置文件中获取移动应用的首页URL;
[0061] (4-5)移动客户端对首页URL进行转换,转换成移动客户端本地的文件路径;
[0062] (4-6)移动客户端根据首页文件路径读取移动客户端文件中的代码;
[0063] (4-7)移动客户端运行读取的文件中的代码,在Javascript引擎模块中形成界面控件模型树;
[0064] (4-8)移动客户端在Javascript引擎模块中把界面控件模型树通过JSON序列化成字符串并调用bridge通道,把序列化的字符串传递给原生渲染引擎;
[0065] (4-9)移动客户端对json字串符反序列化,在原生端形成界面控件模型树;
[0066] (4-10)移动客户端采用原生渲染引擎模块遍历控件模型树,依次创建原生控件;
[0067] (4-11)移动客户端采用原生渲染引擎模块调用客户端系统接口,把渲染完成的整个原生控件实例界面添加到系统界面上;
[0068] (4-12)移动客户端显示移动应用界面。
[0069] 采用了该发明中的基于原生开发语言实现跨平台应用开发的系统及方法,由于提供了基于HTML、Javascript、CSS的移动应用开发工具,通过该工具开发移动应用,在应用导出时对HTML、Javscript、CSS文件进行编译;然后由移动客户端下载和运行。移动客户端运行时先由Javascript引擎加载和运行Javascript代码,形成界面描述模型;再由原生渲染引擎创建由原生控件组成的界面。本方法不仅降低了移动应用开发的复杂度、使移动应用开发简单高效,只需开发一套代码,就可以运行在多种移动平台、极大的提高了移动应用的开发效率、降低了代码维护的成本。而且,移动应用在运行时完全生成原生UI控件,移动应用使用者操作的是由原生控件组成的功能页面,从而为使用者带来最佳的用户体验。另外,本发明使还使用了增量更新技术,让移动应用更新更加方便快捷、节省更新需要的网络流量,具有更广泛的应用范围。附图说明
[0070] 图1为本发明的基于原生开发语言实现跨平台应用开发的系统的结构示意图。
[0071] 图2为本发明的移动项目的项目目录结构示意图。
[0072] 图3为本发明的移动应用的编译导出的流程图
[0073] 图4为本发明的移动应用在客户端运行的流程图。

具体实施方式

[0074] 为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
[0075] 实现该利用移动应用原生开发语言实现跨平台应用开发的系统,包括图形化移动应用开发工具,移动应用发布平台,和移动客户端。(图1)
[0076] 图形化的移动应用开发工具提供移动应用的开发和移动应用的编译导出能力,主要包括移动应用项目管理模块、HTML文件管理、Javascript文件管理、CSS文件管理、移动应用编译引擎、移动应用导出模块。
[0077] 所述移动应用管理模块提供移动应用的创建、修改和删除功能。通过移动应用项目创建功能可以创建移动应用项目目录结构。(图2)
[0078] 所述HTML文件管理提供HTML格式文件创建、修改、删除的功能,并且提供HTML编辑器对HTML文件进行录入、修改和保存。
[0079] 所述Javascript文件管理提供Javascript格式文件创建、修改、删除的功能,并且提供Javascript编辑器对Javascript文件进行录入、修改和保存。
[0080] 所述CSS文件编辑器提供了CSS代码的录入、修改和保存功能。
[0081] 所述移动应用编译引擎在移动应用导出时,对移动应用项目进行编译,把项目中的HTML文件和css文件编译成中间代码。
[0082] 所述移动应用导出模块提供移动应用导出功能,把移动项目导出成可以移动应用部署包。
[0083] 移动应用发布平台主要提供移动应用发布功能,在移动应用开发平台上开发的移动应用通过移动应用发布平台向外发布,包括移动应用上传模块、移动应用管理模块、移动应用发布模块。
[0084] 所述移动应用上传模块提供基于Web的移动上传能力。
[0085] 所述移动应用管理模块提供对上传的移动应用管理能力,包括应用版本管理,更新管理,发布管理。
[0086] 所述移动应用发布模块对外提供移动应用的下载能力。
[0087] 移动客户端是移动应用的运行容器,移动客户端为IOS和Android两个版本,两个版本具有相同的功能和模块,分别运行在IOS操作系统和Android操作系统上。移动客户端负责下载、解析、加载、运行移动应用。移动客户端包括移动应用更新引擎,Javscript引擎,CSS引擎、Bridge模块、Widget管理器、UI模型、UI渲染引擎。
[0088] 所述更新引擎负责从发布平台下载移动应用到客户端。
[0089] 所述Javscript引擎负责解析、加载和运行Javascript代码。
[0090] 所述CSS引擎负责解析、加载CSS代码。
[0091] 所述Bridge模块负责Javascript和原生代码之间的通讯。提供了Javascript调用原生代码和原生代码调用Javascript代码的通道。
[0092] 所述Widget管理器负责加载和管理Widget模型。
[0093] 所述UI模型负责对移动应用的界面进行描述。
[0094] 所述UI渲染引擎负责根据UI模型,原生的UI控件,渲染出原生的UI界面。
[0095] 实现该利用移动应用原生开发语言实现跨平台应用开发的方法,包括移动应用开发、移动应用导出、移动应用发布和移动应用运行四个操作步骤。
[0096] 所述的移动应用开发操作包括以下处理步骤:
[0097] (1)用户启动开发工具。
[0098] (2)开发工具进行系统初始化操作。
[0099] (3)系统读取控件提示配置文件,使用xml格式解析器对文件进行解析,然后在内存中创建控件提示属性和接口提示模型。控件属性和接口提示模型用于在使用HTML文件编译器进行开发时,对输入的标签和javscript对象的属性和接口进行提示,提高代码录入的效率和速度。属性提示模型包括标签名称、属性、属性缺省值。接口提示模型包括对象类型,接口名称,参数名称。
[0100] (4)系统读取控件编译配置文件,使用xml格式解析器对文件进行解析,解析后生控件编译模型。控件编译模型包括控件类型、控件名称、控件编译模板文件。控件编译模板文件是指编译控件所需要的velecity编译模板。Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅使用简单的模板语言(template language)来引用由java代码定义的对象。
[0101] (5)开发人员进行移动应用开发,其主要流程是创建移动项目,创建和编辑HMTL文件、javascript文件和CSS文件,导入图片等其它资源。
[0102] (6)系统根据用户创建项目操作,在磁盘上创建移动项目录结构。
[0103] (7)系统根据用户创建HTMl操作,移动项目录中创建HTML文件。
[0104] (8)系统根据用户创建CSS文件操作,移动项目录中创建CSS文件。
[0105] (9)系统根据用户创建Javascript操作,移动项目录中创建Javascript文件。
[0106] 所述移动应用导出操作包括以下处理步骤:
[0107] (1)用户使用移动应用开发平台完成移动应用的开发,向开发平台提交应用导出操作;
[0108] (2)系统接收用户导出操作请求,获取待编译移动应用项目的存放目录。
[0109] (3)系统创建编译临时目录,用于存放编译的中间产物。
[0110] (4)系统遍历项目目录,在临时目录中创建相同的目录结构,并且把移动项目中除HTML文件和CSS文件外的其余文件拷贝到对应的临时目录中。
[0111] (5)系统对HTML文件进行编译操作。
[0112] (a)系统遍历项目读取一个HTML文件。
[0113] (b)系统使用HTML语法解析器,对HTML文件进行HTML语法解析,形成界面模型树。
[0114] (c)系统对界面模型树进行遍历,依次把控件编译成相对应的目标代码,具体过程如下:
[0115] (i)系统从界面模型树上获取一个控件模型,从控件模型中获取控件类型。
[0116] (ii)系统根据类型,调用编译管理器接口,获取控件模型对应用的编译模板文件路径。
[0117] (iii)系统读取控件编译模板文件,调用Velecity编译引擎的编译接口,把控件模型作为输入参数,获得编译的目标代码。
[0118] (iv)重复步骤i,编译完整棵模型树,获取HMTL文件完整的编译目标代码。
[0119] (d)系统把目标代码保存成文件,拷贝到临时目录中。
[0120] (e)重复步骤a,直至编译完成个项目中的HTML文件。
[0121] (6)系统对CSS文件进行编译操作。
[0122] (a)系统遍历项目读取CSS文件。
[0123] (b)系统使用CSS解析器,对CSS文件进行CSS语法解析,形成CSS模型。
[0124] (c)系统对CSS模型进行JSON序列化,形成JSON字符串。
[0125] (d)系统把JSON字符串保存成文件。
[0126] (e)重复步骤a,直至编译完成所有CSS文件
[0127] (7)系统对编译临时目录进行压缩,生成可用于发布的移动应用发布文件。
[0128] 所述移动应用发布操作包括以下处理步骤:
[0129] (a)用户通过浏览器访问发布平台上的移动应用上传页面,选择要上传的移动应用发布文件,点击上传按钮。
[0130] (b)发布平台接收上传文件,并在磁盘上保存上传文件。
[0131] (c)发布平台在数据库表中记录发布应用的信息,包括:应用名称、应用大小、应用版本。
[0132] (d)发布平台等待客户端下载移动应用。
[0133] 所述移动应用运行操作包括以下处理步骤:
[0134] (1)移动客户端从发布服务器下载移动应用文件。
[0135] (2)移动客户端对下载的移动应用文件进行解压,解压到客户端应用目录。
[0136] (3)移动客户端初始化CSS引擎。
[0137] (a)移动客户端遍历加载应用目录中的CSS编译文件。
[0138] (b)移动客户端用JSON解析器,对CSS编译文件进行解析,在内存中形成CSS模型,CSS模型包括CSS类名、CSS属性。
[0139] (4)移动客户端读取移动应用配置文件,从配置文件中获取移动应用的首页URL。
[0140] (5)移动客户端对首页URL进行转换,转换成客户端本地的文件路径。
[0141] (6)移动客户端根据首页文件路径读取客户端文件中的代码。
[0142] (7)移动客户端调用Javascript引擎运行接口,运行读取的文件中的代码,在Javascript引擎中形成界面控件模型树。
[0143] (8)Javascript引擎把界面控件模型树通过JSON序列化成字符串。
[0144] (9)Javascript引擎调用bridge通道,把序列化的字符串传递给原生渲染引擎。
[0145] (10)移动客户端调用原生渲染引擎接口对json字串符反序列化,在原生端形成界面控件模型树。
[0146] (11)原生渲染引擎遍历控件模型树,依次创建原生控件。
[0147] (a)原生渲染引擎从控件树上获取一个控件模型对象。
[0148] (b)原生渲染引擎调用模型对象的接口,从模型中获取控件类型。
[0149] (c)原生渲染引擎根据控件类型,调用widget管理器接口,创建一个原生控件实例。
[0150] (d)原生渲染引擎调用控件模型对象接口,获取模型上的所有属性配置[0151] (e)原生渲染引擎根据属性名称,依次调用原生控件实例对象接口把属性设置到原生控件实例对象上。
[0152] (f)原生渲染引擎根据控件模型中的CSS类名,调用CSS接引擎接口,从CSS引擎中获取CSS属性配置。
[0153] (g)原生渲染引擎根据CSS属性名称,依次调用原生控件实例接口把CSS属性设置到原生控件实例对象上。
[0154] (h)重复过程a,直至整个树上的控件模型都渲染完成
[0155] (12)原生渲染引擎调用客户端系统接口,把渲染完成的整个原生控件实例界面添加到系统界面上。
[0156] (13)移动客户端显示界面。
[0157] 在实际运用中,本发明实施过程如下:
[0158] 1)开发工具初始化,操作系统调用Shell.Start()接口。
[0159] 2)开发工具加载控件提示模型。提示模型管理器接口如下:
[0160]
[0161] 系统调用PromptManager的load接口加载所有控件提示配置,调用parseFile接口对提示配置文件进行解析,最终形成一个Map结构,控件类型名称作为Map中的key,map中对应的value值是Prompt对象。
[0162] 控件提示模型文件格式如下:
[0163]
[0164]
[0165] 3)开发工具加载控件编译模型。提示模型管理器接口如下:
[0166]
[0167] 系统调用PromptManager的load接口加载所有控件提示配置,调用parseFile接口对提示编译文件进行解析,最终形成一个Map结构,控件类型名称作为Map中的key,map中对应的value值是控件的编译模板文件。控件编译模板文件是基于VeleCity语法格式的文件,以
控件为例,其编译模板文件内容为:
[0168]
[0169] 4)开发人员在应用开发过程中,创建项目,创建HTML,Css,Javascript文件操作,都通过调用资源管理器接口完成,资源管理器接口实现如下:
[0170]
[0171] 开发人员创建移动应用时,系统调用ResourceManager.createProject创建一个应用,开发人员创建HTML文件时,系统调用ResouceManager.createHtmlFile创建文件。
[0172] 5)移动项目开发完成后编译导出,导出管理器接口实现如下:
[0173]
[0174]
[0175] 开发人员执行导出操作,系统调用ExportManager的export接口,开始导出。调用createTmpDir接口创建临时目录,再调用copyResource接口,把项目资源copy到临时目录,调用compileHtml和compleCss接口对HTML文件和CSS文件进行编译。最后,调用zipFile接口对零时目录进行压缩打包。
[0176] 6)HTML文件编译过程如下,首先调用HtmlAnalyzer的doanalyz接口进行分析,形成Control  Tree,然后对ControlTree进行遍历,获取每一个cortal调用HtmlCompileManager的complie接口进行编译。
[0177] 输入HTMl文件内容为:
[0178]
[0179]
[0180]
[0181]
[0182]
[0183] 编译后结果为:
[0184] New Emp.Panel({height:200,width:200});
[0185] 7)CSS文件编译过程如下,首先调用CSSAnalyzer的doanalyz接口进行分析,形成CSSModel,然后对CSSModel进行Json序列化。
[0186] 输入CSS文件内容为:
[0187] .MyDivCss
[0188] {color:blue;
[0189] background:red}
[0190] 编译后结果为:
[0191] {MyDivCss:{color:blue,background:red}}
[0192] 8)客户端运行后,下载过程如下:客户端调用下载管理器DownloadManager的download接口,从移动发布平台下载移动应用。再调用DeployManager的Deploy接口部署移动应用。
[0193] 9)客户端调用ConfigManager的getEntryUrl接口从配置文件中获取移动入口页面的地址,再调用ConverManage的convertUrl接口转换为客户端本地地址。
[0194] 10)客户端读取入口文件代码,然后调用JavascriptEngine的Eval接口执行,JavascriptEngine执行后,形javascript对象,然后调用JavascriptEngine调用javasript对象的toJson接口,把javascript对象序列化成json字符串。
[0195] 11)JavascriptEngine调用Briger的toNative接口,把json字符串传递给原生渲染引擎。
[0196] 12)原生渲染引擎接口定义如下:
[0197]
[0198] 客户端设备RdnerEnginer的pasre接口,对json字符串地反序列化,在原生端形成json模型,然后调用render接口,对json模型进行原生渲染。
[0199] 以输入的javascript代码:
[0200] New Panel({width:200,height:300})
[0201] 实际运行的原生代码为:
[0202] LinerLayout l=New LinerLayout();
[0203] l.setLayoutParams(new LinerLayout.LayoutParams(200,300));
[0204] 13)客户端调用setContent接口,把渲染的界面再客户端显示。
[0205] 采用了该发明中的基于原生开发语言实现跨平台应用开发的系统及方法,由于提供了基于HTML、Javascript、Css的移动应用开发工具,通过该工具开发移动应用,在应用导出时对HTML、Javscript、Css文件进行编译;然后由移动客户端下载和运行。移动客户端运行时先由Javascript引擎加载和运行Javascript代码,形成界面描述模型;再由原生渲染引擎创建由原生控件组成的界面。本方法不仅降低了移动应用开发的复杂度、使移动应用开发简单高效,只需开发一套代码,就可以运行在多种移动平台、极大的提高了移动应用的开发效率、降低了代码维护的成本。而且,移动应用在运行时完全生成原生UI控件,移动应用使用者操作的是由原生控件组成的功能页面,从而为使用者带来最佳的用户体验。另外,本发明使还使用了增量更新技术,让移动应用更新更加方便快捷、节省更新需要的网络流量,具有更广泛的应用范围。
[0206] 在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈