CN112650487B - 混合应用程序开发方法、系统、计算机设备和存储介质 - Google Patents
混合应用程序开发方法、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112650487B CN112650487B CN202011637096.4A CN202011637096A CN112650487B CN 112650487 B CN112650487 B CN 112650487B CN 202011637096 A CN202011637096 A CN 202011637096A CN 112650487 B CN112650487 B CN 112650487B
- Authority
- CN
- China
- Prior art keywords
- component
- engineering
- software development
- market
- codes
- 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
- 238000011161 development Methods 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004806 packaging method and process Methods 0.000 claims abstract description 24
- 230000006870 function Effects 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 26
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000010354 integration Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000003339 best practice Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001376 precipitating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种混合应用程序开发方法、系统、计算机设备和存储介质,方法包括:在功能组件模板市场选择功能组件;在公共组件模板市场选择公共组件,加载公共组件的组件代码,对组件代码进行个性化调整,得到个性化组件代码;在软件开发插件市场选择软件开发工具包;基于功能组件、个性化组件代码和软件工具包,生成工程代码;对工程代码进行编译和打包,得到混合应用程序包。上述方法可以快速且低成本的开发一个混合应用,缩短开发周期,且对于开发者的要求低。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种混合应用程序开发方法、系统、计算机设备和存储介质。
背景技术
随着网络信息化的普及和手机设备硬件不断更新迭代性能逐步提升,人们对手机应用的需要也越来越多,如何快速高效的开发出手机应用成为越来越多企业需要面临的难题。混合应用在解决一套代码多端适配及降低开发难度等问题上有明显的优势,因此基于H5的混合应用开发成为众多企业的首选,然而伴随市场需求的增大,混合开发应用的框架及方式也越来越多。
相关技术中通常采用Cordova(一套开源移动开发框架)混合应用开发方式,然而这种混合应用的开发方式开发周期较长,且对于开发者要求较高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够开发周期短、对开发者要求较低的混合应用程序开发方法、系统、计算机设备和存储介质。
一种混合应用程序开发方法,所述方法包括:
在功能组件模板市场选择功能组件;
在公共组件模板市场选择公共组件,加载所述公共组件的组件代码,对所述组件代码进行个性化调整,得到个性化组件代码;
在软件开发插件市场选择软件开发工具包;
基于所述功能组件、个性化组件代码和软件工具包,生成工程代码;
对所述工程代码进行编译和打包,得到混合应用程序包。
在其中的一个实施例中,在软件开发插件市场选择软件开发工具包之后,在基于所述功能组件、个性化组件代码和软件工具包,生成工程代码之前,还包括:
在网页服务中启动本地H5工程;
基于调试基座、所述本地H5工程对各所述功能组件、公共组件进行调试。
在其中的一个实施例中,所述调试基座的创建包括:
创建基础原生开发工程;
将所述软件开发插件市场中的软件开发工具包集成在所述基础原生开发工程,得到所述调试基座。
在其中的一个实施例中,所述对所述工程代码进行编译和打包,得到混合应用程序包,包括:
对所述工程代码进行编译,得到编译后工程代码;
在所述调试基座中的基础原生开发工程中将插件配置文件配置为软件开发工具包使用标准;
基于所述软件开发工具包使用标准对所述编译后工程代码进行打包,得到所述混合应用程序包。
在其中的一个实施例中,所述基于调试基座、所述本地H5工程对各所述功能组件、公共组件进行调试,包括:
在软件开发工具包函数库中,基于JS桥读取各所述功能组件、公共组件,对所述功能组件、公共组件进行调试。
在其中的一个实施例中,所述在功能组件模板市场选择功能组件包括:
基于脚手架工具在功能组件模板市场选择功能组件。
在其中的一个实施例中,所述在网页服务中启动本地H5工程,包括:
将调试基座所在终端与启动终端设置为同一局域网,将所述本地H5工程的启动地址设置在所述调试基座的网页视图中加载,在网页服务中启动本地H5工程;所述启动终端用于启动所述本地H5工程。
一种混合应用程序开发装置,所述装置包括:
功能组件选择模块,用于在功能组件模板市场选择功能组件;
组件代码选择模块,用于在公共组件模板市场选择公共组件,加载所述公共组件的组件代码,对所述组件代码进行个性化调整,得到个性化组件代码;
工具包选择模块,用于在软件开发插件市场选择软件开发工具包;
工程代码生成模块,用于基于所述功能组件、个性化组件代码和软件工具包,生成工程代码;
编译模块,用于对所述工程代码进行编译和打包,得到混合应用程序包。
一种混合应用程序开发系统,所述系统包括:
功能组件模板市场、公共组件模板市场和软件开发插件市场;
所述功能组件模板市场包含功能组件,在接收到组件选中指令时,提供所述组件选中指令对应的功能组件;
所述公共组件模板市场包含公共组件,在接收到组件选中指令时,提供所述组件选中指令对应的公共组件;
所述软件开发插件市场包含软件开发工具包,在接收到软件开发插件选中指令时,提供所述插件选中指令对应的软件开发工具包。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
在功能组件模板市场选择功能组件;
在公共组件模板市场选择公共组件,加载所述公共组件的组件代码,对所述组件代码进行个性化调整,得到个性化组件代码;
在软件开发插件市场选择软件开发工具包;
基于所述功能组件、个性化组件代码和软件工具包,生成工程代码;
对所述工程代码进行编译和打包,得到混合应用程序包。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
在功能组件模板市场选择功能组件;
在公共组件模板市场选择公共组件,加载所述公共组件的组件代码,对所述组件代码进行个性化调整,得到个性化组件代码;
在软件开发插件市场选择软件开发工具包;
基于所述功能组件、个性化组件代码和软件工具包,生成工程代码;
对所述工程代码进行编译和打包,得到混合应用程序包。
上述混合应用程序开发方法、系统、计算机设备和存储介质,通过在功能组件模板市场、公共组件模板市场和软件开发插件市场中根据所需进行选择,对其中选择的组件代码进行个性化调整,根据调整后的组件代码、功能组件和软件开发工具包生成工程代码,然后对工程代码进行编译,从而获得混合应用程序应用包。上述方法可以快速且低成本的开发一个混合应用,缩短开发周期,且对于开发者的要求低。
附图说明
图1为一个实施例中混合应用程序开发系统的结构框图;
图2为一个实施例中混合应用程序开发方法的流程示意图;
图3为一个实施例中对工程代码进行编译和打包,得到混合应用程序包的流程示意图;
图4为一个具体实施例中混合应用程序开发系统的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的混合应用程序开发方法,可以应用于如图1所示的混合应用程序开发系统中。该混合应用程序开发系统包括:功能组件模板市场110、公共组件模板市场120和软件开发插件市场130。其中,功能组件模板市场110、公共组件模板市场120、软件开发插件市场130分别与终端通过网络进行通信。功能组件模板市场110包含功能组件,在接收到组件选中指令时,提供组件选中指令对应的功能组件;公共组件模板市场120包含公共组件,在接收到组件选中指令时,提供组件选中指令对应的公共组件;软件开发插件市场130包含软件开发工具包,在接收到软件开发插件选中指令时,提供插件选中指令对应的软件开发工具包。
在另一些实施例中,上述混合应用程序开发系统还包括:调试基座,用于在网页服务中启动本地H5工程,基于本地H5工程和调试基座对各功能组件、公共组件进行调试。
在另一些实施例中,上述混合应用程序开发系统还包括:代码仓库,用于接收混合应用程序包进行存储。
在一个实施例中,如图2所示,提供了一种混合应用程序开发方法,以该方法应用于图1中的终端为例进行说明,包括步骤S210至步骤S250。
步骤S210,在功能组件模板市场选择功能组件。
其中,功能组件模板市场提供有开发常用的功能组件,包含技术栈及工程默认风格。在一个实施例中,功能组件模板市场中包括:等待加载组件、提示弹窗组件以及常用的功能组件如浏览器系统文件夹及拍照上传等功能组件;在另一个实施例中,功能左键模板市场还包括功能组件配置文件,配置文件用于记录当前工程启用了哪些功能组件、启动图和应用图标等相关设置。其中,当前工程即表示正在开发的应用程序对应工程。
在本实施例中,可以根据需求从功能组件模板市场进行选择所对应的功能组件。
步骤S220,在公共组件模板市场选择公共组件,加载公共组件的组件代码,对组件代码进行个性化调整,得到个性化组件代码。
公共组件模板市场提供公共组件,公共组件可用于进行业务功能开发。在一个实施例中,在公共组件模板市场选择公共组件之后,加载公共组件的组件代码包括:接收页面选中指令,在页面选中指令对应的页面中加载公共组件的组件代码。
在一个具体实施例中,用户根据实际需求在公共组件模板市场选择所需的公共组件之后,在界面中选择需加载的页面,所选的公共组件的组件代码将会自动写入该页面,用户可在页面对所选择的公共组件的组件代码进行细微修正和增加相应业务功能代码,即可完成相应的业务功能开发;即本实施例中对公共组件的组件代码进行个性化调整,本实施例中将进行个性化调整之后的组件代码记为个性化组件代码。
步骤S230,在软件开发插件市场选择软件开发工具包。
软件开发插件市场用于提供软件开发工具包。用户在开发应用程序时,可根据实际需求从软件开发插件市场中选择对应的软件开发工具包;在一个具体实施例中,在软件开发插件市场选择的软件开发工具包集成在当前工程中。
其中,软件开发工具包(SDK)一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
步骤S240,基于功能组件、个性化组件代码和软件工具包,生成工程代码。
在一个实施例中,基于功能组件、个性化组件代码和软件工具包生成工程代码可通过任意一种方式实现。
步骤S250,对工程代码进行编译和打包,得到混合应用程序包。
编译就是把高级语言变成计算机可以识别的二进制语言,计算机只认识1和0,编译程序则输入语言转换成二进制的。
在本实施例中,得到应用程序的工程代码之后,对工程代码进行编译,即可得到混合应用程序包。
在一个实施例中,在得到混合应用程序包之后,还包括将混合应用程序包提交至代码仓库进行存储。代码仓库用于管理代码,在本实施例中,在得到混合应用程序包之后,将混合应用程序包存放至代码仓库,便于后续使用和查找。
上述混合应用程序开发方法,通过在功能组件模板市场、公共组件模板市场和软件开发插件市场中根据所需进行选择,对其中选择的组件代码进行个性化调整,根据调整后的组件代码、功能组件和软件开发工具包生成工程代码,然后对工程代码进行编译,从而获得混合应用程序应用包。上述方法可以快速且低成本的开发一个混合应用,缩短开发周期,且对于开发者的要求低。
在一个实施例中,在软件开发插件市场选择软件开发工具包之后,在基于功能组件、个性化组件代码和软件工具包,生成工程代码之前,还包括:在网页服务中启动本地H5工程;基于调试基座、本地H5工程对各功能组件、公共组件进行调试。
H5是移动端的web页面。调试基座是预先创建的,用于对公共组件进行调试,在开发应用程序时,基于调试基座可实时在真机/模拟器上查看运行效果。
其中,在一个实施例中,调试基座的创建包括:创建基础原生开发工程;将软件开发插件市场中的软件开发工具包集成在基础原生开发工程,得到调试基座。
在一个具体实施例中,基础原生开发工程包括基础原生Android(安卓)开发工程。
在一个实施例中,在网页服务中启动本地H5工程,包括:将调试基座所在终端与启动终端设置为同一局域网,将本地H5工程的启动地址设置在调试基座的网页视图中加载,在网页服务中启动本地H5工程;启动终端用于启动本地H5工程。
在一个实施例中,如图3所示,对工程代码进行编译和打包,得到混合应用程序包,包括步骤S251至步骤S253。
步骤S251,对工程代码进行编译,得到编译后工程代码。
步骤S252,在调试基座中的基础原生开发工程中将插件配置文件配置为软件开发工具包使用标准。
其中,软件开发工具包使用标准可以是行业内使用的软件开发工具包的使用标准。
步骤S253,基于软件开发工具包使用标准对编译后工程代码进行打包,得到混合应用程序包。
本实施例中,利用软件开发工具包使用标准对编译后工程代码进行代码,可得到混合应用程序包。
在一个实施例中,基于调试基座、本地H5工程对各功能组件、公共组件进行调试,包括:在软件开发工具包函数库中,基于JS桥读取各功能组件、公共组件,对功能组件、公共组件进行调试。
其中,JS桥(JSBridge)是JS(JavaScript)和Native(一个计算机函数,一个NativeMethod就是一个Java调用非Java代码的接口)之间的一种通信方式,也就是定义Native和JS的通信,其中Native只通过一个固定的桥对象调用JS,而JS也只通过固定的桥对象调用Native。
软件开发工具包函数库,Core JSSDK库,指使用Javascript封装的对应软件开发插件市场的软件开发工具包所需的函数、参数及回调的函数库。
本实施例中,在开发应用程序的过程中,基于调试基座对于选择的功能组件、公共组件进行调试,可预先查看所选择的功能组件、公共组件的运行效果,若发现问题及时反馈。
在一个实施例中,在功能组件模板市场选择功能组件包括:基于脚手架工具在功能组件模板市场选择功能组件。
其中,脚手架工具是指辅助应用开发的小工具。通过脚手架工具可在功能组件模板市场选择所需的功能组件。
在一个具体实施例中,混合应用程序开发系统的结构如图4所示,在该系统中执行混合应用程序开发方法,在发布应用程序包的过程中包括以下内容:
1)选择最佳实践项目:基于脚手架工具在功能组件模板市场(图中所示最佳模板市场,包含积累的技术栈及工程默认风格)中选择一个最佳实践拉取在本地;在最佳实践中提供有开发常用组件如等待加载组件、提示弹窗组件及常用功能组件如浏览系统文件夹及拍照上传等能力,同时还包含功能组件配置文件;这个配置文件用于记录当前工程启用了那些功能组件能力及启动图及应用图标等相关设置。
2)公共组件的集成:用户在web组件市场中选择需要使用的组件后选择需要添加的页面,组件代码会自动写入该页面,开发者细微修正及增加相应业务功能代码即完成大部分业务功能开发。
3)丰富公共组件模板市场:公共组件模板市场中不存在的组件开发者在混合应用开发过程中时通过自主开发并提交审核;组件审核通过后会在组件市场展示并提供给其他开发者开发使用从而积累技术成果。
4)SDK插件的集成:用户在SDK插件市场(软件开发插件市场)勾选需要使用的SDK完成SDK的集成。
5)调试基座:基于JAVA语言及Android SDK创建一个基础原生Android开发工程,同时将SDK插件市场的SDK全部集成在这个基础项目中;基于调试基座使用,提供可设置加载外部网络链接的Webview能力。
6)开发调试:将本地H5工程在http服务中启动;确保安装调试基座的移动设备和启动H5工程的PC端处于同一局域网内,将H5工程的启动地址设置在基座的Webview中加载,在Core JSSDK库(上述)下通过JSBridge可实现与硬件交互功能的调试,如视频播放、安全键盘及文件预览等。
7)构建打包:通过自动化程序将工程代码编译压缩优化;基于基座中的基础原生Android开发工程及基础原生IOS工程以项目工程中插件配置文件为SDK使用标准按需自动集成SDK插件进行项目打包,得到混合应用程序包。项目完成后提交至代码仓库(git仓库)。
上述混合应用程序开发方法及系统中,建立了一套比较系统化的混合应用开发模式。通过上述方法可以快速的低成本的开发一个混合应用,并且是一个在开发同时也在不断技术积累和沉淀的过程。整个开发流程系统化:开发者从项目搭建到应用的构建打包每个环节自成一体又同时环环相扣,每个环节可满足不同企业的需求定制化需求。并且通过上述方法开发一个混合应用大大的降低了开发难度,开发者无需掌握JAVA及Object-C等原生开发技术也无需掌握Cordova等混合应用开发技术,只需掌握Web开发技术使用组件市场及SDK插件组件市场中提供的组件即可快速开发出一个混合应用。同时有效降低企业混合应的开发成本:能有效积累大量Web UI组件及SDK插件,减少企业项目组重复开发的工作量。最后,上述方法还可以提高开发效率:公共UI组件及SDK插件集成简单便捷高效;调试基座集成有丰富的SDK插件,无需构建打包安装至真机就可以实现本地项目工程实时调试与硬件交互相关的功能。
应该理解的是,虽然上述实施例中所涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例中所涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种混合应用程序开发装置,包括:功能组件选择模块、组件代码选择模块、工具包选择模块、工程代码生成模块和编译模块,其中:
功能组件选择模块,用于在功能组件模板市场选择功能组件;
组件代码选择模块,用于在公共组件模板市场选择公共组件,加载公共组件的组件代码,对组件代码进行个性化调整,得到个性化组件代码;
工具包选择模块,用于在软件开发插件市场选择软件开发工具包;
工程代码生成模块,用于基于功能组件、个性化组件代码和软件工具包,生成工程代码;
编译模块,用于对工程代码进行编译和打包,得到混合应用程序包。
上述混合应用程序开发装置,通过在功能组件模板市场、公共组件模板市场和软件开发插件市场中根据所需进行选择,对其中选择的组件代码进行个性化调整,根据调整后的组件代码、功能组件和软件开发工具包生成工程代码,然后对工程代码进行编译,从而获得混合应用程序应用包。上述装置可以快速且低成本的开发一个混合应用,缩短开发周期,且对于开发者的要求低。
在一个实施例中,上述混合应用程序开发装置还包括:H5启动模块,用于在网页服务中启动本地H5工程;调试模块,用于基于调试基座、本地H5工程对各功能组件、公共组件进行调试。
在一个实施例中,上述混合应用程序开发装置还包括调试基座创建模块,调试基座创建模块包括:原生开发工程创建单元,用于:创建基础原生开发工程;以及集成单元,用于将软件开发插件市场中的软件开发工具包集成在基础原生开发工程,得到调试基座。
在一个实施例中,上述混合应用程序开发装置中的编译模块包括:编译单元,用于对工程代码进行编译,得到编译后工程代码;配置单元,用于在调试基座中的基础原生开发工程中将插件配置文件配置为软件开发工具包使用标准;打包单元,用于基于软件开发工具包使用标准对编译后工程代码进行打包,得到混合应用程序包。
在一个实施例中,上述混合应用程序开发装置中的调试模块还用于:在软件开发工具包函数库中,基于JS桥读取各功能组件、公共组件,对功能组件、公共组件进行调试。
在一个实施例中,上述混合应用程序开发装置中的功能组件选择模块还用于:基于脚手架工具在功能组件模板市场选择功能组件。
在一个实施例中,上述混合应用程序开发装置中的H5启动模块还用于:将调试基座所在终端与启动终端设置为同一局域网,将本地H5工程的启动地址设置在调试基座的网页视图中加载,在网页服务中启动本地H5工程;启动终端用于启动本地H5工程。
关于混合应用程序开发装置的具体限定可以参见上文中对于混合应用程序开发方法的限定,在此不再赘述。上述混合应用程序开发装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种混合应用程序开发方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
在功能组件模板市场选择功能组件;在公共组件模板市场选择公共组件,加载公共组件的组件代码,对组件代码进行个性化调整,得到个性化组件代码;在软件开发插件市场选择软件开发工具包;基于功能组件、个性化组件代码和软件工具包,生成工程代码;对工程代码进行编译和打包,得到混合应用程序包。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在网页服务中启动本地H5工程;基于调试基座、本地H5工程对各功能组件、公共组件进行调试。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:创建基础原生开发工程;将软件开发插件市场中的软件开发工具包集成在基础原生开发工程,得到调试基座。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对工程代码进行编译,得到编译后工程代码;在调试基座中的基础原生开发工程中将插件配置文件配置为软件开发工具包使用标准;基于软件开发工具包使用标准对编译后工程代码进行打包,得到混合应用程序包。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在软件开发工具包函数库中,基于JS桥读取各功能组件、公共组件,对功能组件、公共组件进行调试。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于脚手架工具在功能组件模板市场选择功能组件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将调试基座所在终端与启动终端设置为同一局域网,将本地H5工程的启动地址设置在调试基座的网页视图中加载,在网页服务中启动本地H5工程;启动终端用于启动本地H5工程。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在功能组件模板市场选择功能组件;在公共组件模板市场选择公共组件,加载公共组件的组件代码,对组件代码进行个性化调整,得到个性化组件代码;在软件开发插件市场选择软件开发工具包;基于功能组件、个性化组件代码和软件工具包,生成工程代码;对工程代码进行编译和打包,得到混合应用程序包。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在网页服务中启动本地H5工程;基于调试基座、本地H5工程对各功能组件、公共组件进行调试。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:创建基础原生开发工程;将软件开发插件市场中的软件开发工具包集成在基础原生开发工程,得到调试基座。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对工程代码进行编译,得到编译后工程代码;在调试基座中的基础原生开发工程中将插件配置文件配置为软件开发工具包使用标准;基于软件开发工具包使用标准对编译后工程代码进行打包,得到混合应用程序包。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在软件开发工具包函数库中,基于JS桥读取各功能组件、公共组件,对功能组件、公共组件进行调试。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于脚手架工具在功能组件模板市场选择功能组件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将调试基座所在终端与启动终端设置为同一局域网,将本地H5工程的启动地址设置在调试基座的网页视图中加载,在网页服务中启动本地H5工程;启动终端用于启动本地H5工程。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种混合应用程序开发方法,其特征在于,所述方法包括:
在功能组件模板市场选择功能组件;
在公共组件模板市场选择公共组件,加载所述公共组件的组件代码,对所述组件代码进行个性化调整,得到个性化组件代码;
在软件开发插件市场选择软件开发工具包;
在网页服务中启动本地H5工程;
基于调试基座、所述本地H5工程对各所述功能组件、公共组件进行调试;
基于所述功能组件、个性化组件代码和软件工具包,生成工程代码;
对所述工程代码进行编译,得到编译后工程代码;
在所述调试基座中的基础原生开发工程中将插件配置文件配置为软件开发工具包使用标准;
基于所述软件开发工具包使用标准对所述编译后工程代码进行打包,得到所述混合应用程序包。
2.根据权利要求1所述的方法,其特征在于,所述调试基座的创建包括:
创建基础原生开发工程;
将所述软件开发插件市场中的软件开发工具包集成在所述基础原生开发工程,得到所述调试基座。
3.根据权利要求1所述的方法,其特征在于,所述基于调试基座、所述本地H5工程对各所述功能组件、公共组件进行调试,包括:
在软件开发工具包函数库中,基于JS桥读取各所述功能组件、公共组件,对所述功能组件、公共组件进行调试。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述在功能组件模板市场选择功能组件包括:
基于脚手架工具在功能组件模板市场选择功能组件。
5.根据权利要求1所述的方法,其特征在于,所述在网页服务中启动本地H5工程,包括:
将调试基座所在终端与启动终端设置为同一局域网,将所述本地H5工程的启动地址设置在所述调试基座的网页视图中加载,在网页服务中启动本地H5工程;所述启动终端用于启动所述本地H5工程。
6.一种混合应用程序开发装置,所述装置包括:
功能组件选择模块,用于在功能组件模板市场选择功能组件;
组件代码选择模块,用于在公共组件模板市场选择公共组件,加载所述公共组件的组件代码,对所述组件代码进行个性化调整,得到个性化组件代码;
工具包选择模块,用于在软件开发插件市场选择软件开发工具包;
H5启动模块,用于在网页服务中启动本地H5工程;基于调试基座、所述本地H5工程对各所述功能组件、公共组件进行调试;
工程代码生成模块,用于基于所述功能组件、个性化组件代码和软件工具包,生成工程代码;
编译模块,用于对所述工程代码进行编译,得到编译后工程代码;在调试基座中的基础原生开发工程中将插件配置文件配置为软件开发工具包使用标准;基于所述软件开发工具包使用标准对所述编译后工程代码进行打包,得到所述混合应用程序包。
7.根据权利要求6所述的装置,其特征在于,所述混合应用程序开发装置中的功能组件选择模块还用于:基于脚手架工具在功能组件模板市场选择功能组件。
8.一种混合应用程序开发系统,其特征在于,所述系统包括:
功能组件模板市场、公共组件模板市场、软件开发插件市场、调试基座和终端;
所述功能组件模板市场包含功能组件,在接收到组件选中指令时,提供所述组件选中指令对应的功能组件;
所述公共组件模板市场包含公共组件,在接收到组件选中指令时,提供所述组件选中指令对应的公共组件;
所述软件开发插件市场包含软件开发工具包,在接收到软件开发插件选中指令时,提供所述插件选中指令对应的软件开发工具包;
所述调试基座在网页服务中启动本地H5工程,基于本地H5工程和调试基座对各功能组件、公共组件进行调试;
所述终端基于所述功能组件、个性化组件代码和软件工具包,生成工程代码,对所述工程代码进行编译,得到编译后工程代码;在所述调试基座中的基础原生开发工程中将插件配置文件配置为软件开发工具包使用标准;基于所述软件开发工具包使用标准对所述编译后工程代码进行打包,得到所述混合应用程序包。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011637096.4A CN112650487B (zh) | 2020-12-31 | 2020-12-31 | 混合应用程序开发方法、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011637096.4A CN112650487B (zh) | 2020-12-31 | 2020-12-31 | 混合应用程序开发方法、系统、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112650487A CN112650487A (zh) | 2021-04-13 |
CN112650487B true CN112650487B (zh) | 2024-01-23 |
Family
ID=75368264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011637096.4A Active CN112650487B (zh) | 2020-12-31 | 2020-12-31 | 混合应用程序开发方法、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112650487B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282893B (zh) * | 2021-04-27 | 2024-07-19 | 南方电网数字平台科技(广东)有限公司 | 源代码加固方法、装置、计算机设备和存储介质 |
CN113326038B (zh) * | 2021-06-11 | 2023-11-10 | 北京百度网讯科技有限公司 | 用于提供服务的方法、装置、设备、存储介质及程序产品 |
CN113608797A (zh) * | 2021-08-04 | 2021-11-05 | 南方电网数字电网研究院有限公司 | 基于nodejs和cordova原生插件扩展系统 |
CN114115854A (zh) * | 2021-11-29 | 2022-03-01 | 北京百度网讯科技有限公司 | 一种sdk文件生成方法、装置、设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3244301A1 (en) * | 2016-05-13 | 2017-11-15 | Sap Se | User interface application and digital assistant |
CN108228155A (zh) * | 2017-12-26 | 2018-06-29 | 江苏润和软件股份有限公司 | EasyApp移动开发平台和开发方法 |
CN110674625A (zh) * | 2019-08-29 | 2020-01-10 | 浙江数链科技有限公司 | 代码生成的方法、装置、计算机设备和存储介质 |
CN110825362A (zh) * | 2019-11-04 | 2020-02-21 | 广东道一信息技术股份有限公司 | 低代码应用软件开发系统及方法 |
CN111124576A (zh) * | 2019-12-23 | 2020-05-08 | 焦点科技股份有限公司 | 一种多平台小程序及h5页面适配的方法及系统 |
CN111949261A (zh) * | 2020-07-13 | 2020-11-17 | 福建天泉教育科技有限公司 | 高复用的应用开发配置方法及其系统 |
-
2020
- 2020-12-31 CN CN202011637096.4A patent/CN112650487B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3244301A1 (en) * | 2016-05-13 | 2017-11-15 | Sap Se | User interface application and digital assistant |
CN108228155A (zh) * | 2017-12-26 | 2018-06-29 | 江苏润和软件股份有限公司 | EasyApp移动开发平台和开发方法 |
CN110674625A (zh) * | 2019-08-29 | 2020-01-10 | 浙江数链科技有限公司 | 代码生成的方法、装置、计算机设备和存储介质 |
CN110825362A (zh) * | 2019-11-04 | 2020-02-21 | 广东道一信息技术股份有限公司 | 低代码应用软件开发系统及方法 |
CN111124576A (zh) * | 2019-12-23 | 2020-05-08 | 焦点科技股份有限公司 | 一种多平台小程序及h5页面适配的方法及系统 |
CN111949261A (zh) * | 2020-07-13 | 2020-11-17 | 福建天泉教育科技有限公司 | 高复用的应用开发配置方法及其系统 |
Non-Patent Citations (2)
Title |
---|
HybriDroid: Static analysis framework for Android hybrid applications;Sungho Lee等;《2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE)》;1-12 * |
移动端软件快速开发方法研究;胡静宜;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-462 * |
Also Published As
Publication number | Publication date |
---|---|
CN112650487A (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112650487B (zh) | 混合应用程序开发方法、系统、计算机设备和存储介质 | |
CN110928529B (zh) | 辅助算子开发的方法和系统 | |
EP3605324B1 (en) | Application development method and tool, and storage medium thereof | |
CN111241454B (zh) | 一种生成网页代码的方法、系统和装置 | |
US20100017812A1 (en) | Deploy Anywhere Framework For Heterogeneous Mobile Application Development | |
CN111522552B (zh) | 子应用生成方法、装置、计算机设备和存储介质 | |
CN111061475B (zh) | 软件代码生成方法、装置、计算机设备和存储介质 | |
CN105808266A (zh) | 代码运行方法及装置 | |
US20170052764A1 (en) | Pluggable components for runtime-image generation | |
RU2639667C2 (ru) | Контекстное приглашение в пробной версии приложения | |
CN110895471A (zh) | 安装包生成方法、装置、介质及电子设备 | |
CN114089986A (zh) | 低代码开发平台函数表达式配置方法、系统、设备及介质 | |
CN101263484B (zh) | 用于声明性定义的控件动作的方法和系统 | |
CN110543299A (zh) | 一种云计算管理平台代码生成方法和装置 | |
CN111913889A (zh) | 一种测试系统搭建方法及测试系统 | |
CN109284222B (zh) | 软件单元、数据处理系统中的项目测试方法、装置及设备 | |
CN114371841A (zh) | 前端项目代码生成方法、装置、计算机设备和存储介质 | |
Botturi et al. | Model-driven design for the development of multi-platform smartphone applications | |
CN110806891B (zh) | 嵌入式设备软件版本的生成方法及装置 | |
CN116185425B (zh) | 基于节点组合的事件流程编排方法、装置、设备及介质 | |
CN112631563A (zh) | 基于框架的系统开发方法、装置、计算机设备及存储介质 | |
CN115878095A (zh) | 一种基于逻辑编排的低代码开发方法、装置、设备及介质 | |
CN106775608A (zh) | 独立系统进程的实现方法和装置 | |
CN111857782B (zh) | 界面更新方法、装置、计算机设备和存储介质 | |
US20140258973A1 (en) | Systems And Methods For Automatically Generating Applications |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230804 Address after: 518000 building 501, 502, 601, 602, building D, wisdom Plaza, Qiaoxiang Road, Gaofa community, Shahe street, Nanshan District, Shenzhen City, Guangdong Province Applicant after: China Southern Power Grid Digital Platform Technology (Guangdong) Co.,Ltd. Address before: Room 86, room 406, No.1, Yichuang street, Zhongxin Guangzhou Knowledge City, Huangpu District, Guangzhou City, Guangdong Province Applicant before: Southern Power Grid Digital Grid Research Institute Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |