CN109656537B - 一种支持多种应用容器的Web应用框架及使用方法 - Google Patents

一种支持多种应用容器的Web应用框架及使用方法 Download PDF

Info

Publication number
CN109656537B
CN109656537B CN201811615649.9A CN201811615649A CN109656537B CN 109656537 B CN109656537 B CN 109656537B CN 201811615649 A CN201811615649 A CN 201811615649A CN 109656537 B CN109656537 B CN 109656537B
Authority
CN
China
Prior art keywords
application
service
container
application container
equipment
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
Application number
CN201811615649.9A
Other languages
English (en)
Other versions
CN109656537A (zh
Inventor
张观云
胡汇政
任泳然
霍桂广
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Jinfu Technology Co ltd
Original Assignee
Shenzhen Jinfu Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Jinfu Technology Co ltd filed Critical Shenzhen Jinfu Technology Co ltd
Priority to CN201811615649.9A priority Critical patent/CN109656537B/zh
Publication of CN109656537A publication Critical patent/CN109656537A/zh
Application granted granted Critical
Publication of CN109656537B publication Critical patent/CN109656537B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种支持多种应用容器的Web应用框架及使用方法,Web应用框架包括:Web应用系统和应用容器;所述Web应用系统在Web页面的运行过程中与所述应用容器交互;所述Web应用系统包括:具有多个业务功能的业务层、业务设备层、容器调用单元;所述Web页面展示有抽象出的用于在业务功能中调用设备的设备接口;在所述设备接口被触发后,所述业务设备层获取应用容器的类型并与所述容器调用单元交互,实现所述应用容器中调用设备的功能。上述框架实现中业务层不用关注该应用上的设备怎么调用,只需要调用定义好的设备接口,然后可以根据不同的容器类型去调用不同的设备实现。

Description

一种支持多种应用容器的Web应用框架及使用方法
技术领域
本发明涉及通信技术,特别是一种支持多种应用容器的Web应用框架及使用方法。
背景技术
随着互联网的发展,人们使用软件应用的类型也越来广泛,IOSApp、安卓App、微信小程序、自助终端应用、PC应用等。而作为系统开发者,为了满足更多的用户使用场景,增加用户使用量,一般都会开会用户常用的几种应用,如微信小程序、IOS App、安卓App。对于同一个系统,如果需要同时上微信小程序、IOS App、安卓App,就要分别开发在这3个平台上开发3个软件应用,但其基本的业务逻辑都是一样的,这样无疑有很大的重复工作量。这给项目版本的管理和维护都带来不小的难度。
发明内容
针对现有技术中的问题,本发明提供一种支持多种应用容器的Web应用框架及使用方法,可以节省成本,降低维护复杂性。
第一方面,本发明提供一种支持多种应用容器的Web应用框架,包括:
Web应用系统和应用容器;所述Web应用系统在Web页面的运行过程中与所述应用容器交互;
所述Web应用系统包括:具有多个业务功能的业务层、业务设备层、容器调用单元;
其中,所述Web页面展示的业务功能中具有所述业务设备层中抽象出的用于调用设备的设备接口;若所述设备接口被触发,则所述业务设备层获取应用容器的类型并与所述容器调用单元交互,实现所述应用容器中调用所述设备接口对应的设备。
可选地,所述应用容器包括:自助终端程序,IOS程序、安卓程序和微信小程序中的一种和多种;
所述容器调用单元包括:对应自助终端程序的终端调用器、对应IOS程序的IOS调用器,对应安卓程序的安卓调用器和对应微信小程序的微信调用器。
可选地,所述业务设备层包括:设备实现单元、设备工厂单元、设备接口;
所述业务层的每一个业务功能可调用一个或多个业务设备层中的设备接口;
所述设备工厂单元,用于在所述设备接口被触发后获取设备接口所属的应用容器的类型,以及根据所述应用容器的类型,调用指定对应的设备实现单元;
所述设备实现单元包括:对应自助终端程序的终端设备实现单元、对应IOS程序的IOS设备实现单元,对应安卓程序的安卓设备实现单元,对应微信小程序的微信设备实现单元;
所述设备实现单元用于在所述设备工厂确定所述应用容器的类型之后,将触发的设备接口采用该应用容器类型匹配的设备实现单元进行参数转换,以及基于该应用容器类型对应的容器调用单元进行加载,进而在对应的应用容器中使用。
可选地,业务设备层中设备接口对应的设备包括:相机、录音或扫一扫。
可选地,所述业务层的多个业务功能增加时,每一业务功能均使用所述业务设备层中抽象出的用于调用设备的设备接口。
第二方面,本发明提供一种如上任一所述的Web应用框架的使用方法,包括:
S1、在用户触发一应用容器加载Web页面后,所述Web页面展示的业务功能具有业务设备层中抽象出的用于调用设备的设备接口;
S2、若接收到所述设备接口的触发指令,则所述业务设备层获取应用容器的类型并与Web应用系统的容器调用单元交互,实现所述应用容器中调用所述设备接口对应的设备。
可选地,所述步骤S2包括:
若接收到所述设备接口的触发指令,则所述业务设备层的设备工厂确定所述应用容器的类型,使得所述设备接口采用该应用容器类型匹配的设备实现单元进行参数转换,以及基于该应用容器类型对应的容器调用单元进行加载,进而在对应的应用容器中使用。
本发明具有的有益效果:
本实施例的Web应用框架在不同应用平台上运行,仅需要为业务层的每个设备抽象统一的设备接口,进而为不同类型的应用容器都实现各自的设备调用,使得开发人员不需要关注是什么IOS的应用、还是安卓的应用、或是微信小程序,也不用关注该应用上的设备怎么调用,只需要调用定义好的设备接口,然后可以根据不同的应用容器类型去调用不同的设备实现单元。
附图说明
图1为本发明一实施例提供的支持多种应用容器的Web应用框架的示意图;
图2为本发明另一实施例提供的支持多种应用容器的Web应用框架使用方法的示意图;
图3为本发明一实施例提供的终端APP下运行的效果图;
图4为本发明一实施例提供的微信小程序下运行的效果图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
本实施例中的应用容器可理解为:各应用平台上支持内嵌Web页面的带Web容器的应用,如安卓App,IOS APP,微信小程序等。
本实施例中的设备可理解为:在应用上能完成某个指定的与设备有关的操作的部件,如相机、扫一扫、录音等设备。
如图1所示,本实施例的支持多种应用容器的Web应用框架,包括:
Web应用系统和应用容器;所述Web应用系统在Web页面的运行过程中与所述应用容器交互;
本实施例的Web应用系统包括:具有多个业务功能的业务层、业务设备层、容器调用单元;
其中,所述Web页面展示的业务功能中具有所述业务设备层中抽象出的用于调用设备的设备接口;若所述设备接口被触发,则所述业务设备层获取应用容器的类型并与所述容器调用单元交互,实现所述应用容器中调用所述设备接口对应的设备。
举例来说,本实施例的应用容器可包括:自助终端程序,IOS程序、安卓程序和微信小程序中的一种和多种;
所述容器调用单元包括:对应自助终端程序的终端调用器、对应IOS程序的IOS调用器,对应安卓程序的安卓调用器和对应微信小程序的微信调用器。
进一步地,上述的业务设备层可包括:设备实现单元、设备工厂单元、设备接口;
所述业务层的每一个业务功能可调用一个或多个业务设备层中的设备接口;
所述设备工厂单元,用于在所述设备接口被触发后获取设备接口所属的应用容器的类型,以及根据所述应用容器的类型,调用指定对应的设备实现单元;
所述设备实现单元包括:对应自助终端程序的终端设备实现单元、对应IOS程序的IOS设备实现单元,对应安卓程序的安卓设备实现单元,对应微信小程序的微信设备实现单元;
所述设备实现单元用于在所述设备工厂确定所述应用容器的类型之后,将触发的设备接口采用该应用容器类型匹配的设备实现单元进行参数转换,以及基于该应用容器类型对应的容器调用单元进行加载,进而在对应的应用容器中使用,如图3和图4所示。
可理解的是,本实施例的业务层的业务功能对应图1中的功能一、功能二(如朋友圈)、功能三(如交社保)等。业务设备层中设备接口对应的设备包括:相机、录音或扫一扫。所述业务层的多个业务功能增加时,每一业务功能均使用所述业务设备层中抽象出的用于调用设备的设备接口。
另外,本实施例中的设备实现单元在图1中采用终端相机实现、IOS相机实现、安卓相机实现和微信相机实现示意性示出的。
在实际应用中,本实施例的设备工厂、设备实现、容器调用单元等在开发阶段编写一个能够使用的代码即可,如果增加业务层的业务功能,则可使用抽象出的设备接口即可,无需调整设备实现单元和容器调用单元。
也就是说,业务层的多个业务功能增加时,所述业务设备层的设备接口增加。
由此,本实施例的Web应用框架在不同应用平台上运行,仅需要为业务层使用的各设备抽象统一的设备接口,进而为不同类型的应用容器都实现各自的设备调用,使得开发人员不需要关注是什么IOS的应用、还是安卓的应用、或是微信小程序,也不用关注该应用上的设备怎么调用,只需要调用定义好的设备接口,然后可以根据不同的应用容器类型去调用不同的设备实现单元。
为了更好的理解本发明实施例的Web应用框架,以下从程序代码开发阶段进行说明。
容器调用单元:Web页面在运行过程中都可能会与应用容器交互,Web调用微信、IOS、安卓都不一样。所以需要分别为这些应用容器编写调用器。各调用器也需要进行抽象,对各设备的接口、方法名、入参、出参进行抽象,以可以满足各种设备调用时的要求。这样,Web系统就可以通过这些调用器去调用各种类型的应用容器了。本实施例的各调用器可理解为各个应用容器的调用工具库。
设备接口:设备接口可为统一的标准设备接口,其在业务层实现,也用于展示在Web页面。同一种设备在不同的应用容器中操作流程,方法参数都可能是不一样的。为了使各应用容器在业务调用设备的时候,不需要考虑各种应用容器上定义的接口方法、参数的差异。需要对不同应用容器上的同种设备进行抽象,抽象出其通用操作方法,和方法的入参和出参。
以从业务功能(相机)选照片举例说明上述的抽象内容:
应用容器:安卓小程序:
原安卓的接口方法名为:getPicture
参数有:
照片数量:
属性名:maximumImagesCount,
数据类型:数值类型
照片来源:
属性名:sourceType,
数据类型:数据类型(0、1)。
应用容器:微信小程序:
原微信小程序的接口方法名为:chooseImage
参数有:
照片数量:
属性名:count,
数据类型:数值类型
照片来源:
属性名:sourceType,
数据类型:字符串类型。
抽象标准接口,可以理解为将上述接口方法和参数都统一了;
如接口方法可以统一成getPicture,
参数统一成:
照片数量:属性名:count,数据类型:数值类型
照片来源:属性名:sourceType,数据类型:字符串
经过上述的抽象标准接口之后,业务功能要想获取照片的话就可以调用接口getPicture。
在功能需要拍照时,调用抽象标准接口,即标准的相机拍照接口。
设备实现单元:即自定义实现设备接口,对于每一种设备,在不同的应用容器上需要实现该设备在该应用容器上的操作。这里需要把业务转过来的准备参数转成在这个应用容器上能识别的参数,并根据这种应用容器的要求作一定的参数封装和转换,然后通过应用容器对应的调用器去调用最终的设备。
也就是说,设备实现单元把标准的参数转成具体应用调用的参数类型,并通过容器调用器调用应用里的设备。
设备工厂:在各业务模块中,如果需要调用设备,都会定义这种设备对应接口类型的变量。在编写代码的时候只需要写调用这个接口就行,但在实际运行过程中是需要调用这些接口的实现的,而且在不同的应用容器系统下调用的实现也是不一样的。
也就是说,执行调用时,设备工厂会先通过容器获取应用类型(IOS,安卓,微信),然后根据应用类型去执行相应的相机拍照实现。
应用容器加载Web端:应用容器加载Web包括容器端和Web端两部分。
应用容器端需要能控制Web页面的加载,及相关异常情况的。此外容器端还需要封装接受Web端调用方法的操作。
Web端就是整个Web系统,此外,在容器加载Web过程中,Web也需要根据不同的容器加载与之对应的样式、JS插件等内容。
本实施例的Web应用框架在不同应用平台上运行,仅需要为业务层的每个设备抽象统一的设备接口,进而为不同类型的应用容器都实现各自的设备调用。
根据本发明的另一方面,本发明还提供一种基于上述任意实施例的Web应用框架的使用方法,该方法包括如下步骤:
S1、在用户触发一应用容器加载Web页面后,所述Web页面展示的业务功能具有业务设备层中抽象出的用于调用设备的设备接口;
S2、若接收到所述设备接口的触发指令,则所述业务设备层获取应用容器的类型并与Web应用系统的容器调用单元交互,实现所述应用容器中调用所述设备接口对应的设备。
具体地,若接收到所述设备接口的触发指令,则所述业务设备层的设备工厂确定所述应用容器的类型,使得所述设备接口采用该应用容器类型匹配的设备实现单元进行参数转换,以及基于该应用容器类型对应的容器调用单元进行加载,进而在对应的应用容器中使用。
本实施例的Web应用框架在不同应用平台上运行,仅需要为每个设备类型的设备定义标准的设备接口,并为不同类型的应用都实现各自的设备调用。使得开发人员不需要关注是什么IOS的应用、还是安卓的应用、或是微信小程序,也不用关注该应用上的设备怎么调用,只需要调用定义好的标准接口,然后可以根据同的应用类型去调用不同的设备实现。
上述各个实施例可以相互参照,本实施例不对各个实施例进行限定。
最后应说明的是:以上所述的各实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (5)

1.一种支持多种应用容器的Web应用框架,其特征在于,包括:
Web应用系统和应用容器;所述Web应用系统在Web页面的运行过程中与所述应用容器交互;
所述Web应用系统包括:具有多个业务功能的业务层、业务设备层、容器调用单元;
其中,所述Web页面展示的业务功能中具有所述业务设备层中抽象出的用于调用设备的设备接口;若所述设备接口被触发,则所述业务设备层获取应用容器的类型并与所述容器调用单元交互,实现所述应用容器中调用所述设备接口对应的设备;
所述应用容器包括:自助终端程序,IOS程序、安卓程序和微信小程序中的一种和多种;
所述容器调用单元包括:对应自助终端程序的终端调用器、对应IOS程序的IOS调用器,对应安卓程序的安卓调用器和对应微信小程序的微信调用器;
所述业务设备层包括:设备实现单元、设备工厂单元、设备接口;
在接收到所述设备接口的触发指令时,所述业务设备层的设备工厂确定所述应用容器的类型,使得所述设备接口采用该应用容器类型匹配的设备实现单元进行参数转换,以及基于该应用容器类型对应的容器调用单元进行加载,进而在对应的应用容器中使用。
2.根据权利要求1所述的Web应用框架,其特征在于,
所述业务层的每一个业务功能调用一个或多个业务设备层中的设备接口;
所述设备工厂单元,用于在所述设备接口被触发后获取设备接口所属的应用容器的类型,以及根据所述应用容器的类型,调用指定对应的设备实现单元;所述设备实现单元包括:对应自助终端程序的终端设备实现单元、对应IOS程序的IOS设备实现单元,对应安卓程序的安卓设备实现单元,对应微信小程序的微信设备实现单元;
所述设备实现单元用于在所述设备工厂确定所述应用容器的类型之后,将触发的设备接口采用该应用容器类型匹配的设备实现单元进行参数转换,以及基于该应用容器类型对应的容器调用单元进行加载,进而在对应的应用容器中使用。
3.根据权利要求1所述的Web应用框架,其特征在于,
业务设备层中设备接口对应的设备包括:相机、录音或扫一扫。
4.根据权利要求1至3任一所述的Web应用框架,其特征在于,所述业务层的多个业务功能增加时,每一业务功能均使用所述业务设备层中抽象出的用于调用设备的设备接口。
5.一种如上权利要求1至4任一所述的Web应用框架的使用方法,其特征在于,包括:
S1、在用户触发一应用容器加载Web页面后,所述Web页面展示的业务功能具有业务设备层中抽象出的用于调用设备的设备接口;
S2、若接收到所述设备接口的触发指令,则所述业务设备层获取应用容器的类型并与Web应用系统的容器调用单元交互,实现所述应用容器中调用所述设备接口对应的设备;
具体地,若接收到所述设备接口的触发指令,则所述业务设备层的设备工厂确定所述应用容器的类型,使得所述设备接口采用该应用容器类型匹配的设备实现单元进行参数转换,以及基于该应用容器类型对应的容器调用单元进行加载,进而在对应的应用容器中使用。
CN201811615649.9A 2018-12-27 2018-12-27 一种支持多种应用容器的Web应用框架及使用方法 Active CN109656537B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811615649.9A CN109656537B (zh) 2018-12-27 2018-12-27 一种支持多种应用容器的Web应用框架及使用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811615649.9A CN109656537B (zh) 2018-12-27 2018-12-27 一种支持多种应用容器的Web应用框架及使用方法

Publications (2)

Publication Number Publication Date
CN109656537A CN109656537A (zh) 2019-04-19
CN109656537B true CN109656537B (zh) 2021-09-03

Family

ID=66117217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811615649.9A Active CN109656537B (zh) 2018-12-27 2018-12-27 一种支持多种应用容器的Web应用框架及使用方法

Country Status (1)

Country Link
CN (1) CN109656537B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150295984A1 (en) * 2014-04-14 2015-10-15 PetroGrid LLC Multi Web Application Management Framework System and Method
CN108259435B (zh) * 2016-12-29 2021-02-26 中国移动通信集团浙江有限公司 接入Web组件的混合应用的实现方法及装置
CN106651724A (zh) * 2017-01-03 2017-05-10 山东浪潮商用系统有限公司 一种基于混合云的电子税务局系统
CN107978104B (zh) * 2017-11-27 2021-05-18 广东金赋科技股份有限公司 支撑内外网互联的办税系统和办税方法

Also Published As

Publication number Publication date
CN109656537A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
CN103914450A (zh) 移动终端平台中网页图片呈现方法和装置
CN110750255A (zh) 一种小程序渲染方法和装置
CN110874217A (zh) 快应用的界面显示方法、装置及存储介质
CN105391832A (zh) 一种用于检测智能手机硬件状态的硬件信息检测系统
CN110674040A (zh) 应用的测试方法、装置、设备和存储介质
CN114116056A (zh) 页面显示方法及装置
CN111427776A (zh) 一种智能设备自动化测试方法及装置
CN105955771A (zh) 一种实现操作系统的方法、装置及系统
CN111666199B (zh) 在智能终端上执行的调试方法以及软件调试器
CN110851240A (zh) 功能调用方法、装置及存储介质
CN108241491B (zh) 一种图文混排方法及装置
CN113377664A (zh) 模型测试方法及装置、电子设备和存储介质
CN109656537B (zh) 一种支持多种应用容器的Web应用框架及使用方法
CN111913707B (zh) 运行进程的复用方法和装置
CN111506393B (zh) 一种基于arm的虚拟化装置及其使用方法
CN117056240A (zh) 一种支持离线Jar包的数据元件开发调试方法和系统
CN112241373A (zh) 自动化测试方法、测试装置、处理器和测试系统
CN110865864A (zh) 快应用的界面显示方法、装置、设备及存储介质
CN106648598B (zh) 用于显示应用的显示信息的方法和装置
CN103873890A (zh) 拍照软件的流量控制方法及系统
CN115422058A (zh) 对人脸识别应用进行测试的方法和装置
CN112416488B (zh) 一种用户画像实现的方法、装置、计算机设备及计算机可读存储介质
CN111708545B (zh) 业务流程的部署方法、装置、电子设备及存储介质
KR20230086770A (ko) 촬영 방법, 촬영 장치, 전자 기기 및 판독 가능한 저장매체
CN113868479A (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