CN109684106A - 一种支持多移动浏览器引擎加载运行的方法 - Google Patents
一种支持多移动浏览器引擎加载运行的方法 Download PDFInfo
- Publication number
- CN109684106A CN109684106A CN201811577937.XA CN201811577937A CN109684106A CN 109684106 A CN109684106 A CN 109684106A CN 201811577937 A CN201811577937 A CN 201811577937A CN 109684106 A CN109684106 A CN 109684106A
- Authority
- CN
- China
- Prior art keywords
- engine
- plug
- unified
- mobile
- browser
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种支持多移动浏览器引擎加载运行的方法,根据混合架构移动APP技术分层,分为移动应用层、统一引擎、浏览器引擎、操作系统;移动应用层包括HTML文件、javascript脚本、css样式表、图片/音视频多媒体数据,业务应用由以上文件组成,并通过调用统一引擎提供的原生插件进行组合实现业务逻辑;统一引擎包括引擎适配器、原生插件框架,统一引擎适配器接口将不同浏览器引擎加载运行接口进行抽取,形成公共接口,将多种浏览器引擎以统一方式加载运行。本发明解决了混合架构下的移动APP适配不同浏览器引擎投入成本高、周期长的问题。
Description
技术领域
本发明属于移动互联网领域,具体是针对混合架构下的移动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是原生插件框架架构图
插件管理包括插件注册、脚本注入、事件队列和插件返回,约定每个插件的实现规范,并对插件集中的每个插件调用进行统一管理,方便插件的横向扩充。
插件集按照插件管理约定的实现规范进行实现,包括系统类、设备类、存储类、网络类等,横向可以扩展。
桥接器按照经典的桥接模式设计实现,将四大引擎的原生插件扩展进行桥接,插件的开发不受制于具体引擎,将引擎和插件实现进行隔离。
Claims (4)
1.一种支持多移动浏览器引擎加载运行的方法,其特征在于:该方法根据混合架构移动APP技术分层,分为移动应用层、统一引擎、浏览器引擎、操作系统;其中:
移动应用层包括HTML文件、javascript脚本、css样式表、图片/音视频多媒体数据,业务应用由以上文件组成,并通过调用统一引擎提供的原生插件进行组合实现业务逻辑;
统一引擎包括引擎适配器、原生插件框架,向下适配不同浏览器引擎,向上提供统一的浏览器引擎加载接口,并提供原生插件扩展接口,应用基于插件框架自定义扩展插件,提升统一引擎的扩展性和灵活性;统一引擎适配器接口将不同浏览器引擎加载运行接口进行抽取,形成公共接口,包括引擎加载、事件监听、方法回调和引擎销毁四大方法;以经典的适配器模式,将不同引擎通过引擎适配器实现接口,将多种浏览器引擎以统一方式加载运行。
2.根据权利要求1所述的支持多移动浏览器引擎加载运行的方法,其特征在于:原生插件框架包括插件管理、插件集和桥接器;
插件管理包括插件注册、脚本注入、事件队列和插件返回,约定每个插件的实现规范,并对插件集中的每个插件调用进行统一管理,方便插件的横向扩充;
插件集按照插件管理约定的实现规范进行实现,包括系统类、设备类、存储类、网络类。
桥接器将四大引擎的原生插件扩展进行桥接,插件的开发不受制于具体引擎,将引擎和插件实现进行隔离。
3.根据权利要求1所述的支持多移动浏览器引擎加载运行的方法,其特征在于:浏览器引擎包括google的chromium、crosswalk、腾讯X5、苹果WebView,这四类主流引擎。
4.根据权利要求1所述的支持多移动浏览器引擎加载运行的方法,其特征在于:操作系统包括安卓和苹果两大移动操作系统平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811577937.XA CN109684106A (zh) | 2018-12-24 | 2018-12-24 | 一种支持多移动浏览器引擎加载运行的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811577937.XA CN109684106A (zh) | 2018-12-24 | 2018-12-24 | 一种支持多移动浏览器引擎加载运行的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109684106A true CN109684106A (zh) | 2019-04-26 |
Family
ID=66188933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811577937.XA Withdrawn CN109684106A (zh) | 2018-12-24 | 2018-12-24 | 一种支持多移动浏览器引擎加载运行的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684106A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416466A (zh) * | 2020-12-02 | 2021-02-26 | 车智互联(北京)科技有限公司 | 一种应用程序加载方法、移动终端及可读存储介质 |
CN113626105A (zh) * | 2021-08-18 | 2021-11-09 | 赞同科技股份有限公司 | 移动端混合模式的sdk系统与移动设备 |
CN117762391A (zh) * | 2024-02-22 | 2024-03-26 | 欢乐互娱(上海)科技股份有限公司 | 一种多平台的业务逻辑代码运行方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281455A (zh) * | 2014-10-11 | 2015-01-14 | 北京金山安全软件有限公司 | 一种接口调用方法、装置及终端 |
CN105389222A (zh) * | 2015-12-15 | 2016-03-09 | 中国科学院声学研究所 | 一种动态调用原生接口的方法、装置和系统 |
-
2018
- 2018-12-24 CN CN201811577937.XA patent/CN109684106A/zh not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281455A (zh) * | 2014-10-11 | 2015-01-14 | 北京金山安全软件有限公司 | 一种接口调用方法、装置及终端 |
CN105389222A (zh) * | 2015-12-15 | 2016-03-09 | 中国科学院声学研究所 | 一种动态调用原生接口的方法、装置和系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416466A (zh) * | 2020-12-02 | 2021-02-26 | 车智互联(北京)科技有限公司 | 一种应用程序加载方法、移动终端及可读存储介质 |
CN112416466B (zh) * | 2020-12-02 | 2024-02-23 | 车智互联(北京)科技有限公司 | 一种应用程序加载方法、移动终端及可读存储介质 |
CN113626105A (zh) * | 2021-08-18 | 2021-11-09 | 赞同科技股份有限公司 | 移动端混合模式的sdk系统与移动设备 |
CN113626105B (zh) * | 2021-08-18 | 2023-10-27 | 赞同科技股份有限公司 | 移动端混合模式的sdk系统与移动设备 |
CN117762391A (zh) * | 2024-02-22 | 2024-03-26 | 欢乐互娱(上海)科技股份有限公司 | 一种多平台的业务逻辑代码运行方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9715370B2 (en) | Method and system for providing content | |
CN104636139B (zh) | 一种可视化跨平台移动应用开发与生成系统 | |
CN109684106A (zh) | 一种支持多移动浏览器引擎加载运行的方法 | |
AU2015236109B2 (en) | System for managing extension modifications to web pages | |
CN102819451B (zh) | 一种浏览器插件调用方法及系统 | |
US8887132B1 (en) | Application runtime environment and framework | |
CN103077024B (zh) | 一种支持SaaS应用流程按需定制与运行的装置及方法 | |
CN106951233A (zh) | 混合模式智能手机应用开发框架 | |
CN104866327B (zh) | 一种php开发方法及框架 | |
CN109117174A (zh) | 兼容不同引擎的前端页面的系统及方法 | |
CN105955744A (zh) | 一种移动跨平台开发系统及方法 | |
CN109672580A (zh) | 全链路监控方法、装置、终端设备及存储介质 | |
CN103049320A (zh) | 在浏览器中启动外部应用程序的方法和装置 | |
CN106126747A (zh) | 基于爬虫的数据获取方法及装置 | |
CN102625182A (zh) | 互联网电视业务中集成和控制视频播放器的方法和系统 | |
CN110381101A (zh) | Api网关控制系统、控制方法、设备和介质 | |
CN108845800A (zh) | 一种组件扩展功能的实现方法、装置、设备及存储介质 | |
CN107729097A (zh) | 展示页面配置方法及相应设备 | |
CN103870280B (zh) | 基于flex与jsp的网页无缝结合处理方法 | |
AU2019222873B2 (en) | Method and system for providing content | |
CN112241373A (zh) | 自动化测试方法、测试装置、处理器和测试系统 | |
CN113127000A (zh) | 应用程序组件的编译方法、装置、设备及存储介质 | |
CN103677842A (zh) | 软件工具配置式集成扩展调用方法与系统 | |
Rousseau et al. | Multimodal output specification/simulation platform | |
CN101977268B (zh) | 移动终端处理方法及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190426 |
|
WW01 | Invention patent application withdrawn after publication |