CN111796799B - 子应用开发方法、装置、计算机设备及存储介质 - Google Patents
子应用开发方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111796799B CN111796799B CN201910281384.1A CN201910281384A CN111796799B CN 111796799 B CN111796799 B CN 111796799B CN 201910281384 A CN201910281384 A CN 201910281384A CN 111796799 B CN111796799 B CN 111796799B
- Authority
- CN
- China
- Prior art keywords
- application
- sub
- child
- parent
- developer tool
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
-
- 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/33—Intelligent editors
-
- 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/36—Software reuse
-
- 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/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software 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
本申请涉及一种子应用开发方法、装置、计算机设备及存储介质,该方法包括:展示子应用开发者工具的界面;所述子应用开发者工具,是基于第一母应用的原生子应用开发者工具,进行与第二母应用的子应用开发处理相关的定制化扩展得到;所述第二母应用不同于所述第一母应用;通过所述界面接收针对所述第二母应用的子应用的开发触发指令;响应于所述开发触发指令,通过所述子应用开发者工具获取所述第二母应用的子应用基础库;通过加载所述子应用基础库,创建所述第二母应用的子应用运行环境;在所述子应用运行环境下,对第二母应用的子应用进行开发处理。本申请的方案,能够降低开发成本。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种子应用开发方法、装置、计算机设备及存储介质。
背景技术
随着科学技术的飞速发展,大量先进技术不断涌现。小程序即为一种新的技术和产品形态。所谓小程序(Mini program)是一种不需要下载安装即可使用的应用程序。开发者可以为终端的应用开发相应的小程序,小程序可以作为子应用被嵌入终端的应用中,通过运行应用内的子应用(即对应的小程序)能够为用户提供更多样化的服务。小程序开发者们可以使用开发者工具来开发小程序。
传统方法中,为了开发终端的应用相应的小程序,小程序开发者需要为该应用开发一个专门的开发者工具,然后,使用该专门的开发者工具来开发该应用相应的小程序。这样一来,就需要耗费大量的人力以及设备资源来开发小程序,成本比较高。
发明内容
基于此,有必要针对传统方法存在的成本比较高的问题,提供一种子应用开发方法、装置、计算机设备及存储介质。
一种子应用开发方法,所述方法包括:
展示子应用开发者工具的界面;所述子应用开发者工具,是基于第一母应用的原生子应用开发者工具,进行与第二母应用的子应用开发处理相关的定制化扩展得到;所述第二母应用不同于所述第一母应用;
通过所述界面接收针对所述第二母应用的子应用的开发触发指令;
响应于所述开发触发指令,通过所述子应用开发者工具获取所述第二母应用的子应用基础库;
通过加载所述子应用基础库,创建所述第二母应用的子应用运行环境;
在所述子应用运行环境下,对第二母应用的子应用进行开发处理。
一种子应用开发装置,其特征在于,所述装置包括:
展示模块,用于展示子应用开发者工具的界面;所述子应用开发者工具,是基于第一母应用的原生子应用开发者工具,进行与第二母应用的子应用开发处理相关的定制化扩展得到;所述第二母应用不同于所述第一母应用;
环境创建模块,用于通过所述界面接收针对所述第二母应用的子应用的开发触发指令;响应于所述开发触发指令,通过所述子应用开发者工具获取所述第二母应用的子应用基础库;通过加载所述子应用基础库,创建所述第二母应用的子应用运行环境;
开发模块,用于在所述子应用运行环境下,对第二母应用的子应用进行开发处理。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
展示子应用开发者工具的界面;所述子应用开发者工具,是基于第一母应用的原生子应用开发者工具,进行与第二母应用的子应用开发处理相关的定制化扩展得到;所述第二母应用不同于所述第一母应用;
通过所述界面接收针对所述第二母应用的子应用的开发触发指令;
响应于所述开发触发指令,通过所述子应用开发者工具获取所述第二母应用的子应用基础库;
通过加载所述子应用基础库,创建所述第二母应用的子应用运行环境;
在所述子应用运行环境下,对第二母应用的子应用进行开发处理。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
展示子应用开发者工具的界面;所述子应用开发者工具,是基于第一母应用的原生子应用开发者工具,进行与第二母应用的子应用开发处理相关的定制化扩展得到;所述第二母应用不同于所述第一母应用;
通过所述界面接收针对所述第二母应用的子应用的开发触发指令;
响应于所述开发触发指令,通过所述子应用开发者工具获取所述第二母应用的子应用基础库;
通过加载所述子应用基础库,创建所述第二母应用的子应用运行环境;
在所述子应用运行环境下,对第二母应用的子应用进行开发处理。
上述子应用开发方法、装置、计算机设备及存储介质,在开发第二母应用的子应用时,通过对其他应用(即第一母应用)已有的子应用开发者工具进行定制化扩展,以获取第二母应用的定制化的子应用基础库,进而通过加载该子应用基础库,为第二母应用的子应用提供运行环境,从而基于该运行环境,实现对第二母应用的子应用进行开发处理。而不需要专门再针对第二母应用开发一个原生的子应用开发者工具,从而节省了成本。
附图说明
图1为一个实施例中子应用开发方法的应用场景图;
图2为一个实施例中子应用开发方法的流程示意图;
图3为一个实施例中模式选项集合的展示界面;
图4a至图4b为一个实施例中插件管理界面的示意图;
图5为一个实施例中子应用模拟器插件的显示示意图;
图6为一个实施例中的定制化展示的示意图;
图7为一个实施例中目标接口调用的定制化处理示意图;
图8为一个实施例中目标事件定制化处理示意图;
图9为一个实施例中基础库版本选择界面图;
图10为另一个实施例中子应用开发装置的框图;
图11为另一个实施例中子应用开发装置的框图;
图12为一个实施例中计算机设备的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中子应用开发方法的应用场景图。参照图1,该应用场景中包括终端110和服务器120。终端110可以是智能电视机、智能音箱、台式计算机或移动终端,移动终端可以包括手机、平板电脑、笔记本电脑、个人数字助理和穿戴式设备等中的至少一种。服务器120可以用独立的服务器或者是多个物理服务器组成的服务器集群来实现。
服务器120中可以存储子应用开发者工具。终端110可以从服务器120中下载该子应用开发者工具至本地。终端110可以在该终端110的本地展示子应用开发者工具的界面;所述子应用开发者工具,是对第一母应用的原生子应用开发者工具进行定制化扩展得到;所述定制化扩展,与第二母应用的子应用开发处理相关;所述第二母应用不同于所述第一母应用。终端110可以通过所述界面接收针对所述第二母应用的子应用的开发触发指令;响应于所述开发触发指令,通过所述子应用开发者工具获取所述第二母应用的子应用基础库。终端110可以通过加载所述子应用基础库,创建所述第二母应用的子应用运行环境;在所述子应用运行环境下,对所述第二母应用的子应用进行开发处理。
在其他实施例中,服务器120中也可以不直接存储进行定制化扩展后的子应用开发者工具,而是存储第一母应用的原生子应用开发者工具。终端110可以从服务器120中下载该第一母应用的原生子应用开发者工具至本地,并在本地对该原生子应用开发者工具进行与第二母应用的子应用开发处理相关的定制化扩展,得到定制化扩展后的子应用开发者工具。终端110进而显示该定制化扩展后的子应用开发者工具。
图2为一个实施例中子应用开发方法的流程示意图。本实施例主要以该子应用开发方法应用于计算机设备为例进行举例说明,该计算机设备可以为图1中的终端110。参照图2,该方法具体包括如下步骤:
S202,展示子应用开发者工具的界面;该子应用开发者工具,是基于第一母应用的原生子应用开发者工具,进行与第二母应用的子应用开发处理相关的定制化扩展得到;第二母应用不同于第一母应用。
其中,子应用开发者工具,是对子应用进行开发和调试的开发者工具。开发者工具(IDE,Integrated Development Environment),是一类辅助开发计算机程序的应用软件。子应用开发工具可以用于提供可视化的操作界面,以帮助开发人员完成对子应用的研发工作。
子应用,是能够在母应用提供的环境中实现的应用程序。母应用是承载子应用的应用程序,为子应用的实现提供环境。母应用是原生应用程序。原生应用程序是可直接运行于操作系统的应用程序。
本实施例中,步骤S202中的子应用开发者工具,是对第一母应用的原生子应用开发者工具进行定制化扩展得到。定制化扩展,是与第二母应用的子应用开发处理相关的扩展。即,子应用开发者工具,是针对第一母应用的原生子应用开发者工具,进行与第二母应用的子应用开发处理相关的定制化扩展得到的。
第一母应用的原生子应用开发者工具,是指未经过扩展修改的、且专用于开发第一母应用的子应用的工具。
需要说明的是,第二母应用不同于第一母应用,即第二母应用是除第一母应用之外的一个第三方应用。
与第二母应用的子应用开发处理相关的定制化扩展,是指,在第一母应用的原生子应用开发者工具的基础上,进行了能够满足第二母应用的子应用的个性化需求的扩展。相当于,对第一母应用的原生子应用开发者工具增加了第二母应用的子应用的个性化功能。可以理解,基于扩展后的子应用开发者工具开发出来的第二母应用的子应用,才能够与第二母应用适配,从而在第二母应用提供的环境中实现。
在一个实施例中,第二母应用为至少一个。即,子应用开发者工具,可以是基于第一母应用的原生子应用开发者工具,进行与至少一个第二母应用的子应用开发处理相关的定制化扩展。相当于,子应用开发者工具中,可以进行与一个或多个第二母应用相关的定制化扩展。
比如,第一母应用为A,原生子应用开发者工具为IDE1,现在要为第二母应用B和C分别开发相应的子应用。那么,原生子应用开发者工具a中既进行与B的子应用开发处理相关的扩展,又进行与C的子应用开发处理相关的扩展,得到开发者工具IDE2。那么,就可以基于IDE2,实现对B的子应用开发处理,以及实现对C的子应用开发处理。
在一个实施例中,第一母应用和第二母应用可以是社交应用程序、专门支持子应用的专用应用程序、文件管理应用程序、邮件应用程序和游戏应用程序等中的任意一种。社交应用程序包括即时通信应用、SNS(Social Network Service,社交网站)应用或者直播应用等。可以理解,这里仅为举例说明,并不用于限定第一母应用和第二母应用的类型,任何需要开发子应用的母应用都可以是第一母应用或第二母应用。
需要说明的是,第二母应用不同于第一母应用,并不限定第二母应用与第一母应用的类型不相同,第二母应用和第一母应用也可以属于相同类型下的不同应用。可以理解,计算机设备可以通过添加插件的方式,对第一母应用的原生子应用开发者工具进行定制化扩展。这种通过添加插件的方式,是动态的、灵活的对第一母应用的原生子应用开发者工具进行定制化扩展。开发人员也可以对第一母应用的原生子应用开发者工具进行编辑,以对该原生子应用开发者工具进行定制化扩展。这种方式就属于永久性扩展,即基于第一母应用的原生子应用开发者工具开发出了一个新的子应用开发者工具,即,定制化扩展的内容属于子应用开发者工具的一部分,而不再属于可剥离的插件内容。
计算机设备可以运行该子应用开发者工具,进而展示该子应用开发者工具的界面。
在一个实施例中,当通过对第一母应用的原生子应用开发者工具进行编辑,得到的全新的、完整的子应用开发者工具时,计算机设备则可以从服务器中直接下载该子应用开发者工具。进而,计算机设备可以运行该下载的子应用开发者工具,以展示该子应用开发者工具的界面。
在另一个实施例中,当通过在第一母应用的原生子应用开发者工具中添加插件进行定制化扩展得到子应用开发者工具时,计算机设备则可以从服务器中下载第一母应用的原生子应用开发者工具,然后再添加插件至原生子应用开发者工具,得到该子应用开发者工具。进而,计算机设备可以运行该子应用开发者工具,以展示该子应用开发者工具的界面。
S204,通过界面接收针对第二母应用的子应用的开发触发指令。
其中,开发触发指令,用于触发执行对第二母应用的子应用的开发处理。
在一个实施例中,用户可以针对该界面做出预设动作(比如,长按、滑动或点击等一个动作或多个动作的结合),计算机设备在检测到预设动作后,生成针对第二母应用的子应用的开发触发指令。
在一个实施例中,界面中也可以展示有开发触发控件,计算机设备在检测到针对该开发触发控件的触发操作时,可以生成针对第二母应用的子应用的开发触发指令。其中,开发触发控件,是用于触发对第二母应用的子应用的开发处理的控件。
在一个实施例中,步骤S204包括:在界面中展示模式选项集合;模式选项集合中,包括第二母应用的子应用开发模式的选项;当检测到从模式选项集合中对选项的选择操作时,则生成针对该第二母应用的子应用的开发触发指令。
其中,模式选项集合中包括至少一个模式选项。模式选项,是模式所对应的选项。可以理解,子应用开发者工具为不同的模式提供不同的环境。模式包括第二母应用的子应用开发模式。
第二母应用的子应用开发模式,是指对第二母应用的子应用进行开发的模式,用于对第二母应用的子应用的开发提供环境。
可以理解,当有多个第二母应用时,则各个第二母应用都有相应的子应用开发模式选项。即,当有多个第二母应用时,模式选项集合中就包括多个第二母应用的子应用开发模式的选项。相当于,不同的第二母应用,需要通过不同的入口进入相应的子应用开发模式。
比如,有第二母应用B和C,那么,模式选项集合中就可以包括第二母应用B的子应用开发模式的选项和第二母应用C的子应用开发模式的选项。如果想要对第二母应用B的子应用进行开发时,则需要选择第二母应用B的子应用开发模式的选项。如果想要对第二母应用C的子应用进行开发时,则需要选择第二母应用C的子应用开发模式的选项。
在一个实施例中,模式选项集合中,还可以包括非第二母应用的子应用开发模式的选项。在一个实施例中,模式选项集合中,还可以包括第一母应用的子应用开发模式的选项。在一个实施例中,模式选项集合中,还可以包括插件模式。插件模式,用于提供开发插件的环境。
具体地,计算机设备可以在界面中展示模式选项集合。用户可以从模式选项集合中选择选项。计算机设备可以检测从模式选项集合中选择的选项。当选择的选项为第二母应用的子应用开发模式的选项时,计算机设备则可以生成针对与该选项对应的第二母应用的子应用的开发触发指令。
可以理解,第二母应用的子应用开发模式的选项,相当于第二母应用的子应用的开发入口,对该选项进行选择后,则可以触发对第二母应用的子应用的开发处理。
可以理解,当模式选项集合中包括多个第二母应用的子应用开发模式的选项时,用户可以从中选择一个第二母应用的子应用开发模式的选项,计算机设备可以检测该选项,并生成针对与该选项对应的第二母应用的子应用的开发触发指令。即,选了哪个第二母应用对应的选项,则就触发生成针对这个第二母应用的子应用的开发触发指令。
在一个实施例中,计算机设备可以在子应用开发者工具的界面直接展示该模式选项集合。
在另一个实施例中,计算机设备也可以在子应用开发者工具的界面中展示模式选择入口。其中,模式选择入口,用于被触发后展示模式选项集合。用户可以对模式选择入口进行触发操作,计算机设备在检测到该触发操作后,则在子应用开发者工具的界面中展示该模式选项集合。在一个实施例中,模式选择入口,可以以下拉框的形式进行呈现。
为了便于理解,现结合图3进行举例说明。图3为一个实施例中模式选项集合的展示界面。参照图3,用户对工具栏中的模式选择入口302进行了触发操作,以展示模式选项集合304。模式选项集合304中包括第一母应用A的子应用开发模式的选项、插件模式的选项以及多个第二母应用(即第二母应用B和第二母应用C)的子应用开发模式的选项。图3中用户选择了第二母应用B的子应用开发模式的选项,则子应用开发者工具可以呈现该模式下的代码编辑区、调试区以及模拟器显示区。
S206,响应于开发触发指令,通过子应用开发者工具获取第二母应用的子应用基础库。
其中,子应用基础库,用于为子应用的运行提供环境。
可以理解,子应用基础库,即运行时库(Runtime库),描述了子应用运行的时候执行的软件/指令,特别是那些没有明确写出,却对于子应用正常运行至关重要的指令。即,子应用基础库,相当于封装了第三方客户端和手机的能力,以在子应用运行时提供环境。
具体地,当子应用开发者工具是通过对第一母应用的原生子应用开发者工具进行编辑得到时,计算机设备在接收到开发触发指令后,可以从子应用开发者工具自身的文件中,获取第二母应用的子应用基础库。当子应用开发者工具是在第一母应用的原生子应用开发者工具中添加插件得到时,在接收到开发触发指令后,计算机设备则可以从该插件的相关信息中获取第二母应用的子应用基础库。
在一个实施例中,第二母应用的子应用基础库可以有至少一个基础库版本。当有多个基础库版本时,计算机设备可以获取与指定的基础库版本对应的子应用基础库。计算机设备也可以默认获取与最新基础库版本对应的子应用基础库。
在一个实施例中,子应用开发者工具的界面中包括子应用基础库的选择入口。当接收到开发触发指令时,计算机设备可以检测该选择入口中当前指定的基础库版本,并获取该当前指定的基础库版本对应的子应用基础库。可以理解,用户可以对该选择入口进行触发操作,以重新指定基础库版本,计算机设备可以响应于该操作,获取与重新指定的基础库版本对应的子应用基础库并加载。
S208,通过加载子应用基础库,创建第二母应用的子应用运行环境。
其中,子应用运行环境,是指为第二母应用的子应用的运行提供的环境。
具体地,计算机设备可以加载该子应用基础库,为第二母应用的子应用提供运行环境。
可以理解,加载子应用基础库,相当于,注入第二母应用的定制化的子应用基础库,从而为第二母应用的子应用的运行提供环境。即,第二母应用的子应用,能够在所创建的子应用运行环境中实现运行。
需要说明的是,第二母应用的子应用运行环境,能够满足第二母应用的所有子应用的运行需求。比如,第二母应用的子应用有多个,分别为c1、c2和c3,那么,在第二母应用的子应用运行环境下,可以分别完成对第二母应用的子应用c1、c2和c3的开发处理。
S210,在子应用运行环境下,对第二母应用的子应用进行开发处理。
具体地,计算机设备可以在子应用运行环境下,响应于用户对第二母应用的子应用输入的开发指令,响应于该开发指令,对第二母应用的子应用进行开发代码编辑、开发代码调试和程序发布等开发处理,从而开发出专属于第二母应用的子应用。
其中,开发代码调试是通过代码编译、模拟展示、子应用操作以及代码修改调试等结合起来实现的。
在一个实施例中,子应用开发者工具中集成了开发代码编辑区、开发代码调试区以及子应用模拟器显示区域等,从而实现用户对子应用的开发。
需要说明的是,由于子应用开发者工具中进行了与第二母应用的子应用开发处理相关的定制化扩展,所以,在第二母应用的子应用的开发过程中,还可以根据该定制化扩展的信息,实现与第二母应用的子应用相关的个性化处理。
上述子应用开发方法,在开发第二母应用的子应用时,通过对其他应用(即第一母应用)已有的子应用开发者工具进行定制化扩展,以获取第二母应用的定制化的子应用基础库,进而通过加载该子应用基础库,为第二母应用的子应用提供运行环境,从而基于该运行环境,实现对第二母应用的子应用进行开发处理。而不需要专门再针对第二母应用开发一个原生的子应用开发者工具,从而节省了成本。
此外,相较于重新针对第二母应用开发一个专门的子应用开发者工具而言,本申请实施例中的子应用开发方案耗费的时间也相对较少,因此,提高了子应用的开发效率。
在一个实施例中,子应用开发者工具,是在第一母应用的原生子应用开发者工具中安装第二母应用的子应用模拟器插件后得到。本实施例中,步骤S206中的通过子应用开发者工具获取第二母应用的子应用基础库包括:通过子应用开发者工具,从子应用模拟器插件的配置文件中,选取第二母应用的子应用基础库。
其中,第二母应用的子应用模拟器插件,用于实现对第二母应用的子应用的定制化开发处理。
子应用模拟器插件具有相应的配置文件,该配置文件中包括第二母应用的子应用基础库。
计算机设备可以通过子应用开发者工具,从子应用模拟器插件的配置文件中,选取第二母应用的子应用基础库。计算机设备可以加载该选取的第二母应用的子应用基础库,创建第二母应用的子应用运行环境。
可以理解,不同的第二母应用对应不同的子应用模拟器插件。
比如,第二母应用B对应的子应用模拟器插件为p1、第二母应用C对应的子应用模拟器插件则为p2。那么,p1和p2分别对应不同的配置文件,p1的配置文件中包括第二母应用B的子应用基础库。P2的配置文件中包括第二母应用C的子应用基础库。
上述实施例中,通过子应用模拟器插件的方式对第一母应用的原生子应用开发者工具进行定制化扩展,能够与原生子应用开发者工具高度解耦,使得一种原生子应用开发者工具能够通过添加不同插件的方式,实现开发多种第二母应用的子应用,进一步地节省了开发资源。
此外,由于子应用模拟器插件与原生子应用开发者工具高度解耦,所以,子应用模拟器插件可以根据自身情况进行更新,而不受限于第一母应用的原生子应用开发者工具本身的更新情况。
在一个实施例中,在步骤S202之前,该方法还包括:展示第一母应用的原生子应用开发者工具所提供的插件管理界面;所述插件管理界面中包括第二母应用的子应用模拟器插件的标识;当检测到对所述标识的触发操作时,则安装所述标识对应的子应用模拟器插件至所述原生子应用开发者工具中。
其中,插件管理界面,用于管理插件。插件管理界面中包括插件的标识。插件的标识,是插件在插件管理界面中的呈现形式。
在一个实施例中,插件管理界面中的插件的标识,可以包括已安装和未安装的插件的标识。
具体地,在步骤S202之前,计算机设备可以运行第一母应用的原生子应用开发者工具,通过第一母应用的原生子应用开发者工具展示插件管理界面,进而展示插件管理界面中的插件的标识。
在一个实施例中,计算机设备可以在第一母应用的原生子应用开发者工具的界面中展示插件管理入口,当检测到对该插件管理入口的触发操作时,则在第一母应用的原生子应用开发者工具展示插件管理界面。其中,插件管理入口,用于被触发后展示插件管理界面。
在一个实施例中,插件管理入口,可以对应于工具栏中的插件选项。计算机设备可以在第一母应用的原生子应用开发者工具的工具栏中展示插件选项,该插件选项对应插件管理入口,当检测到针对插件选项的触发操作时,则触发该插件选项对应的插件管理入口,以触发展示插件管理界面。
其中,插件管理界面中的插件的标识,包括第二母应用的子应用模拟器插件的标识。用户可以对第二母应用的子应用模拟器插件的标识进行触发操作,当检测到对该标识的触发操作时,计算机设备则安装该标识对应的第二母应用的子应用模拟器插件至原生子应用开发者工具中。从而,实现了对原生子应用开发者工具进行与第二母应用的子应用开发处理相关的定制化扩展。
图4a至图4b为一个实施例中插件管理界面的示意图。参照图4a,用户可以在第一母应用A的原生子应用开发者工具界面中的“工具”项中选择“插件”选项(“插件”选项即为插件管理入口),以触发生成图4b中的插件管理界面402。用户可以对“添加”按钮404进行触发操作,即可在第一母应用的原生子应用开发者工具中安装该第二母应用B的子应用模拟器插件。
在一个实施例中,插件管理界面中,可以包括多个第二母应用的子应用模拟器插件的标识。那么,这种情况下,当检测到对标识的触发操作时,则安装标识对应的子应用模拟器插件至原生子应用开发者工具中包括:检测针对插件管理界面中子应用模拟器插件的标识的触发操作,确定该触发操作所针对的子应用模拟器插件的标识;安装该标识对应的第二母应用的子应用模拟器插件至原生子应用开发者工具中。
具体地,用户可以从中选择触发需要开发子应用的第二母应用所对应的子应用模拟器插件的标识,计算机设备可以检测该触发操作所针对的子应用模拟器插件的标识,并安装该标识对应的第二母应用的子应用模拟器插件至原生子应用开发者工具中。
上述实施例中,由于子应用模拟器插件是由开发人员选择性添加的,而并未通过代码写在开发者工具中,所以,更加的灵活,避免全部固定写在开发者工具中对有些用户而言数据过于庞大,造成不必要的资源浪费。
在一个实施例中,原生子应用开发者工具中包括子应用模拟器。子应用模拟器,用于模拟当前开发的子应用在第二母应用中的表现。本实施例中,步骤S210包括:通过子应用模拟器,在子应用开发者工具的模拟器显示区域中,模拟当前开发的子应用基于子应用运行环境运行于第二母应用时所呈现的界面;当通过子应用模拟器插件监听到针对子应用模拟器做出的预设模拟操作时,则通过子应用模拟器插件生成与预设模拟操作对应的模拟界面;将模拟界面覆盖于模拟呈现的界面之上进行显示。
其中,子应用模拟器,用于模拟当前开发的子应用在第二母应用中真实的逻辑表现,对于绝大部分的接口均能够在子应用模拟器上呈现出正确的状态。可以理解,子应用模拟器,相当于模拟在第二母应用中正常运行子应用时所呈现的状态。
模拟器显示区域,是用于展示子应用模拟器所模拟的界面的区域。
预设模拟操作,是预先指定的用于触发模拟处理的操作。
模拟界面,是通过模拟处理显示的界面。可以理解,子应用模拟器插件,同样具备模拟显示功能。子应用模拟器插件生成的模拟界面,是除了子应用模拟器所呈现的界面以外的、且能够表达第二母应用的个性化的定制化界面。
在一个实施例中,预设模拟操作,包括模拟执行第二母应用的操作。
在其他实施例中,预设模拟操作还可以包括模拟返回首页的操作和模拟返回上一级界面的操作等。
具体地,计算机设备可以通过编译指令,对开发代码进行编译,通过子应用模拟器,在子应用开发者工具的模拟器显示区域中,模拟当前开发的子应用基于子应用运行环境运行于第二母应用中时所呈现的界面。
计算机设备可以通过子应用模拟器插件监听该子应用模拟器,用户可以对该子应用模拟器做出预设模拟操作,当子应用模拟器插件监听到该预设模拟操作时,计算机设备则可以通过子应用模拟器插件生成与预设模拟操作对应的模拟界面。计算机设备可以将通过子应用模拟器插件生成的模拟界面,覆盖在模拟器显示区域之上进行显示。即,子应用模拟器插件生成的模拟界面,遮盖掉子应用模拟器所模拟呈现的界面。
在一个实施例中,子应用模拟器插件的显示区域的大小与子应用模拟器显示区域的大小一致。这种情况下,模拟界面就能够完整的覆盖子应用模拟器所模拟呈现的界面。
在其他实施例中,子应用模拟器插件的显示区域的大小与子应用模拟器显示区域的大小也可以不一致。
在一个实施例中,子应用模拟器插件中可以预先设置了与预设模拟操作对应的模拟界面,当监听到该预设模拟操作时,则获取并加载与该与预设模拟操作对应的模拟界面。
在另一个实施例中,子应用模拟器插件中已经设置了与该预设模拟操作对应的界面生成逻辑,当监听到该预设模拟操作时,则调用与该预设模拟操作对应的界面生成逻辑,生成相应的模拟界面。
在一个实施例中,当通过子应用模拟器插件监听到针对该模拟界面的结束显示指令时,则通过子应用模拟器插件结束对该模拟界面的显示。
其中,结束显示指令,用于指示不再显示该模拟界面。可以理解,用户可以通过选择该模拟界面中的用于触发结束显示的按钮(比如,“返回”按钮或者“隐藏”按钮),计算机设备通过检测到该操作后,则可以生成结束显示指令。
在一个实施例中,计算机设备可以通过子应用模拟器插件将该模拟界面进行隐藏,比如,可以将该模拟界面设置为不显示状态。在另一个实施例中,计算机设备也可以通过子应用模拟器插件移除该模拟界面,从而结束对该模拟界面的显示。
图5为一个实施例中子应用模拟器插件的显示示意图。参照图5,子应用模拟器插件以视图的形态,覆盖于子应用开发者工具中的模拟器显示区域502的上方,子应用模拟器插件的显示区域504的大小与模拟器显示区域502的大小一致。可以理解,通过子应用模拟器插件的显示区域呈现界面,可以根据监听到的作用于子应用模拟器上的动作,进行相应的显示或隐藏。当子应用模拟器插件呈现的界面隐藏时,则在子应用开发者工具的界面呈现的是子应用模拟器所模拟的界面。
上述实施例中,可以通过子应用模拟器插件显示第二母应用的定制化的、个性化界面。此外,子应用模拟器插件具备定制化的监听功能,能够根据自己的需求在必要的时候显示,提高了显示的灵活性和准确性。
在一个实施例中,预设模拟操作,包括模拟执行第二母应用的操作。本实施例中,当监听到针对子应用模拟器做出的预设模拟操作时,则通过子应用模拟器插件生成与预设模拟操作对应的模拟界面包括:当通过子应用模拟器插件监听到模拟执行第二母应用的操作时,通过子应用模拟器插件,模拟展示与监听到的操作相对应的第二母应用的界面。
其中,模拟执行第二母应用的操作,即指模拟在第二母应用上进行的操作。可以理解,模拟执行的操作不同,其对应模拟展示的第二母应用的界面就可以不同。
在一个实施例中,子应用模拟器的界面中包含模拟操作入口,用户可以对模拟操作入口进行触发操作,触发展示模拟操作选项集合。其中,模拟操作选项集合中包括模拟执行第二母应用的操作选项。用户可以对该模拟执行第二母应用的操作选项进行触发,以模拟执行第二母应用。计算机设备可以通过子应用模拟器插件监听该模拟执行第二母应用的操作,并通过子应用模拟器插件,模拟展示与监听到的操作相对应的第二母应用的界面。
可以理解,模拟操作选项集合中还可以包括其他模拟操作选项。其他模拟操作选项,可以包括模拟返回上一级界面的操作选项和模拟返回首页的操作选项等中的至少一种。
在一个实施例中,第二母应用可以为企业微信客户端。模拟执行第二母应用的操作,包括模拟执行企业微信客户端的企业选择操作。所以,模拟操作选项集合中可以包括模拟执行企业微信客户端的企业选择操作选项。本实施例中,当监听到模拟执行企业微信客户端的企业选择操作时,通过子应用模拟器插件,模拟展示与企业选择操作对应的企业选择界面。
其中,企业选择界面,是用于选择企业的模拟界面。企业选择界面中呈现至少一个企业账号。企业账号,是企业在企业微信客户端所注册的账号。
可以理解,当企业选择界面中包括多个企业账号时,用户可以对企业选择界面中所呈现的企业账号进行选择切换操作,计算机设备可以根据该切换操作,进行企业账号之间的切换处理。
在一个实施例中,企业选择界面中还包括子应用返回入口。该子应用返回入口,用于被触发后,返回模拟当前开发的子应用基于子应用运行环境运行于第二母应用时所呈现的界面。
图6为一个实施例中的定制化展示的示意图。需要说明的是,图6是以开发企业微信APP(Application,应用程序)的子应用为例进行举例说明。图6的(a)图即为子应用模拟器所模拟呈现的界面L1,其中,L1界面中的“helloworld”即为默认的欢迎词,中文意译为“世界,你好!”。用户可以对(b)图中的模拟操作入口进行触发操作,以触发展示模拟操作选项集合602,其中,“Home”即为首页的意思,“Home”选项,即为模拟返回首页的操作选项。“返回”选项即为模拟返回上一级界面的操作选项,“选择企业”选项即为对企业微信APP中的企业选择操作选项。用户点击“选择企业”,即相当于模拟执行针对企业微信客户端的企业选择操作,子应用模拟器插件则会生成一个企业选择界面L2。企业选择界面L2会覆盖(a)图中的界面L1而可视化展示。企业选择界面L2中展示有多个可供选择的企业账号(即,企业1和企业2),其中,企业账号相当于企业微信的子应用的标识。(c)图和(d)图则展示了用户可以从企业选择界面中的企业账号中进行账号切换操作。用户也可以触发企业选择界面中的“返回子应用”,以返回(a)图中的界面L1。
上述实施例中,能够通过子应用模拟器插件模拟执行第二母应用的操作,从而能够在子应用模拟器的显示区域,显示对应第二母应用的相应界面,不需要用进行繁复的退出、进入操作,从而避免了计算机设备接收并响应繁复操作所带来的计算机资源的浪费。
在一个实施例中,在子应用运行环境下,对第二母应用的子应用进行开发处理包括:在子应用运行环境下,通过子应用模拟器插件监听子应用开发者工具;在通过子应用模拟器插件监听到针对子应用开发者工具中的目标接口的调用请求后,则通过子应用模拟器插件处理调用请求,得到处理结果;通过子应用开发者工具将处理结果作为接口调用结果进行返回。
其中,目标接口,是预先指定的需要监听的接口。可以理解,目标接口是被调用时需要进行定制化处理的接口。即,第二母应用针对目标接口的调用处理与第一母应用针对目标接口的调用处理有差异,所以,需要进行定制化处理。
接口(API,Application Programming Interface),中文为应用程序编程接口,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
在一个实施例中,目标接口可以包括提供用户登录信息的接口。用户登录信息,是指用户在登录子应用时所需提供的用户信息。在一个实施例中,用户登录信息可以包括用户的昵称和头像等与登录相关的信息。
可以理解,通常情况下,子应用所使用的用户登录信息,是通过调用接口来获取母应用对应的用户登录信息。而,第二母应用和第一母应用属于不同的应用,那么,第一母应用和第二母应用在用户登录信息上可能存在差异,因此,就需要对该接口的调用进行与第二母应用相应的定制化处理,以正确获取第二母应用的用户登录信息。
在其他实施例中,目标接口,还可以包括用于获取用户个人资料(比如,用户地址等)和好友信息等的接口。可以理解,不同的母应用,用户个人资料和好友信息可能存在不同,因此,需要对这些接口的调用进行与第二母应用相应的定制化处理,以获取正确的信息。需要说明的是,这里仅为举例说明,目标接口包括、但不限定于所列举的接口。
具体地,在子应用运行环境下对第二母应用的子应用的开发处理过程中,会涉及到对子应用开发者工具中的接口的调用,计算机设备可以通过子应用模拟器插件对子应用开发者工具中的接口调用进行监听,在通过子应用模拟器插件监听到接口调用方针对子应用开发者工具中的目标接口的调用请求后,计算机设备则可以通过子应用模拟器插件中的预设处理逻辑处理该调用请求,得到处理结果。计算机设备可以通过子应用开发者工具将该处理结果作为接口调用结果返回至调用结果接收方。
即,子应用开发者工具向调用结果接收方所返回的接口调用结果,是子应用模拟器插件处理针对目标接口的调用请求所得到的处理结果。
其中,接口调用方,是对请求调用接口的一方。调用结果接收方,是用于接收接口调用结果的一方。
可以理解,接口调用方和调用结果接收方可以是不同对象。
在一个实施例中,接口调用方可以为视图层,调用结果接收方可以为逻辑层。在另一个实施例中,接口调用方还可以是逻辑层,调用结果接收方可以为视图层。可以理解,视图层和逻辑层可以通过对子应用开发者工具中的接口进行调用,从而实现相互之间的通信。
在其他实施例中,接口调用方和调用结果接收方可以是同一对象,即,都可以是视图层,也都可以是逻辑层。
其中,视图层(view),能加载显示界面。在一个实施例中,视图层可以是网页视图(webview)。网页视图,能够加载显示网页,可以将其视为一个浏览器。
逻辑层(AppService),是指事务逻辑处理的地方。可以理解,逻辑层的功能就是将数据进行处理后发送给视图层,同时接受视图层的事件反馈。视图层会根据逻辑层处理的数据进行相应的显示更新。
可以理解,子应用系统框架包括视图层和逻辑层,即,视图层和逻辑层属于子应用的组成部分。在步骤S208中加载的子应用基础库即为子应用的视图层和逻辑层提供运行环境。
在一个实施例中,子应用的逻辑层是js(JavaScript)脚本文件的集合。子应用的视图层由WXML(WeiXin Mark Language)和WXSS(WeiXin Style Sheet)文件来完成。在一个实施例中,在通过子应用模拟器插件监听到针对子应用开发者工具中的目标接口的调用请求后,则通过子应用模拟器插件处理调用请求,得到处理结果包括:当通过子应用模拟器插件监听到针对子应用开发者工具中的目标接口的调用请求时,则通过子应用模拟器插件拦截调用请求,并通过子应用模拟器插件处理调用请求,得到处理结果;或,在通过子应用模拟器插件监听到针对子应用开发者工具中的目标接口的调用请求后,通过子应用模拟器插件拦截目标接口响应于调用请求所返回的结果,并通过子应用模拟器插件处理调用请求,得到处理结果。
可以理解,拦截,即阻断。那么,拦截调用请求,即表明不将调用请求发放至目标接口。拦截目标接口返回的结果,则表明不将目标接口返回的结果告知子应用开发者工具。
在一个实施例中,计算机设备可以通过子应用模拟器插件在子应用开发者工具派发调用请求至目标接口之前,就对该调用请求进行拦截,从而不将调用请求告知目标接口,而是由子应用模拟器插件自身处理调用请求,并将得到的处理结果作为接口调用结果进行返回。
在另一个实施例中,计算机设备也可以在子应用开发者工具将调用请求向目标接口派发时,不进行拦截,这样一来,目标接口则可以处理该调用请求,并返回相应的结果。子应用模拟器插件在监听到目标接口返回的结果时,则对该返回的结果进行拦截,使其不传递至子应用开发者工具。计算机设备可以通过子应用模拟器插件处理该针对目标接口的调用请求,得到处理结果。然后,子应用模拟器插件可以将自身处理得到的处理结果返回至子应用开发者工具。
可以理解,这整个处理过程对于子应用开发者工具而言,都是透明的,即,子应用开发者工具并不知晓针对目标接口的调用被拦截了。需要说明的是,当监听到对非目标接口发出调用请求,则可以让子应用开发者工具直接将该调用请求向非目标接口传送,并直接将非目标接口返回的接口调用结果,返回至调用结果接收方。
图7为一个实施例中目标接口调用的定制化处理示意图。参照图7,视图层和逻辑层都可以向子应用开发者工具发出接口调用请求,并且都可以接收接口调用结果。现以一个由逻辑层针对目标接口发起调用请求为例进行举例说明。图7中,视图层和逻辑层通过通信桥梁(Jsbridge)实现与子应用开发者工具之间的通信。假设,在进行用户登录的场景下,逻辑层向子应用开发者工具中的目标接口发送调用请求,子应用模拟器插件可以拦截并处理该调用请求,获取与第二母应用对应的用户登录信息。子应用模拟器插件可以将用户登录信息返回至子应用开发者工具,子应用开发者工具可以将该用户登录信息返回给视图层。可以理解,如果子应用模拟器插件不拦截该调用请求,则子应用开发者工具会直接调用目标接口获取与第一母应用对应的用户登录信息,并将其返回给视图层进行展示。第二母应用对应的用户登录信息,可能与第一母应用对应的用户登录信息存在不同,比如,用户昵称、头像等会存在不同。所以,通过子应用模拟器插件能够在对目标接口的调用上实现定制化处理,从而获取更加准确的信息。
上述实施例中,在通过子应用模拟器插件监听到针对子应用开发者工具中的目标接口的调用请求后,则通过子应用模拟器插件处理调用请求,得到处理结果;通过子应用开发者工具将处理结果作为接口调用结果进行返回。实现了对接口调用的定制化处理,从而能够在接口调用时获取与第二母应用的子应用更加适配的信息,满足了第二母应用不同于第一母应用的一些逻辑。进而,能够更加准确地开发出第二母应用的专属子应用。
在一个实施例中,在子应用运行环境下,对第二母应用的子应用进行开发处理还包括:当监听到子应用开发者工具中发生目标事件时,则通过子应用模拟器插件拦截目标事件;通过子应用模拟器插件执行与目标事件相应的处理;在子应用模拟器插件执行完与目标事件相应的处理后,再通过子应用开发者工具根据该目标事件触发系统事件。
其中,目标事件,是预先指定的需要监听的事件。事件,是可以被控件识别的操作。比如,按下确定按钮,选择某个单选按钮或者复选框等皆属于事件。
在一个实施例中,目标事件,可以包括用户点击了清除缓存的事件。可以理解,目标事件还可以包括其他需要子应用模拟器插件做出相应处理的事件。
具体地,用户可以对子应用开发者工具进行相应的操作,以触发生成相应事件。计算机设备可以通过子应用模拟器插件监听子应用开发者工具中发生的事件,当通过子应用模拟器插件监听到子应用开发者工具中发生目标事件时,则通过子应用模拟器插件拦截目标事件,以使得目标事件不被子应用开发者工具向上层对象传送。计算机设备可以通过子应用模拟器插件执行与目标事件相应的处理。在子应用模拟器插件执行完与目标事件相应的处理后,计算机设备可以再通过子应用开发者工具将目标事件向上层传送,以触发子应用的系统事件。
系统事件,是需要子应用执行的事件。即,需要子应用中的视图层和逻辑层执行的事件。
可以理解,计算机设备可以在子应用模拟器插件执行完与目标事件相应的处理后,再通过子应用开发者工具将目标事件向视图层和逻辑层传送。
图8为一个实施例中目标事件定制化处理示意图。现以目标事件为清除缓存的事件为例进行说明,子应用模拟器插件可以对子应用开发者工具进行监听,当监听到其中发生清除缓存的事件时,子应用模拟器插件则可以拦截该事件,也执行清除缓存的处理。子应用模拟器插件在清除缓存完毕后,会告知子应用开发者工具,子应用开发者工具则可以将清除缓存的事件继续传送至视图层和逻辑层,以触发视图层和逻辑层执行清除缓存的处理。可以理解,当子应用开发者工具中发生的是非目标事件,则子应用开发者工具则可以直接将非目标事件传送至视图层和逻辑层。
上述实施例中,通过监听开发者工具中发生的事件,实现了对数据传输的定制化处理,从而能够在发生事件时,在子应用模拟器插件中也进行相应的处理,以保证数据的一致性。进而,能够更加准确地开发出第二母应用的专属子应用。
在一个实施例中,配置文件中包括第二母应用的子应用基础库版本的信息。该还包括:根据子应用基础库版本的信息,在子应用开发者工具的界面中,展示基础库版本选项的集合;获取从集合中选择的目标基础库版本选项;通过子应用开发者工具,从子应用模拟器插件的配置文件中,获取与目标基础库版本选项对应的目标子应用基础库;将当前的子应用运行环境,切换为通过加载目标子应用基础库所创建的子应用运行环境。
其中,第二母应用的子应用基础库版本的信息,是指描述第二母应用的子应用的基础库版本的信息。目标基础库版本,是指想要使用的基础库版本。
具体地,计算机设备可以在子应用开发者工具的界面中,展示基础库版本选项的集合。用户可以从集合中选择目标基础库版本选项。计算机设备就可以通过子应用开发者工具,从子应用模拟器插件的配置文件中,获取与目标基础库版本选项对应的目标子应用基础库。进一步地,计算机设备可以加载目标子应用基础库,以创建相应的子应用运行环境,并且将当前的子应用运行环境切换为新创建的该子应用运行环境。
可以理解,在首次创建子应用运行环境时,计算机设备可以获取默认的基础库版本所对应的子应用基础库并进行加载,以创建第二母应用的子应用运行环境。后续,用户可以灵活地选择不同的基础库版本,以灵活切换子应用运行环境,从而实现对不同版本的开发调整。
在一个实施例中,计算机设备可以在子应用开发者工具的界面中展示版本选择入口,用户对该版本选择入口进行触发操作,以展示基础库版本选项的集合。版本选择入口,用于被触发后展示基础库版本选项的集合。
在一个实施例中,在子应用开发者工具界面的工具栏中包括用于触发展示版本选择入口的选项,用户对该选项进行触发操作后,计算机设备可以响应于该触发操作,在子应用开发者工具的界面中展示版本选择入口。
图9为一个实施例中基础库版本选择界面图。参照图9,用户对工具栏中的选项902进行选择后,计算机设备可以在子应用开发者工具的界面中展示版本选择入口904,用户可以触发版本选择入口904,计算机设备进而展示基础库版本选项的集合906。用户可以从中选择目标基础库版本,图9中用户选择的是1.2.0版本。
上述实施例中,实现了对不同基础库版本的选择,从而实现了对不同版本的兼容和调试处理。此外,通过从界面展示的基础库版本选项的集合中直接选择目标基础库版本,即可以快速切换不同版本基础库所对应的子应用运行环境,避免了繁复的操作,从而提高了开发效率。此外,由于不需要繁复的操作,也避免了计算机设备接收并响应繁复操作所带来的计算机资源的浪费。
如图10所示,在一个实施例中,提供了一种子应用开发装置1000,该装置1000包括:展示模块1002、环境创建模块1004以及开发模块1006,其中:
展示模块1002,用于展示子应用开发者工具的界面;子应用开发者工具,是基于第一母应用的原生子应用开发者工具,进行与第二母应用的子应用开发处理相关的定制化扩展得到;第二母应用不同于第一母应用。
环境创建模块1004,用于通过界面接收针对第二母应用的子应用的开发触发指令;响应于开发触发指令,通过子应用开发者工具获取第二母应用的子应用基础库;通过加载子应用基础库,创建第二母应用的子应用运行环境。
开发模块1006,用于在子应用运行环境下,对第二母应用的子应用进行开发处理。
在一个实施例中,展示模块1002还用于在界面中展示模式选项集合;模式选项集合中,包括第二母应用的子应用开发模式的选项;当检测到从模式选项集合中对选项的选择操作时,则生成针对第二母应用的子应用的开发触发指令。
在一个实施例中,子应用开发者工具,是在第一母应用的原生子应用开发者工具中,安装第二母应用的子应用模拟器插件后得到;子应用模拟器插件,用于实现对第二母应用的子应用的定制化开发处理。环境创建模块1004还用于通过子应用开发者工具,从子应用模拟器插件的配置文件中,选取第二母应用的子应用基础库。
在一个实施例中,展示模块1002还用于展示第一母应用的原生子应用开发者工具所提供的插件管理界面;插件管理界面中包括第二母应用的子应用模拟器插件的标识。
如图11所示,本实施例中,该装置1000还包括:
插件安装模块1003,用于当检测到对标识的触发操作时,则安装标识对应的子应用模拟器插件至原生子应用开发者工具中。
在一个实施例中,原生子应用开发者工具中包括子应用模拟器。开发模块1006还用于通过子应用模拟器,在子应用开发者工具的模拟器显示区域中,模拟当前开发的子应用基于子应用运行环境运行于第二母应用时所呈现的界面;当监听到针对子应用模拟器做出的预设模拟操作时,则通过子应用模拟器插件生成与预设模拟操作对应的模拟界面;将模拟界面覆盖于模拟呈现的界面之上进行显示。
在一个实施例中,预设模拟操作,包括模拟执行所述第二母应用的操作。开发模块1006还用于当通过子应用模拟器插件监听到模拟执行所述第二母应用的操作时,通过子应用模拟器插件,模拟展示与监听到的操作相对应的第二母应用的界面。
在一个实施例中,开发模块1006还用于在子应用运行环境下,通过子应用模拟器插件监听子应用开发者工具;在监听到针对子应用开发者工具中的目标接口的调用请求后,则通过子应用模拟器插件处理调用请求,得到处理结果;通过子应用开发者工具将处理结果作为接口调用结果进行返回。
在一个实施例中,开发模块1006还用于当监听到针对子应用开发者工具中的目标接口的调用请求时,则通过子应用模拟器插件拦截调用请求,并通过子应用模拟器插件处理调用请求,得到处理结果;或,在监听到针对子应用开发者工具中的目标接口的调用请求后,通过子应用模拟器插件拦截目标接口响应于调用请求所返回的结果,并通过子应用模拟器插件处理调用请求,得到处理结果。
在一个实施例中,开发模块1006还用于在子应用运行环境下,通过子应用模拟器插件监听子应用开发者工具;当监听到子应用开发者工具中发生目标事件时,则通过子应用模拟器插件拦截目标事件;通过子应用模拟器插件执行与目标事件相应的处理;在子应用模拟器插件执行完与目标事件相应的处理后,再通过子应用开发者工具根据目标事件触发系统事件。
在一个实施例中,配置文件中包括第二母应用的子应用基础库版本的信息。展示模块1002还用于根据信息,在子应用开发者工具的界面中,展示基础库版本选项的集合;获取从集合中选择的目标基础库版本选项;
环境创建模块1004还用于通过子应用开发者工具,从子应用模拟器插件的配置文件中,获取与目标基础库版本选项对应的目标子应用基础库;将当前的子应用运行环境,切换为通过加载目标子应用基础库所创建的子应用运行环境。
图12为一个实施例中计算机设备的内部结构示意图。参照图12,该计算机设备可以是图1中终端110。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质可存储操作系统和计算机程序。该计算机程序被执行时,可使得处理器执行一种子应用开发方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种子应用开发方法。计算机设备的网络接口用于进行网络通信。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的子应用开发装置可以实现为一种计算机程序的形式,计算机程序可在如图12所示的计算机设备上运行,计算机设备的非易失性存储介质可存储组成该子应用开发装置的各个程序模块,比如,图10所示的展示模块1002、环境创建模块1004以及开发模块1006。各个程序模块所组成的计算机程序用于使该计算机设备执行本说明书中描述的本申请各个实施例的子应用开发方法中的步骤,例如,计算机设备可以通过如图10所示的子应用开发装置1000中的展示模块1002展示子应用开发者工具的界面;子应用开发者工具,是基于第一母应用的原生子应用开发者工具,进行与第二母应用的子应用开发处理相关的定制化扩展得到;第二母应用不同于第一母应用。计算机设备可以通过环境创建模块1004通过界面接收针对第二母应用的子应用的开发触发指令;响应于开发触发指令,通过子应用开发者工具获取第二母应用的子应用基础库;通过加载子应用基础库,创建第二母应用的子应用运行环境。计算机设备可以通过开发模块1006在子应用运行环境下,对第二母应用的子应用进行开发处理。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述子应用开发方法的步骤。此处子应用开发方法的步骤可以是上述各个实施例的子应用开发方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述子应用开发方法的步骤。此处子应用开发方法的步骤可以是上述各个实施例的子应用开发方法中的步骤。
需要说明的是,本申请各实施例中的“第一”、“第二”和“第三”等仅用作区分,而并不用于大小、先后、从属等方面的限定。
应该理解的是,虽然本申请各实施例中的各个步骤并不是必然按照步骤标号指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种子应用开发方法,所述方法包括:
展示子应用开发者工具的界面;所述子应用开发者工具,是在第一母应用的原生子应用开发者工具的基础上,进行了能够满足第二母应用的子应用的个性化需求的扩展;所述第二母应用不同于所述第一母应用;
通过所述界面接收针对所述第二母应用的子应用的开发触发指令;
响应于所述开发触发指令,通过所述子应用开发者工具获取所述第二母应用的子应用基础库;
通过加载所述子应用基础库,创建所述第二母应用的子应用运行环境;
在所述子应用运行环境下,对第二母应用的子应用进行开发处理。
2.根据权利要求1所述的方法,其特征在于,所述通过所述界面接收针对所述第二母应用的子应用的开发触发指令包括:
在所述界面中展示模式选项集合;所述模式选项集合中,包括所述第二母应用的子应用开发模式的选项;
当检测到从所述模式选项集合中对所述选项的选择操作时,则生成针对所述第二母应用的子应用的开发触发指令。
3.根据权利要求1所述的方法,其特征在于,所述子应用开发者工具,是在第一母应用的原生子应用开发者工具中,安装第二母应用的子应用模拟器插件后得到;所述子应用模拟器插件,用于实现对第二母应用的子应用的定制化开发处理;
所述通过所述子应用开发者工具获取所述第二母应用的子应用基础库包括:
通过所述子应用开发者工具,从所述子应用模拟器插件的配置文件中,选取所述第二母应用的子应用基础库。
4.根据权利要求3所述的方法,其特征在于,在所述展示子应用开发者工具的界面之前,所述方法还包括:
展示第一母应用的原生子应用开发者工具所提供的插件管理界面;所述插件管理界面中包括第二母应用的子应用模拟器插件的标识;
当检测到对所述标识的触发操作时,则安装所述标识对应的子应用模拟器插件至所述原生子应用开发者工具中。
5.根据权利要求3所述的方法,其特征在于,所述原生子应用开发者工具中包括子应用模拟器;
所述在所述子应用运行环境下,对第二母应用的子应用进行开发处理包括:
通过所述子应用模拟器,在子应用开发者工具的模拟器显示区域中,模拟当前开发的子应用基于子应用运行环境运行于第二母应用时所呈现的界面;
当监听到针对所述子应用模拟器做出的预设模拟操作时,则通过所述子应用模拟器插件生成与所述预设模拟操作对应的模拟界面;
将所述模拟界面覆盖于模拟呈现的所述界面之上进行显示。
6.根据权利要求5所述的方法,其特征在于,所述预设模拟操作,包括模拟执行所述第二母应用的操作;
所述当监听到针对所述子应用模拟器做出的预设模拟操作时,则通过所述子应用模拟器插件生成与所述预设模拟操作对应的模拟界面包括:
当通过所述子应用模拟器插件监听到模拟执行所述第二母应用的操作时,通过所述子应用模拟器插件,模拟展示与监听到的操作相对应的所述第二母应用的界面。
7.根据权利要求3所述的方法,其特征在于,所述在所述子应用运行环境下,对第二母应用的子应用进行开发处理包括:
在所述子应用运行环境下,通过子应用模拟器插件监听子应用开发者工具;
在监听到针对所述子应用开发者工具中的目标接口的调用请求后,则通过所述子应用模拟器插件处理所述调用请求,得到处理结果;
通过所述子应用开发者工具将所述处理结果作为接口调用结果进行返回。
8.根据权利要求7所述的方法,其特征在于,所述在监听到针对所述子应用开发者工具中的目标接口的调用请求后,则通过所述子应用模拟器插件处理所述调用请求,得到处理结果包括:
当监听到针对所述子应用开发者工具中的目标接口的调用请求时,则通过所述子应用模拟器插件拦截所述调用请求,并通过所述子应用模拟器插件处理所述调用请求,得到处理结果;或,
在监听到针对所述子应用开发者工具中的目标接口的调用请求后,通过所述子应用模拟器插件拦截所述目标接口响应于所述调用请求所返回的结果,并通过所述子应用模拟器插件处理所述调用请求,得到处理结果。
9.根据权利要求3所述的方法,其特征在于,所述在所述子应用运行环境下,对第二母应用的子应用进行开发处理包括:
在所述子应用运行环境下,通过子应用模拟器插件监听子应用开发者工具;
当监听到所述子应用开发者工具中发生目标事件时,则通过所述子应用模拟器插件拦截所述目标事件;
通过所述子应用模拟器插件执行与所述目标事件相应的处理;
在所述子应用模拟器插件执行完与所述目标事件相应的处理后,再通过所述子应用开发者工具根据所述目标事件触发系统事件。
10.根据权利要求3至9中任一项所述的方法,其特征在于,所述配置文件中包括第二母应用的子应用基础库版本的信息;
所述方法还包括:
根据所述信息,在所述子应用开发者工具的界面中,展示基础库版本选项的集合;
获取从所述集合中选择的目标基础库版本选项;
通过所述子应用开发者工具,从所述子应用模拟器插件的配置文件中,获取与所述目标基础库版本选项对应的目标子应用基础库;
将当前的子应用运行环境,切换为通过加载所述目标子应用基础库所创建的子应用运行环境。
11.一种子应用开发装置,其特征在于,所述装置包括:
展示模块,用于展示子应用开发者工具的界面;所述子应用开发者工具,是在第一母应用的原生子应用开发者工具的基础上,进行了能够满足第二母应用的子应用的个性化需求的扩展;所述第二母应用不同于所述第一母应用;
环境创建模块,用于通过所述界面接收针对所述第二母应用的子应用的开发触发指令;响应于所述开发触发指令,通过所述子应用开发者工具获取所述第二母应用的子应用基础库;通过加载所述子应用基础库,创建所述第二母应用的子应用运行环境;
开发模块,用于在所述子应用运行环境下,对第二母应用的子应用进行开发处理。
12.根据权利要求11所述的装置,其特征在于,所述子应用开发者工具,是在第一母应用的原生子应用开发者工具中,安装第二母应用的子应用模拟器插件后得到;所述子应用模拟器插件,用于实现对第二母应用的子应用的定制化开发处理;所述环境创建模块还用于通过所述子应用开发者工具,从所述子应用模拟器插件的配置文件中,选取所述第二母应用的子应用基础库。
13.根据权利要求12所述的装置,其特征在于,展示模块还用于展示第一母应用的原生子应用开发者工具所提供的插件管理界面;所述插件管理界面中包括第二母应用的子应用模拟器插件的标识;
所述装置还包括:
插件安装模块,用于当检测到对所述标识的触发操作时,则安装所述标识对应的子应用模拟器插件至所述原生子应用开发者工具中。
14.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至10中任一项所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至10中任一项所述方法的步骤。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910281384.1A CN111796799B (zh) | 2019-04-09 | 2019-04-09 | 子应用开发方法、装置、计算机设备及存储介质 |
JP2021522070A JP7106001B2 (ja) | 2019-04-09 | 2020-03-20 | サブアプリケーション開発方法、装置、コンピュータ機器、並びにコンピュータプログラム |
EP20787743.2A EP3955107B1 (en) | 2019-04-09 | 2020-03-20 | Sub-application development method, apparatus, computer device, and storage medium |
PCT/CN2020/080490 WO2020207232A1 (zh) | 2019-04-09 | 2020-03-20 | 子应用开发方法、装置、计算机设备及存储介质 |
US17/320,027 US11726749B2 (en) | 2019-04-09 | 2021-05-13 | Child application development method and apparatus, computer device, and storage medium |
US18/322,392 US20230297342A1 (en) | 2019-04-09 | 2023-05-23 | Child application development tool |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910281384.1A CN111796799B (zh) | 2019-04-09 | 2019-04-09 | 子应用开发方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111796799A CN111796799A (zh) | 2020-10-20 |
CN111796799B true CN111796799B (zh) | 2021-09-07 |
Family
ID=72750609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910281384.1A Active CN111796799B (zh) | 2019-04-09 | 2019-04-09 | 子应用开发方法、装置、计算机设备及存储介质 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11726749B2 (zh) |
EP (1) | EP3955107B1 (zh) |
JP (1) | JP7106001B2 (zh) |
CN (1) | CN111796799B (zh) |
WO (1) | WO2020207232A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112631602B (zh) * | 2020-12-25 | 2023-10-13 | 北京天融信网络安全技术有限公司 | 浏览器开发模式检测方法、装置、设备及存储介质 |
CN112363857B (zh) * | 2021-01-12 | 2021-04-02 | 恒生电子股份有限公司 | 微前端架构的应用系统、同步方法、存储介质和设备 |
CN113204722B (zh) * | 2021-03-30 | 2022-11-22 | 北京达佳互联信息技术有限公司 | 页面展示方法、装置、电子设备及存储介质 |
US11474934B1 (en) * | 2021-09-17 | 2022-10-18 | Bandwidth Inc. | Software development systems for creation and testing of voice and messaging applications and related methods and computers |
CN116450535B (zh) * | 2023-06-20 | 2023-08-29 | 中国联合网络通信集团有限公司 | 子应用调试方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664304A (zh) * | 2018-05-03 | 2018-10-16 | 广州腾讯科技有限公司 | 应用程序处理方法、装置、存储介质和计算机设备 |
CN108920366A (zh) * | 2018-06-28 | 2018-11-30 | 腾讯科技(深圳)有限公司 | 一种子应用调试方法、装置及系统 |
CN109308261A (zh) * | 2018-09-11 | 2019-02-05 | 百度在线网络技术(北京)有限公司 | 应用程序调试方法、装置、系统、设备和存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341593B2 (en) * | 2008-10-23 | 2012-12-25 | Sap Ag | Integrated development framework for composite applications |
US20120110560A1 (en) * | 2010-10-27 | 2012-05-03 | Microsoft Corporation | Data type provider for a web semantic store |
US9286037B2 (en) * | 2010-12-29 | 2016-03-15 | Microsoft Technology Licensing, Llc | Platform for distributed applications |
US20140047413A1 (en) * | 2012-08-09 | 2014-02-13 | Modit, Inc. | Developing, Modifying, and Using Applications |
US9021428B2 (en) * | 2013-05-29 | 2015-04-28 | Microsoft Technology Licensing, Llc | Troubleshooting visuals and transient expressions in executing applications |
US9898261B1 (en) * | 2015-09-30 | 2018-02-20 | Open Text Corporation | Method and system for configuring processes of software applications using activity fragments |
CN107957911B (zh) * | 2016-10-18 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 组件调用的方法和装置、组件数据处理的方法和装置 |
CN106980504B (zh) | 2017-03-28 | 2022-07-01 | 腾讯科技(深圳)有限公司 | 一种应用程序开发方法及其工具、设备 |
CN107239318B (zh) * | 2017-06-13 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 应用转换方法、装置及设备 |
CN108647028B (zh) | 2018-05-09 | 2024-02-09 | 广州腾讯科技有限公司 | 应用程序信息处理方法和装置 |
-
2019
- 2019-04-09 CN CN201910281384.1A patent/CN111796799B/zh active Active
-
2020
- 2020-03-20 JP JP2021522070A patent/JP7106001B2/ja active Active
- 2020-03-20 EP EP20787743.2A patent/EP3955107B1/en active Active
- 2020-03-20 WO PCT/CN2020/080490 patent/WO2020207232A1/zh unknown
-
2021
- 2021-05-13 US US17/320,027 patent/US11726749B2/en active Active
-
2023
- 2023-05-23 US US18/322,392 patent/US20230297342A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664304A (zh) * | 2018-05-03 | 2018-10-16 | 广州腾讯科技有限公司 | 应用程序处理方法、装置、存储介质和计算机设备 |
CN108920366A (zh) * | 2018-06-28 | 2018-11-30 | 腾讯科技(深圳)有限公司 | 一种子应用调试方法、装置及系统 |
CN109308261A (zh) * | 2018-09-11 | 2019-02-05 | 百度在线网络技术(北京)有限公司 | 应用程序调试方法、装置、系统、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
"小程序开发及其开源生态、应用案例分析";朱悦星等;《无线互联科技》;20180910;第15卷(第17期);第34-37页 * |
Also Published As
Publication number | Publication date |
---|---|
US11726749B2 (en) | 2023-08-15 |
JP7106001B2 (ja) | 2022-07-25 |
EP3955107B1 (en) | 2024-02-28 |
EP3955107A4 (en) | 2022-06-15 |
WO2020207232A1 (zh) | 2020-10-15 |
CN111796799A (zh) | 2020-10-20 |
JP2022505656A (ja) | 2022-01-14 |
US20230297342A1 (en) | 2023-09-21 |
EP3955107A1 (en) | 2022-02-16 |
US20210271456A1 (en) | 2021-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111796799B (zh) | 子应用开发方法、装置、计算机设备及存储介质 | |
CN109901834B (zh) | 文档页面生成方法、装置、计算机设备和存储介质 | |
CN110688598B (zh) | 业务参数采集方法、装置、计算机设备和存储介质 | |
CN106569900A (zh) | 应用程序处理方法和装置 | |
CN110244984A (zh) | 应用程序处理方法、装置、存储介质和计算机设备 | |
EP3758335A1 (en) | Hosted application marketplaces | |
CN111008132B (zh) | Android系统的应用调试方法、装置、计算机设备和存储介质 | |
CN111898336B (zh) | 弹幕显示方法、装置、计算机设备及存储介质 | |
CN110806868A (zh) | 一种单页面搭建及加载方法 | |
CN111068328A (zh) | 游戏广告配置表格的生成方法、终端设备及介质 | |
CN114089986A (zh) | 低代码开发平台函数表达式配置方法、系统、设备及介质 | |
US9372675B1 (en) | Unified declarative model for user interfaces | |
CN114371841A (zh) | 前端项目代码生成方法、装置、计算机设备和存储介质 | |
CN114036439A (zh) | 网站搭建方法、装置、介质及电子设备 | |
CN113467862A (zh) | 桌面快捷方式的生成方法、装置、移动终端和存储介质 | |
CN112613275A (zh) | 单据生成方法、装置、计算机设备和存储介质 | |
CN104391880A (zh) | 拦截业务对象的方法及客户端 | |
CN114546377A (zh) | 埋点处理方法、装置、电子设备及存储介质 | |
CN115525305A (zh) | 数据处理、应用启动方法、装置、计算机设备和存储介质 | |
CN111427770A (zh) | 一种资源测试方法及相关设备 | |
CN112068895A (zh) | 代码配置方法、装置、视频播放设备及存储介质 | |
Cimitile et al. | Automatic Generation of Multi Platform Web Map Mobile Applications. | |
CN111611582B (zh) | 用于识别页面劫持行为的方法和装置 | |
KR102198789B1 (ko) | 통합 사용 로그 데이터를 생성하는 서버 및 그 동작 방법 | |
CN112650509B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030063 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |