掌桥专利:专业的专利平台
掌桥专利
首页

一种移动端小应用开发管理系统

文献发布时间:2023-06-19 10:24:22


一种移动端小应用开发管理系统

技术领域

本发明涉及移动端小应用技术领域,特别是涉及一种移动端小应用开发管理系统。

背景技术

目前APP开发主要基于原生的开发方式。手机主流操作系统主要有两种:iOS和Android,这两个平台分别提供了APP的开发语言和开发框架。技术人员通过平台提供的技术体系来开发运行于该平台上APP的方式就叫原生开发方式。

一般而言,一家公司在为一款新的APP立项时,需要分别为这两个平台开发出两个版本的APP。并且由于Android和iOS上APP开发所用的开发语言不同(Android是Java或Kotlin、iOS是Objective-C或Swift),所基于的开发框架不同,每个平台各自需要该平台专业的开发人员从事开发工作,一个功能开发至少需要两个人力。

基于原生开发时,每款APP新版本对外发布,都要经历准备发布、上架申请、上架审核、正式发布、用户下载几个流程。从公司新版APP的发布,到用户可以在商店下载到新版本至少需要一天时间,导致一些紧急bug的修复或因运营需要紧急上架新功能的需求无法得到有效满足。

此外,新版本的APP,当中可能只有一小部分功能发生了修改,但每次都需要用户全量更新,用户无法只更新APP当中发生了修改的部分。

并且,随着智能POS的普及,对POS端应用的需求也越来越大,智能POS虽然基于Android系统,但也有一些不同于手机端的特性需要做特别适配。

发明内容

本发明所要解决的技术问题是提供一种移动端小应用开发管理系统,满足了APP开发平台中跨平台开发、实时更新、增量更新的需求。

本发明解决其技术问题所采用的技术方案是:提供一种移动端小应用开发管理系统,包括服务端更新包管理平台和移动端小应用软件开发包模块;所述服务端更新包管理平台用于更新包的发布和版本管理,并对所述移动端下应用软件开发包模块提供了更新包版本版本信息获取接口和更新包下载接口;所述移动端小应用软件开发包模块包括Android和iOS两个版本,两个版本按照相同的规范对所述服务端更新包管理平台提供开发接口。

所述更新包包括代码文件、资源文件和配置文件,所述更新包只运行在小应用运行环境中,通过配置文件及运行环境对外的JS接口进行开发。

所述服务端更新包管理平台在配置所述更新包时,同时配置该更新包的可用属性;所述移动端小应用软件开发包模块每次获取版本信息时,在可用的更新包中获取其最新版本。

所述移动端小应用软件开发包模块的Android版本和iOS版本均包括更新包管理器模块和更新包运行环境模块;所述更新包管理器模块在移动端对更新包进行管理;所述更新包运行环境模块用于提供更新包运行环境。

所述更新包管理器模块在移动端对更新包进行管理时具体为:基于用户操作获取更新包版本信息,根据下载地址将新的更新包下载到本地缓存中,解压更新包,然后解析更新包中的配置文件,根据配置文件中的配置初始化更新包的运行环境,最后将更新包中的首页加载到运行环境中运行显示。

所述更新包管理器模块还对下载到本地缓存中的更新包计算签名,并把计算的签名结果和获取的版本信息中的签名信息进行比对,如果不一致则将该更新包废弃,如果一致则将该更新包存入本地存储中。

所述更新包运行环境模块包含了一个浏览器内核,更新包运行在所述浏览器内核中;所述更新包运行环境模块还将一些APP原生功能通过JS接口对外暴露,使得更新包通过JS接口调用浏览器内核所无法提供的功能。

有益效果

由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明可以实现一次开发,多个平台(iOS、Android、POS)都可运行;更新包发布后,用户端APP可立刻获得更新,一些紧急bug或紧急运营的需求可以通过该方式实现快速上线;每次更新包只和一个特定的功能有关,包的大小和整个APP相比非常小,用户只需要消耗很少的流量和时间即可完成一次更新。在包的下载和安装过程会对接口、包做签名认证以防篡改。

