CN113626105B - 移动端混合模式的sdk系统与移动设备 - Google Patents
移动端混合模式的sdk系统与移动设备 Download PDFInfo
- Publication number
- CN113626105B CN113626105B CN202110948030.5A CN202110948030A CN113626105B CN 113626105 B CN113626105 B CN 113626105B CN 202110948030 A CN202110948030 A CN 202110948030A CN 113626105 B CN113626105 B CN 113626105B
- Authority
- CN
- China
- Prior art keywords
- module
- application
- layer
- sdk
- applications
- 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.)
- Active
Links
- 230000000694 effects Effects 0.000 claims abstract description 23
- 238000000034 method Methods 0.000 claims description 14
- 235000014510 cooky Nutrition 0.000 claims description 7
- 239000012634 fragment Substances 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000012800 visualization Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种移动端混合模式的SDK系统与移动设备,包括:从上而下设置的应用层、SDK层、引擎层以及系统层;所述引擎层包括多应用架构模块,所述多应用架构模块包括多个Activity以及集成Activity的归属功能,每个Activity对应一份FragmentStack,所述Activity的归属功能用于实现多个应用之间的切换,所述多应用架构模块还用于同时打开多个应用。本发明通过在架构上使用多Activity,每个Activity对应一份FragmentStack,使应用间的切换可以使用应用抽屉的形式切换;一次打开多个应用,实现一份应用可同时支撑多套H5应用的运行环境。
Description
技术领域
本发明涉及软件技术领域,尤其涉及一种移动端混合模式的SDK系统与移动设备。
背景技术
在跨端应用的开发中,使用网页视图作为媒介是常用的方案之一,可以实现一套代码同时运行在安卓端、PC端、以及iOS端。市面上会有使用JSBridge作为桥阶层,管理java到H5之间的通信方案来实现Hybird。但这种做法只是简单的做到的通信,并未形成标准化的体系,以及复杂场景的适配,对于插件的插拔也不友好。
发明内容
有鉴于此,本发明提供一种移动端混合模式(Hybrid)的SDK(SoftwareDevelopment Kit,即软件开发工具包)系统与移动设备,能实现一份应用可同时支撑多套H5应用的运行环境。
第一方面,移动端混合模式的SDK系统,包括:从上而下设置的应用层、SDK层、引擎层以及系统层;
所述引擎层包括多应用架构模块,所述多应用架构模块包括多个Activity以及集成Activity的归属功能,每个Activity对应一份FragmentStack,所述Activity的归属功能用于实现多个应用之间的切换,所述多应用架构模块还用于同时打开多个应用。
进一步地,所述引擎层还包括多页加载模块,所述多页加载模块用于提供Window插件,支持多页应用,让每一个页面运行在独立的网页视图(WebView)中,网页视图使用Fragment承载。
进一步地,所述多页加载模块还用于提供统一路由应用程序接口(ApplicationProgramming Interface),通过总线实现页面跳转。
进一步地,所述引擎层还包括配置中心模块,用于基于配置表动态加载插件。
进一步地,移动端混合模式的SDK系统的原生端接口通过Cookie管理器(即CookieManager)实现Cookies同步。
进一步地,移动端混合模式的SDK系统的原生端集成用于对日志信息的可视化处理的模块。
进一步地,所述引擎层还包括资源更新模块,用于对所有资源类请求进行拦截,将资源下载到本地保存,遇到已缓存的资源时,直接返回资源的流。
进一步地,所述引擎层还包括远程调试模块,用于在调试阶段对自定义协议拦截,使用流的方式将文件流发送给前端以实现文件跨域。
第二方面,一种移动设备,包括所述的移动端混合模式的SDK系统。
本发明移动端混合模式的SDK系统与移动设备,通过在架构上使用多Activity,每个Activity对应一份FragmentStack,来实现一个应用承载多套前端应用的需求;同时利用Activity的归属功能,使应用间的切换与普通应用一样,可以使用应用抽屉的形式切换;应用的打开逻辑中;使用了LRU的设计思想,一次最多打开多个应用,实现一份应用可同时支撑多套H5应用的运行环境。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为根据本发明示例性第一实施例的移动端混合模式的SDK系统的结构框图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
图1为根据本发明示例性第一实施例的移动端混合模式的SDK系统的结构框图,如图1所示,本发明移动端混合模式的SDK系统,包括:从上而下设置的应用层、SDK层、引擎层以及系统层;
所述引擎层包括多应用架构模块,所述多应用架构模块包括多个Activity以及集成TaskAffinity的功能(即Activity的归属功能),每个Activity对应一份FragmentStack,所述TaskAffinity的功能用于实现多个应用之间的切换,所述多应用架构模块还用于同时打开多个应用。
进一步地,所述引擎层还包括多页加载模块,所述多页加载模块用于提供Window插件,支持多页应用,让每一个页面运行在独立的网页视图中,网页视图使用Fragment承载,由自定义的FragmentStack来管理Fragment的栈。
进一步地,所述多页加载模块还用于提供stash方法辅助维护网页视图状态,以及提供统一路由应用程序接口,通过总线实现页面跳转,用总线的方式管理复杂场景下的页面跳转。
所述引擎层还包括配置中心模块,用于基于配置表动态加载插件,实现了插件的可插拔;同时插件本身可以按需反射加载,即使出现插件未配置的异常,也不会到导致应用的崩溃。
进一步地,移动端混合模式的SDK系统的原生端接口通过Cookie管理器实现Cookies同步。
进一步地,移动端混合模式的SDK系统的前端hook consolegeng方法,原生端集成用于对日志信息的可视化处理的模块。
进一步地,所述引擎层还包括资源更新模块,用于基于shouldInterceptRequest方法,对所有资源类请求进行拦截,将资源下载到本地保存,遇到已缓存的资源时,直接返回资源的流。通过重写shouldInterceptRequest方法,对所有资源类请求进行拦截,将资源下载到本地保存。遇到已缓存的资源时,可直接返回资源的流,避免同一份资源的多次请求。
进一步地,所述引擎层还包括远程调试模块,用于在调试阶段对自定义协议拦截,使用流的方式将文件流发送给前端以实现文件跨域。调试阶段,通过使用自定义协议agree://来代替常用的文件协议。在sdk中进行自定义协议拦截,使用流的方式将文件流发送给前端,达到调试阶段的文件跨域。
此外,JSBridge设计使用对象注入的形式,实现H5与java代码的互相调用,包括同异步方法的处理,同时也避免了丢包风险;同时自定义callbackID,实现了自定义回调。
本发明移动端混合模式的SDK系统,通过在架构上使用多Activity,每个Activity对应一份FragmentStack,来实现一个应用承载多套前端应用的需求;同时利用TaskAffinity的功能,使应用间的切换与普通应用一样,可以使用应用抽屉的形式切换;应用的打开逻辑中;使用了LRU的设计思想,一次最多打开多个(比如5个)应用,实现一份应用可同时支撑多套H5应用的运行环境。该移动端混合模式的SDK系统提供了良好的外部扩展功能,拥有功能插件化、事件机制、JS应用程序接口定制等能力。平台提供了标准的应用程序接口来访问设备功能,例如设备信息、摄像头,文件系统等。通过一套统一标准的JS层与Native层通信的插件通信机制,可以很方便的进行原生插件拓展,兼容现有的其他原生开发及web开发使用的技术方案,可满足不同的业务需求。
此外,本发明还提供一种移动设备,包括所述的移动端混合模式的SDK系统。该移动设备具有上述移动端混合模式的SDK系统相应的技术效果。具体包括:
1、相比如传统JSBridge方案,新增了自定义方法回调与多次回调,可适用于如下载进度,播放进度等需求,该类需求在传统JSBridge的做法通常由原生端完成。此处的改进也极大了丰富了前端开发的体验,让整体开发的注意力可以更关注H5的层面。
2、多页技术支持:
为了解决单一网页视图压力过大的问题,我们使用多个网页视图去承载页面,来达到对于“多页”的支持,使得整个SDK对于H5工程的承载容量得到了极大的提高。对前端来说,页面的跳转有两种方式:使用路由跳转和使用应用程序接口跳转。这样开发人员可以根据实际需求,选择不同的跳转方式,同时也可以基于不同的业务线进行拆分,使不同业务线之间的页面状态互不影响。
3、多应用技术支持:
为了适应超级应用的体量,一份H5的支撑肯定是不足的,因此在多页架构的基础上我们设计了多应用支持,一份应用可同时支撑多套H5应用的运行环境。同时提供了路由总线,方便了复杂页面之间的跳转。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (3)
1.一种移动端混合模式的SDK系统,其特征在于,包括:从上而下设置的应用层、SDK
层、引擎层以及系统层;
所述引擎层包括多应用架构模块,所述多应用架构模块包括多个Activity以及集成Activity 的归属功能,每个Activity对应一份FragmentStack,所述Activity 的归属功能用于实现多个应用之间的切换,所述多应用架构模块还用于同时打开多个应用;
所述引擎层还包括多页加载模块,所述多页加载模块用于提供Window插件,支持多页应用,让每一个页面运行在独立的网页视图中,网页视图使用Fragment承载;
所述多页加载模块还用于提供统一路由应用程序接口,通过总线实现页面跳转;
所述引擎层还包括配置中心模块,用于基于配置表动态加载插件;
移动端混合模式的SDK系统的原生端接口通过Cookie管理器实现Cookies同步;
移动端混合模式的SDK系统的原生端集成用于对日志信息的可视化处理的模块;
所述引擎层还包括资源更新模块,用于对所有资源类请求进行拦截,将资源下载到本地保存,遇到已缓存的资源时,直接返回资源的流。
2.根据权利要求1所述的移动端混合模式的SDK系统,其特征在于,所述引擎层还包括远程调试模块,用于在调试阶段对自定义协议拦截,使用流的方式将文件流发送给前端以实现文件跨域。
3.一种移动设备,其特征在于,包括如权利要求1-2中任一项所述的移动端混合模式的
SDK系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110948030.5A CN113626105B (zh) | 2021-08-18 | 2021-08-18 | 移动端混合模式的sdk系统与移动设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110948030.5A CN113626105B (zh) | 2021-08-18 | 2021-08-18 | 移动端混合模式的sdk系统与移动设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113626105A CN113626105A (zh) | 2021-11-09 |
CN113626105B true CN113626105B (zh) | 2023-10-27 |
Family
ID=78386357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110948030.5A Active CN113626105B (zh) | 2021-08-18 | 2021-08-18 | 移动端混合模式的sdk系统与移动设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626105B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104579766A (zh) * | 2014-12-23 | 2015-04-29 | 上海凌云天博光电科技有限公司 | 一种多应用层网管并发访问方法及装置 |
CN104995927A (zh) * | 2013-01-15 | 2015-10-21 | 微软技术许可有限责任公司 | 用于构建和使用混合移动应用的系统和方法 |
CN105573129A (zh) * | 2015-11-10 | 2016-05-11 | 华南理工大学 | 基于Cordova的跨平台智能家居移动终端 |
CN106293743A (zh) * | 2016-08-11 | 2017-01-04 | 上海泛微网络科技股份有限公司 | 一种移动建模系统及构建移动应用并实现跨平台发布的方法 |
CN106445518A (zh) * | 2016-09-22 | 2017-02-22 | 中国传媒大学 | 一种跨平台移动终端应用程序开发方法及系统 |
CN106647560A (zh) * | 2016-11-23 | 2017-05-10 | 中国南方电网有限责任公司 | 移动应用统一管理方法 |
CN106951233A (zh) * | 2017-03-02 | 2017-07-14 | 广州天高软件科技有限公司 | 混合模式智能手机应用开发框架 |
CN107589947A (zh) * | 2017-08-02 | 2018-01-16 | 成都极娱网络科技有限公司 | 一种sdk接入方法、客户端及系统 |
CN107908403A (zh) * | 2017-11-10 | 2018-04-13 | 北京搜狐新动力信息技术有限公司 | 一种移动端业务模块组件化的配置方法及系统 |
CN108595203A (zh) * | 2018-04-28 | 2018-09-28 | 努比亚技术有限公司 | 应用功能执行方法、移动终端和计算机可读存储介质 |
CN109683990A (zh) * | 2018-12-27 | 2019-04-26 | 四川新网银行股份有限公司 | 基于混合模式移动应用的h5多端接入方法 |
CN109684106A (zh) * | 2018-12-24 | 2019-04-26 | 国网江苏省电力有限公司 | 一种支持多移动浏览器引擎加载运行的方法 |
CN111143832A (zh) * | 2019-12-30 | 2020-05-12 | 苏州思必驰信息科技有限公司 | 适用于多场景的移动端sdk及其混合授权方法 |
CN111158818A (zh) * | 2019-12-24 | 2020-05-15 | 中国建设银行股份有限公司 | 一种页面渲染方法和装置 |
CN112035112A (zh) * | 2020-09-02 | 2020-12-04 | 北京思明启创科技有限公司 | 应用程序开发方法、系统、介质和电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10068568B2 (en) * | 2015-06-01 | 2018-09-04 | Sinclair Broadcast Group, Inc. | Content segmentation and time reconciliation |
-
2021
- 2021-08-18 CN CN202110948030.5A patent/CN113626105B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104995927A (zh) * | 2013-01-15 | 2015-10-21 | 微软技术许可有限责任公司 | 用于构建和使用混合移动应用的系统和方法 |
CN104579766A (zh) * | 2014-12-23 | 2015-04-29 | 上海凌云天博光电科技有限公司 | 一种多应用层网管并发访问方法及装置 |
CN105573129A (zh) * | 2015-11-10 | 2016-05-11 | 华南理工大学 | 基于Cordova的跨平台智能家居移动终端 |
CN106293743A (zh) * | 2016-08-11 | 2017-01-04 | 上海泛微网络科技股份有限公司 | 一种移动建模系统及构建移动应用并实现跨平台发布的方法 |
CN106445518A (zh) * | 2016-09-22 | 2017-02-22 | 中国传媒大学 | 一种跨平台移动终端应用程序开发方法及系统 |
CN106647560A (zh) * | 2016-11-23 | 2017-05-10 | 中国南方电网有限责任公司 | 移动应用统一管理方法 |
CN106951233A (zh) * | 2017-03-02 | 2017-07-14 | 广州天高软件科技有限公司 | 混合模式智能手机应用开发框架 |
CN107589947A (zh) * | 2017-08-02 | 2018-01-16 | 成都极娱网络科技有限公司 | 一种sdk接入方法、客户端及系统 |
CN107908403A (zh) * | 2017-11-10 | 2018-04-13 | 北京搜狐新动力信息技术有限公司 | 一种移动端业务模块组件化的配置方法及系统 |
CN108595203A (zh) * | 2018-04-28 | 2018-09-28 | 努比亚技术有限公司 | 应用功能执行方法、移动终端和计算机可读存储介质 |
CN109684106A (zh) * | 2018-12-24 | 2019-04-26 | 国网江苏省电力有限公司 | 一种支持多移动浏览器引擎加载运行的方法 |
CN109683990A (zh) * | 2018-12-27 | 2019-04-26 | 四川新网银行股份有限公司 | 基于混合模式移动应用的h5多端接入方法 |
CN111158818A (zh) * | 2019-12-24 | 2020-05-15 | 中国建设银行股份有限公司 | 一种页面渲染方法和装置 |
CN111143832A (zh) * | 2019-12-30 | 2020-05-12 | 苏州思必驰信息科技有限公司 | 适用于多场景的移动端sdk及其混合授权方法 |
CN112035112A (zh) * | 2020-09-02 | 2020-12-04 | 北京思明启创科技有限公司 | 应用程序开发方法、系统、介质和电子设备 |
Non-Patent Citations (2)
Title |
---|
"Android和iOS跨平台编程的研究";彭广军;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-378 * |
"基于Lua语言的多平台高效移动应用引擎的深入研究与实现";赵先明;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-711 * |
Also Published As
Publication number | Publication date |
---|---|
CN113626105A (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8010973B2 (en) | Class loader for managing a network | |
US8719780B2 (en) | Application server with a protocol-neutral programming model for developing telecommunications-based applications | |
JP2002527002A (ja) | 電気通信のオペレーティングシステム | |
CN111797173B (zh) | 联盟链共享系统、方法、装置、电子设备及存储介质 | |
CN110808857B (zh) | 实现Kubernetes集群的网络互通方法、装置、设备以及存储介质 | |
CN112035216B (zh) | 一种Kubernetes集群网络和OpenStack网络的打通方法 | |
CN111010304A (zh) | 一种Dubbo服务与Kubernetes系统集成的方法 | |
CN112398936B (zh) | 一种基于Kubernetes的多网卡容器实现方法及系统 | |
CN110389935A (zh) | 一种启动小程序的方法、设备和计算机存储介质 | |
CN104580506B (zh) | 离线地图数据的获取方法、云端服务器及客户端 | |
CN115604199B (zh) | 一种云原生平台微服务网关的服务路由方法和系统 | |
CN112468539A (zh) | 一种k8s集群用户资源调用的方法、装置、设备及可读介质 | |
WO2012097132A1 (en) | Apparatus and method for managing routers and communication interfaces on a computing device | |
CN101339508B (zh) | 一种Java2微型版应用的运行方法和装置 | |
Nakao et al. | Constructing end-to-end paths for playing media objects | |
CN113626105B (zh) | 移动端混合模式的sdk系统与移动设备 | |
US20050111363A1 (en) | Operating system for telecommunications | |
CN105393499A (zh) | 网关设备、通信系统、通信方法和通信程序 | |
CN104423944A (zh) | 一种软件应用系统 | |
CN111770179B (zh) | 一种高性能高可用云化联网网关实现方法、介质及终端 | |
CN109818772A (zh) | 一种网络性能保障方法及装置 | |
CN116800605B (zh) | 在容器中运行虚拟机的网络实现方法、系统、设备及介质 | |
CN110417592A (zh) | 一种Qos限速方法、装置、路由设备及存储介质 | |
CN101272377B (zh) | 业务数据控制系统和业务数据处理系统 | |
CN117376372A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |