CN108228155A - EasyApp移动开发平台和开发方法 - Google Patents

EasyApp移动开发平台和开发方法 Download PDF

Info

Publication number
CN108228155A
CN108228155A CN201711432959.2A CN201711432959A CN108228155A CN 108228155 A CN108228155 A CN 108228155A CN 201711432959 A CN201711432959 A CN 201711432959A CN 108228155 A CN108228155 A CN 108228155A
Authority
CN
China
Prior art keywords
platform
plug
easyapp
mobile
layer
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.)
Pending
Application number
CN201711432959.2A
Other languages
English (en)
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.)
Jiangsu Run He Software Inc Co
Original Assignee
Jiangsu Run He Software Inc Co
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 Jiangsu Run He Software Inc Co filed Critical Jiangsu Run He Software Inc Co
Priority to CN201711432959.2A priority Critical patent/CN108228155A/zh
Publication of CN108228155A publication Critical patent/CN108228155A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种EasyApp移动开发平台,包括:应用层:供开发者使用的数据库和模板;平台桥:使用桥接模式,提供了应用层到插件层的调用和数据转换,实现应用层调用插件层的原生功能,插件层调用应用层代码,并实现功能调用和数据传递;插件层:提供了原生功能的插件封装。与现有技术相比,本发明具有如下有益效果:使用多浏览器内核选择,增强了混合模式开发UI的用户体验度;模块化,组件化,插件化,配置化开发,增强了代码的可读性,程序的稳定性。

Description

EasyApp移动开发平台和开发方法
技术领域:
本发明属于数据处理技术领域,特别涉及一种EasyApp移动开发平台。
背景技术:
Hybrid App主要以JS+Native两者相互调用为主,从开发层面实现“一次开发,多处运行”的机制,成为真正适合跨平台的开发。目前已经有众多Hybrid App开发成功应用,比如百度、网易、街旁等知名移动应用,都是采用Hybrid App开发模式;2013年8月为止完全使用Native开发的只有8%,而剩余的92%都可以被认为使用的是Hybrid, 2013年无论是开发中、已发布的Hybrid(或HTML App)均相比于2012年出现了超过125%~400%的增长率,可见混合模式开发的受欢迎程度。
目前,HyBrid App三种开发方式开发(以下简称三种方案),并且出现的大量的混合式开发开发框架,主要有:
方案一:使用AppCan,appMobi,ApiCloud之类的中间件,以WebView作为用户界面层,以JavaScript作为基本逻辑,以及和中间件通讯,再由中间件访问底层API的方式,进行应用开发, 60%的人会使用该技术或产品进行开发,广受欢迎。
方案二:使用Adobe Air、RubyMotion、Appcelerator或者是Xamarin这种非官方语言的工具,打包成原生应用的方式开发,通过对开发者提供友好的开发工具,并折中地把这种开发语言转换成原生语言,最终打包出整个应用,使用者相对较少,但也不乏使用,是一种不错的解决方案;
方案三:在开发原生应用的基础上,嵌入WebView但是整体的架构使用原生应用提供,一般这样的开发由Native开发人员和Web前端开发人员组成。Native开发人员会写好基本的架构以及API让Web开发人员开发界面以及大部分的渲染。保证到交互设计,FacebookThree2.0就是使用该方案。
2、客观评价现有产品的优缺点,重点是缺点:
目前市场上出现了大量的混合开发的开发框架,主要是针对以上三种方案进行设计和研究,三种方案的优缺点如下:
优点:
1)升级简单方便,只需要服务器端升级一下安装包,免去了Native开发的方式版本迭代周期慢,每次完成版本升级之后都需要上传到App Store并审核,升级,重新安装等;
2)能节省跨平台的时间和成本,只需编写一次核心代码就可部署到多个平台,提高了开发效率与代码的可维护性,开发成本低
3)能够访问手机的多种功能;
4)可任意调整风格,版面布局简单;
缺点:
1)大多收费,技术支持差,大多收费,客服反馈速度较慢,出现问题,很难排解,成为技术攻关的难点;
2)存在一定的版权纠纷,难以解决;
3)文档较少,文档描述也比较简单,开发人员使用困难;
4)有的插件提供有限,一般不支持自定义插件,功能扩展性较低;
5)用户量较少,存在不稳定因素;
6)不开源,打包需要上传到云端服务器打包,存在源代码泄露等安全风险;
7)不能很好的解决原生代码的功能,相对原生用户体验,性能需要提升;
8)采用高度封装的组件,
模块依赖性比较高;
9)使用范围有限:适用:一般app、电商app、客服app等。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容:
本发明的目的在于提供一种,从而克服上述现有技术中的缺陷。
为实现上述目的,本发明提供了一种EasyApp移动开发平台,包括:
应用层:供开发者使用的数据库和模板;
平台桥:使用桥接模式,提供了应用层到插件层的调用和数据转换,实现应用层调用插件层的原生功能,插件层调用应用层代码,并实现功能调用和数据传递;
插件层:提供了原生功能的插件封装。
本发明进一步限定的技术方案为:
优选地,上述技术方案中, 应用层主要包含自定义JS类库,CSS类库、字体库,以及UI模板。
优选地,上述技术方案中,插件层具体包括:网络访问类的文件上传、文件下载、平台更新、网络请求、HTTPS网络请求;
硬件操作类的拍照、录像、传感器、闪光灯、呼吸灯、震动、获取设备信息、获取手机号码;
原生功能类的日历、通讯录、拨打电话、通讯录;
数据存储如数据库、键值存储、文件读写操作。
优选地,上述技术方案中,还包括第三方服务模块,具体为:信鸽推送,百度地图定位导航,腾讯云存储,百度云存储,高德定位导航,百度推送,极光推送。
优选地,上述技术方案中,还包括安全认证模块,具体为图片压缩,白名单验证,token验证,三层加密。
一种EasyApp移动开发平台开发方法,包括:
S1,创建访问Native访问的JS对象;
S2,使用JS对象调用需要的原生功能的JS方法,如获取网络访问,获取设备信息等方法;
S3,JS对象方法通过平台桥调用底层Native方法,Native方法使用JS方法传入参数执行相应的业务处理,如网络访问(在安全性要求较低情况下直接使用ajax网络访问),获取设备信息等,最终以JSON数据形式返回值;
S4,把方法返回值通过调用平台提供的回调通过平台桥传递给JS方法;
S5,JS方法得到返回的数据进行展现处理并实现业务逻辑。
与现有技术相比,本发明具有如下有益效果:
1)使用多浏览器内核选择,减轻混合模式开发对手机自带WebKit的高度依赖;
2)增强了混合模式开发UI的用户体验度,如页面刷新,类原生UI组件模板;
3)模块化,组件化,插件化,配置化开发,增强了代码的可读性,程序的稳定性;
4)采用三层加密机制,TOKEN验证,HEADER验证机制为数据保存,网络数据传输提供了高度的安全保障;
5)插件尽可能做到广泛,可以根据业务需求配置化,并可以根据API定制化;
6)完善的安全测试,充足的说明性文档;
7)支持的操作系统可以扩展;
8)大量的项目成功案例支撑,专业的开发团队技术支持、指导;
9)上手快,组件高度解耦,开发更容易,人员要求更低;
10)使用文件沙盒机制防止H5 APP文件被篡改。
附图说明:
图1为系统结构示意图;(去除图的底色)
图2为开发方法示意图。(去除图的底色)
具体实施方式:
下面对本发明的具体实施方式进行详细描述,但应当理解本发明的保护 范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或 组成部分,而并未排除其它元件或其它组成部分。
一种EasyApp移动开发平台,包括如下产品部件:
应用层(HTML5 APP):主要包含自定义JS类库,CSS类库、字体库,以及UI模板,开发给开发者使用;
平台桥:使用桥接模式,提供了JS 到原生的调用和数据转换,实现JS调用原生功能(如拍照,录像,文件读写,定位,推送等),原生调用JS代码,并实现功能调用和数据传递;
插件层:提供了大量的原生功能的插件封装,如网络访问类的文件上传、文件下载、平台更新、网络请求、HTTPS网络请求等,硬件操作的如拍照、录像、传感器、闪光灯、呼吸灯、震动、获取设备信息、获取手机号码,原生功能如日历、通讯录、拨打电话、通讯录等,数据存储如数据库、键值存储、文件读写操作等功能;
第三方服务模块:提供了信鸽推送,百度地图定位导航,腾讯云存储,百度云存储,高德定位导航,百度推送,极光推送等
其它模块:提供了图片压缩,白名单验证,token验证,三层加密等功能
各部件连接关系:
如图1所示,本平台是按照上述技术方案一设计研发,JS程序代码和Native程序代码两者相互调用为主,使用桥接模式连接,从开发层面实现“一次开发,多处运行”的机制,可以支持多个手机操作系统,如Android,Ios等。
用户通过提供的API调用插件,主要过程如图2所示,具体为:
1)创建访问Native访问的JS对象;
2)使用JS对象调用需要的原生功能的JS方法,如获取网络访问,获取设备信息等方法;
3)JS对象方法通过平台桥调用底层Native方法,Native方法使用JS方法传入参数执行相应的业务处理,如网络访问(在安全性要求较低情况下直接使用ajax网络访问),获取设备信息等,最终以JSON数据形式返回值;
4)把方法返回值通过调用平台提供的回调通过平台桥传递给JS方法;
5)JS方法得到返回的数据进行展现处理并实现业务逻辑。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。 这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述 教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在 于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实 现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。 本发明的范围意在由权利要求书及其等同形式所限定。

Claims (6)

1.EasyApp移动开发平台,其特征在于:包括:
应用层:供开发者使用的数据库和模板;
平台桥:使用桥接模式,提供了应用层到插件层的调用和数据转换,实现应用层调用插件层的原生功能,插件层调用应用层代码,并实现功能调用和数据传递;
插件层:提供了原生功能的插件封装。
2.根据权利要求1所述的EasyApp移动开发平台,其特征在于:
应用层主要包含自定义JS类库,CSS类库、字体库,以及UI模板。
3.根据权利要求1所述的EasyApp移动开发平台,其特征在于:插件层具体包括:网络访问类的文件上传、文件下载、平台更新、网络请求、HTTPS网络请求;
硬件操作类的拍照、录像、传感器、闪光灯、呼吸灯、震动、获取设备信息、获取手机号码;
原生功能类的日历、通讯录、拨打电话、通讯录;
数据存储如数据库、键值存储、文件读写操作。
4.根据权利要求1所述的EasyApp移动开发平台,其特征在于:还包括第三方服务模块,具体为:信鸽推送,百度地图定位导航,腾讯云存储,百度云存储,高德定位导航,百度推送,极光推送。
5.根据权利要求1所述的EasyApp移动开发平台,其特征在于:还包括安全认证模块,具体为图片压缩,白名单验证,token验证,三层加密。
6.一种EasyApp移动开发平台开发方法,包括:
S1,创建访问Native访问的JS对象;
S2,使用JS对象调用需要的原生功能的JS方法,如获取网络访问,获取设备信息等方法;
S3,JS对象方法通过平台桥调用底层Native方法,Native方法使用JS方法传入参数执行相应的业务处理,如网络访问(在安全性要求较低情况下直接使用ajax网络访问),获取设备信息等,最终以JSON数据形式返回值;
S4,把方法返回值通过调用平台提供的回调通过平台桥传递给JS方法;
S5,JS方法得到返回的数据进行展现处理并实现业务逻辑。
CN201711432959.2A 2017-12-26 2017-12-26 EasyApp移动开发平台和开发方法 Pending CN108228155A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711432959.2A CN108228155A (zh) 2017-12-26 2017-12-26 EasyApp移动开发平台和开发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711432959.2A CN108228155A (zh) 2017-12-26 2017-12-26 EasyApp移动开发平台和开发方法