附图说明

图1是本发明实施方式的框架图;

图2是本发明实施方式的用户访问小应用的时序图;

图3是本发明实施方式的更新包目录结构示意图。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

本发明的实施方式涉及一种移动端小应用开发管理系统,如图1所示,包括服务端更新包管理平台和移动端小应用软件开发包模块;所述服务端更新包管理平台用于更新包的发布和版本管理,并对所述移动端下应用软件开发包模块提供了更新包版本版本信息获取接口和更新包下载接口;所述移动端小应用软件开发包模块包括Android和iOS两个版本,两个版本按照相同的规范对所述服务端更新包管理平台提供开发接口。

在本实施方式中,一个小应用就是一个更新包。更新包是一个文件夹压缩包(如图3所示),该文件夹里存放的是HTML、CSS、JavaScript代码文件及图片等资源文件,另外在文件的根目录下还存放有一个名为“allinpay.json”的配置文件。更新包主要采用前端开发技术进行开发工作,和纯粹的前端开发的H5主要运行在浏览器中不同的是本实施方式的更新包只运行在小应用运行环境中。更新包可通过“allinpay.json”配置文件及运行环境对外的JS接口开发一些H5所不具有的特性。

其中“allinpay.json”是一个JSON文件,一共有四个可配置项,包括:navigationBarBackgroundColor:用于APP页面导航栏的背景颜色;navigationBarTextStyle:用于配置APP页面导航栏标题颜色;navigationBarTitleText:用于配置APP页面标题文字内容;navigationStyle:用于配置APP导航栏的样式(default:显示导航栏;custom隐藏导航栏)。

更新包开发完成后通过服务端更新包管理平台对外发布,通过移动端SDK中的更新包管理器模块下载到APP本地并加载到运行环境中运行显示。

本实施方式中的服务端更新包管理平台主要用于更新包的发布和版本管理。此外该服务端更新包管理平台对移动端SDK提供了两个接口:更新包版本版本信息获取接口和更新包下载接口。更新包在管理平台配置时,可同时配置该更新包的可用属性,例如:可用平台(Android、iOS)、网络环境(WiFi、移动网络)、移动端软件开发包(简称SDK)版本。每次移动端获取版信息时,会在可用的更新包中获取其最新版版本。

移动端小应用SDK模块有两个版本的实现:Android和iOS。它们按照相同的规范对外提供开发接口,一个更新包只需按照小应用开发规范开发,它在两个版本的SDK上就会有相同的运行效果和一致的表现。

在两个版本的SDK中,有分两个功能模块:更新包管理器模块和更新包运行环境模块。

更新包管理器模块的功能主要有四个:获取更新包版本信息:当用户点击在APP上点击小应用功能时(见图2),更新包管理器会更新对应的更新包ID向服务端更新包管理平台请求该更新包的最新版本信息。若该更新包有新版本,服务端会返回新版本的版本信息及指向新更新包的下载地址和签名信息。更新包下载:管理器根据下载地址将新的更新包下载到APP本地缓存中。更新包安全校验:更新包管理器计算下载下来的更新包的签名,并把计算的签名结果和从版本信息中获取的签名信息进行比对,如果不一致则将该更新包废弃,如果一致则将该更新包存入APP本地存储中。更新包加载运行:管理器解压更新包,然后解析更新包中的“allinpay.json”文件,根据文件中的配置初始化更新包运行环境,最后将更新包中的首页加载到运行环境中运行显示。

更新包运行环境模块是更新包运行的一个容器,它里面包含了一个浏览器内核(Android上是WebView,iOS上是WKWebView),更新包运行在该内核中。除此之外,更新包运行环境模块还将一些APP原生功能通过JS接口对外暴露,使得更新包可通过这些JS接口调用浏览器内核所无法提供的功能,这些JS接口说明具体可参见《离线H5容器API文档》。

相关技术
  • 一种移动端小应用开发管理系统
  • 一种移动端应用开发平台
技术分类

06120112533804