一种支持多移动浏览器引擎加载运行的方法与流程

文档序号:17536154发布日期:2019-04-29 14:00阅读:333来源:国知局
一种支持多移动浏览器引擎加载运行的方法与流程

本发明属于移动互联网领域,具体是针对混合架构下的移动app提供一种支持多移动浏览器引擎加载的方法。



背景技术:

随着移动互联网的发展,移动开发技术由三种方式,即web开发、原生开发、混合开发(原生+web)。由于混合开发具有web和原生开发的优点,如移动操作系统(安卓、苹果)兼容性高、设备访问能力强、应用商店多渠道易推广、可线下使用等,混合开发逐渐成为移动app主流开发技术。由于浏览器引擎是混合开发支撑web的核心,每款移动app有不同的业务场景,对浏览器引擎在安全、稳定、省流、可靠、兼容、展现特效等方面各有不同技术需求。目前市面上主流的浏览器引擎有四种,分别是google的chromium、crosswalk、腾讯x5、苹果webview,各浏览器引擎对web支撑上各具特色,且浏览器引擎对移动app集成方式各不相同,没有统一的集成开发标准。因此,若要充分发挥移动app能力,移动app开发人员需要集成不同的浏览器引擎,集成技术门槛较高,周期长,投入成本高,导致移动app过多关注非app本身业务,不利于聚焦移动app业务本身。由于该问题在整个移动app行业都存在,重复投入高,不利于整个行业的良性发展。



技术实现要素:

基于以上情况,本发明的目的是提供一种支持多移动浏览器引擎加载的方法,实现混合架构下移动app多种浏览器引擎统一加载和运行,降低引擎集成难度和建设成本,缩短建设周期。

本发明的目的通过以下技术方案实现:

一种支持多移动浏览器引擎加载运行的方法,其特征在于:该方法根据混合架构移动app技术分层,分为移动应用层、统一引擎、浏览器引擎、操作系统;其中:

移动应用层包括html文件、javascript脚本、css样式表、图片/音视频多媒体数据,业务应用由以上文件组成,并通过调用统一引擎提供的原生插件进行组合实现业务逻辑;

统一引擎包括引擎适配器、原生插件框架,向下适配不同浏览器引擎,向上提供统一的浏览器引擎加载接口,并提供原生插件扩展接口,应用基于插件框架自定义扩展插件,提升统一引擎的扩展性和灵活性;统一引擎适配器接口将不同浏览器引擎加载运行接口进行抽取,形成公共接口,包括引擎加载、事件监听、方法回调和引擎销毁四大方法;以经典的适配器模式,将不同引擎通过引擎适配器实现接口,将多种浏览器引擎以统一方式加载运行。

其中,原生插件框架包括插件管理、插件集和桥接器;插件管理包括插件注册、脚本注入、事件队列和插件返回,约定每个插件的实现规范,并对插件集中的每个插件调用进行统一管理,方便插件的横向扩充;插件集按照插件管理约定的实现规范进行实现,包括系统类、设备类、存储类、网络类。

桥接器将四大引擎的原生插件扩展进行桥接,插件的开发不受制于具体引擎,将引擎和插件实现进行隔离。

浏览器引擎包括google的chromium、crosswalk、腾讯x5、苹果webview,这四类为目前市面主流引擎,基本可以涵盖90%以上。

操作系统包括安卓和苹果两大移动操作系统平台,基本可以涵盖99%以上。

本发明解决了混合架构下的移动app适配不同浏览器引擎投入成本高、周期长的问题。

附图说明

图1本发明结构示意图。

图2本发明中引擎适配器架构图。

图3本发明中原生插件框架架构图。

具体实施方式

一种支持多移动浏览器引擎加载运行的方法,根据混合架构移动app技术分层,分为移动应用层、统一引擎、浏览器引擎、操作系统;见图1,移动应用层包括html文件、javascript脚本、css样式表、图片/音视频多媒体数据,业务应用由以上文件组成,并通过调用统一引擎提供的原生插件进行组合实现业务逻辑;

统一引擎包括引擎适配器、原生插件框架,向下适配不同浏览器引擎,向上提供统一的浏览器引擎加载接口,并提供原生插件扩展接口,应用基于插件框架自定义扩展插件,提升统一引擎的扩展性和灵活性;统一引擎适配器接口将不同浏览器引擎加载运行接口进行抽取,形成公共接口,包括引擎加载、事件监听、方法回调和引擎销毁四大方法;以经典的适配器模式,将不同引擎通过引擎适配器实现接口,将多种浏览器引擎以统一方式加载运行。

统一引擎为本发明的核心实现,具体包括引擎适配器、原生插件框架实现。

1.引擎适配器

引擎适配器为核心组件,作用是向下适配不同浏览器引擎,向上提供统一的浏览器引擎加载接口。引擎适配器包括web窗口管理、统一引擎适配器接口和引擎适配器。图2是引擎适配器架构图。

web窗口管理为web应用提供窗口通信、标题栏管理、访问控制和缓存更新功能。web窗口管理可以理解为一个微型浏览器,实现基本浏览器基本功能,为web应用提供基础运行环境。

统一引擎适配器接口将不同浏览器引擎加载运行接口进行抽取,形成公共接口,包括引擎加载、事件监听、方法回调和引擎销毁四大方法。以经典的适配器模式,将不同引擎通过引擎适配器实现接口,将多种浏览器引擎以统一方式加载运行,为上层的web窗口管理隔离不同浏览器引擎实现。

引擎适配器根据统一引擎适配器接口,针对不同引擎进行适配,每种引擎对应一种适配器。

2.原生插件框架

原生插件框架为本技术实现的又一核心组件,该框架提供原生插件扩展接口,方便应用基于插件框架自定义扩展插件,提升统一引擎的扩展性和灵活性。原生插件框架包括插件管理、插件集和桥接器。图3是原生插件框架架构图

插件管理包括插件注册、脚本注入、事件队列和插件返回,约定每个插件的实现规范,并对插件集中的每个插件调用进行统一管理,方便插件的横向扩充。

插件集按照插件管理约定的实现规范进行实现,包括系统类、设备类、存储类、网络类等,横向可以扩展。

桥接器按照经典的桥接模式设计实现,将四大引擎的原生插件扩展进行桥接,插件的开发不受制于具体引擎,将引擎和插件实现进行隔离。



技术特征:

技术总结
本发明公开了一种支持多移动浏览器引擎加载运行的方法,根据混合架构移动APP技术分层,分为移动应用层、统一引擎、浏览器引擎、操作系统;移动应用层包括HTML文件、javascript脚本、css样式表、图片/音视频多媒体数据,业务应用由以上文件组成,并通过调用统一引擎提供的原生插件进行组合实现业务逻辑;统一引擎包括引擎适配器、原生插件框架,统一引擎适配器接口将不同浏览器引擎加载运行接口进行抽取,形成公共接口,将多种浏览器引擎以统一方式加载运行。本发明解决了混合架构下的移动APP适配不同浏览器引擎投入成本高、周期长的问题。

技术研发人员:王海林;崔恒志;王纪军
受保护的技术使用者:国网江苏省电力有限公司;江苏电力信息技术有限公司
技术研发日:2018.12.24
技术公布日:2019.04.26
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1