Publications (1)

Publication Number Publication Date
CN108228155A true CN108228155A (zh) 2018-06-29

Family

ID=62649094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711432959.2A Pending CN108228155A (zh) 2017-12-26 2017-12-26 EasyApp移动开发平台和开发方法

Country Status (1)

Country Link
CN (1) CN108228155A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109901827A (zh) * 2019-03-13 2019-06-18 厦门美图之家科技有限公司 应用交互方法、装置、电子设备及可读存储介质
CN110069247A (zh) * 2019-04-28 2019-07-30 山东浪潮商用系统有限公司 一种应用程序的开发方法及装置、使用方法及装置
CN110874236A (zh) * 2019-11-13 2020-03-10 中国建设银行股份有限公司 一种跨平台应用装置、终端及存储介质
CN111782192A (zh) * 2020-07-02 2020-10-16 浪潮云信息技术股份公司 一种混合模式开发移动办公系统的方法
CN112035097A (zh) * 2020-08-25 2020-12-04 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于银河锐华操作系统的c++适配层
CN112181542A (zh) * 2020-09-30 2021-01-05 微医云(杭州)控股有限公司 功能调用方法、装置、电子设备及存储介质
CN112214202A (zh) * 2020-09-27 2021-01-12 西思艾(北京)软件有限公司 一种无须写代码的手机程序开发平台
CN112631558A (zh) * 2020-12-18 2021-04-09 用友网络科技股份有限公司 数据调用方法、装置和计算机可读存储介质
CN112650487A (zh) * 2020-12-31 2021-04-13 南方电网数字电网研究院有限公司 混合应用程序开发方法、系统、计算机设备和存储介质
CN112799665A (zh) * 2021-01-27 2021-05-14 视若飞信息科技(上海)有限公司 一种以WebUI的方式构建App功能界面的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572042A (zh) * 2013-10-15 2015-04-29 航天信息股份有限公司 移动终端设备的跨平台中间件装置及其实现方法
CN104636139A (zh) * 2015-01-26 2015-05-20 北京邮电大学 一种可视化跨平台移动应用开发与生成系统
CN105760162A (zh) * 2016-02-04 2016-07-13 四川长虹电器股份有限公司 混合型app软件的开发方法
CN106339229A (zh) * 2016-08-31 2017-01-18 虎扑(上海)文化传播股份有限公司 一种针对移动平台的混合开发方法及系统
CN106569794A (zh) * 2016-09-23 2017-04-19 北京五八信息技术有限公司 应用程序开发装置
CN106990966A (zh) * 2017-03-31 2017-07-28 中国科学技术大学苏州研究院 基于前端框架的移动端跨平台应用开发框架及开发方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572042A (zh) * 2013-10-15 2015-04-29 航天信息股份有限公司 移动终端设备的跨平台中间件装置及其实现方法
CN104636139A (zh) * 2015-01-26 2015-05-20 北京邮电大学 一种可视化跨平台移动应用开发与生成系统
CN105760162A (zh) * 2016-02-04 2016-07-13 四川长虹电器股份有限公司 混合型app软件的开发方法
CN106339229A (zh) * 2016-08-31 2017-01-18 虎扑(上海)文化传播股份有限公司 一种针对移动平台的混合开发方法及系统
CN106569794A (zh) * 2016-09-23 2017-04-19 北京五八信息技术有限公司 应用程序开发装置
CN106990966A (zh) * 2017-03-31 2017-07-28 中国科学技术大学苏州研究院 基于前端框架的移动端跨平台应用开发框架及开发方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109901827A (zh) * 2019-03-13 2019-06-18 厦门美图之家科技有限公司 应用交互方法、装置、电子设备及可读存储介质
CN110069247A (zh) * 2019-04-28 2019-07-30 山东浪潮商用系统有限公司 一种应用程序的开发方法及装置、使用方法及装置
CN110874236B (zh) * 2019-11-13 2023-04-07 中国建设银行股份有限公司 一种跨平台应用装置、终端及存储介质
CN110874236A (zh) * 2019-11-13 2020-03-10 中国建设银行股份有限公司 一种跨平台应用装置、终端及存储介质
CN111782192A (zh) * 2020-07-02 2020-10-16 浪潮云信息技术股份公司 一种混合模式开发移动办公系统的方法
CN111782192B (zh) * 2020-07-02 2024-05-14 浪潮云信息技术股份公司 一种混合模式开发移动办公系统的方法
CN112035097A (zh) * 2020-08-25 2020-12-04 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于银河锐华操作系统的c++适配层
CN112035097B (zh) * 2020-08-25 2023-10-13 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于银河锐华操作系统的c++适配层的装置
CN112214202A (zh) * 2020-09-27 2021-01-12 西思艾(北京)软件有限公司 一种无须写代码的手机程序开发平台
CN112214202B (zh) * 2020-09-27 2023-12-15 西思艾(北京)软件有限公司 一种无须写代码的手机程序开发系统
CN112181542A (zh) * 2020-09-30 2021-01-05 微医云(杭州)控股有限公司 功能调用方法、装置、电子设备及存储介质
CN112631558A (zh) * 2020-12-18 2021-04-09 用友网络科技股份有限公司 数据调用方法、装置和计算机可读存储介质
CN112650487A (zh) * 2020-12-31 2021-04-13 南方电网数字电网研究院有限公司 混合应用程序开发方法、系统、计算机设备和存储介质
CN112650487B (zh) * 2020-12-31 2024-01-23 南方电网数字平台科技(广东)有限公司 混合应用程序开发方法、系统、计算机设备和存储介质
CN112799665A (zh) * 2021-01-27 2021-05-14 视若飞信息科技(上海)有限公司 一种以WebUI的方式构建App功能界面的方法

Similar Documents

Publication Publication Date Title
CN108228155A (zh) EasyApp移动开发平台和开发方法
CN106682028B (zh) 获取网页应用的方法、装置及系统
US11645369B2 (en) Blockchain digital rights management streaming library
Hoog Android forensics: investigation, analysis and mobile security for Google Android
KR101993944B1 (ko) 웹 애플리케이션을 위한 경량 프레임워크
CN109814884A (zh) 一种根据游戏资源类型进行资源管理的方法及系统
CN105760162A (zh) 混合型app软件的开发方法
CN109032722A (zh) 更新ui组件的显示效果的方法、装置及设备、介质
CN108984174A (zh) 跨平台的应用创建方法、装置、服务器和存储介质
US20080306951A1 (en) Method and System of Retrieving Avatar Data Unique to a User
JP5414814B2 (ja) ネットワーク環境におけるスペースのカスタマイズ
CN105955744A (zh) 一种移动跨平台开发系统及方法
US11004054B2 (en) Updating account data for multiple account providers
CN110007916A (zh) 业务系统的界面渲染方法、装置和服务器
CN112612452B (zh) 一种api平台实现方法、装置、设备及存储介质
Poccia AWS Lambda in Action: Event-driven serverless applications
CN106781753A (zh) 一种适用于不同移动终端的培训系统
Rodger Beginning mobile application development in the cloud
CN105245939A (zh) 基于http代理的移动流媒体离线缓存系统及方法
EP3374858A1 (en) Creating and modifying applications from a mobile device
CN107621946A (zh) 一种软件开发方法、装置及系统
CN113435173B (zh) 文本生成方法、相关装置及系统
CN104298500A (zh) 在线自动生成并可以分享的电子相册App系统及方法
CN113992494B (zh) 一种云平台创建堡垒机并自动纳管云主机的方法
RU2723450C1 (ru) Способ автоматизированной установки приложений на устройство пользователя и система для осуществления способа

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180629