基于第三方组件库的应用程序开发方法和装置与流程

文档序号:16930473发布日期:2019-02-22 20:13阅读:189来源:国知局
基于第三方组件库的应用程序开发方法和装置与流程

本发明涉及开发测试技术领域,尤其涉及一种基于第三方组件库的应用程序开发方法和装置。



背景技术:

随着智能手机等终端设备的普及,用户的需求也越发的多样化,满足用户需求的应用程序的也越发的多样化,因而,应用程序的开发技术也越来越受到关注。

相关技术中,在实现应用程序的开发时,开发工具软件要模拟应用程序中组件的实现,提供大量的组件供应用程序的开发者使用,因而,开发工具软件中需要集成大量组件。然而,应用程序的开发过程中,可能需要提供大量的组件,或者,是符合开发者需求的组件,因而,就不得不提供人力来实现这些可能会用到的组件,并且进行维护与升级。而且在这种情况下,组件的实现与开发工具软件紧密结合,组件的升级维护会和工具软件的升级维护互相影响,组件库的升级依赖于工具软件的发版。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种基于第三方组件库的应用程序开发方法,包括以下步骤:

将第三方服务设备中预先设置的第三方组件集成到开发工具软件;启动所述开发工具软件,将所述开发工具软件集成的第三方组件读取到内存;通过所述开发工具软件模拟建立应用程序运行环境,将应用程序文件加载到所述应用程序运行环境中;根据所述应用程序文件的钩子函数将所述第三方组件从所述内存注入到所述应用程序运行环境的全局变量中,通过所述全局变量调用所述第三方组件开发所述应用程序。

为达上述目的,本发明第二方面实施例提出了一种基于第三方组件库的应用程序开发装置,包括:集成模块,用于将第三方服务设备中预先设置的第三方组件集成到开发工具软件;读取模块,用于启动所述开发工具软件,将所述开发工具软件集成的第三方组件读取到内存;加载模块,用于通过所述开发工具软件模拟建立应用程序运行环境,将应用程序文件加载到所述应用程序运行环境中;开发模块,用于根据所述应用程序文件的钩子函数将所述第三方组件从所述内存注入到所述应用程序运行环境的全局变量中,通过所述全局变量调用所述第三方组件开发所述应用程序。

为达上述目的,本发明第三方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行如上述实施例描述的基于第三方组件库的应用程序开发方法。

为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,该程序被处理器执行时实现如上述实施例描述的基于第三方组件库的应用程序开发方法。

本发明提供的及技术方案,至少具有如下有益技术效果:

将第三方服务设备中预先设置的第三方组件集成到开发工具软件,启动开发工具软件,将开发工具软件集成的第三方组件读取到内存,通过开发工具软件模拟建立应用程序运行环境,将应用程序文件加载到应用程序运行环境中,进而,根据应用程序文件的钩子函数将第三方组件从内存注入到应用程序运行环境的全局变量中,通过全局变量调用第三方组件开发应用程序。由此,实现了将第三方组件与开发工具软件进行了解耦,开发工具软件的更新与维护不再与第三方组件互相限制,提升了开发工具软件的应用便利性。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本发明一个实施例的基于第三方组件库的应用程序开发方法的流程图;

图2是根据本发明另一个实施例的基于第三方组件库的应用程序开发方法的流程图;

图3是根据本发明又一个实施例的基于第三方组件库的应用程序开发方法的流程图;

图4是根据本发明一个实施例的基于第三方组件库的应用程序开发方法的应用场景示意图;

图5是根据本发明一个实施例的基于第三方组件库的应用程序开发装置的结构示意图;

图6是根据本发明另一个实施例的基于第三方组件库的应用程序开发装置的结构示意图;以及

图7是根据本发明又一个实施例的基于第三方组件库的应用程序开发装置的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

针对上述背景技术中所提到的由于开发工具软件和组件集成,从而导致组件的更新等依赖于开发软件的更新和维护,并且开发工具软件也受限于组件的影响导致更新和维护的效率被拖慢,本发明提供了一种新的组件引用方法,在本发明的实施例中,实现了开发工具软件和组件的解耦,在不影响开发工具软件无缝提供组件服务的前提下,使得开发工具软件和组件不再互相限制,扩展了开发工具软件的应用的便利性。

下面参考附图描述本发明实施例的基于第三方组件库的应用程序开发方法和装置。

图1是根据本发明一个实施例的基于第三方组件库的应用程序开发方法的流程图,如图1所示,该方法包括以下步骤:

步骤101,将第三方服务设备中预先设置的第三方组件集成到开发工具软件。

其中,第三方服务设备指的是专门用于开发第三方组件的设备,该设备可以为服务器等具有开发和存储功能的设备,从而,由于在第三方服务设备中开发第三方组件,无论是第三方组件的更新还是维护都不再依赖于开发工具软件的升级,同样的,开发工具软件的升级和维护也不再影响第三方组件,通过将第三方组件的开发压力转移到专门的第三方服务设备,实现了第三方服务设备和开发工具软件的解耦。

其中,开发工具软件可以理解为teambition等专门为开发人员准备的软件开发工具。

步骤102,启动开发工具软件,将开发工具软件集成的第三方组件读取到内存。

由于在开发工具软件本身提供可以直接使用的组件,可以使得开发人员在使用开发软件工具时可以进行软件的快速开发,把开发的重点放在业务实现上,而不是繁重的基础功能使用软件上。因而,在本发明的实施例中,仍然在开发工具软件中集成设置组件,在本发明的实施例中,将开发工具软件集成的第三方组件读取到内存,其中,正如以上描述的,开发工具软件集成的第三方组件是从第三方服务设备中获取的。

在本发明的一个实施例中,为了保证启动的开发工具软件能够为开发人员提供组件服务,需要保证在启动开发工具软件之前,开发工具软件中已经集成了第三方组件。

在本实施例中,如图2所示,上述步骤101中的启动开发工具软件包括:

步骤201,检测开发工具软件是否成功集成有第三方组件。

步骤202,若获知开发工具软件没有成功集成第三方组件,则从第三方服务设备获取第三方组件。

具体地,由于第三方设备和启动开发工具软件在通信时网络不稳定等原因,可能导致第三方组件没有成功可以通过检测组件标识等方式检测开发组件中是否成功集成有第三方组件,如果获知开发工具软件中没有集成第三方组件,则需要从第三方服务设备中重新获取第三方组件,以便于根据第三方服务设备提供的第三方组件进行集成,其中,第三方服务设备可以理解的为专门提供第三方组件开发和维护的设备。

步骤203,若获知开发工具软件集成第三方组件,则从第三方服务设备中集成最新版本的第三方组件。

具体地,如果获知开发工具软件集成了第三方组件,则为了确保给相关开发人员提供更优的开发服务,检测开发工具软件是否是最新版本,比如,获知安全开发工具软件最新版本的版本号,将最新版本的版本号与当前开发工具软件的版本号进行比对以确保该开发工具软件是否为最新版本,若不是,则从第三方服务设备中获取最新版本的第三方组件,当集成了最新版本的第三方组件后,还可以保证与当前最新的第三方开发工具软件的兼容。

步骤103,通过开发工具软件模拟建立应用程序运行环境,将应用程序文件加载到应用程序运行环境中。

具体地,通过开发工具软件模拟建立应用程序的运行环境,将应用程序文件,比如应用程序的bin文件等加载到应用程序的运行环境中,比如,模拟应用程序的应用操作系统等。

步骤103,根据应用程序文件的钩子函数将第三方组件从内存注入到应用程序运行环境的全局变量中,通过全局变量调用第三方组件开发应用程序。

其中,全局变量指的在当前能应用程序运行环境中的任意对象或函数均可引用的变量。

在本发明的一个实施例中,预先设置应用程序的钩子函数,根据应用程序文件的钩子函数将第三方组件从内存注入到应用程序运行环境的全局变量中,由此,当前能应用程序运行环境中的任意对象或函数均可引用第三方组件,以全局变量的方式调用第三方组件。

需要强调的是,在本实施例中,考虑到开发工具软件本身的运行环境和模拟建立的应用程序运行环境是相对独立的两个环境,如果仅仅在第三方开发工具软件中运行第三方组件将会导致应用程序运行环境无法使用该第三方组件,因而,本实施例中,通过应用程序文件对外暴露的钩子函数,将第三方组件注入到全局变量中,以实现第三方组件到应用程序运行环境的打通。

且正如以上描述的,为了实现第三方组件可以成功注入到全局变量中,需要在应用程序运行环境建立完成的时刻即将第三方组件注入到全局变量中,这是由于,申请人经过大量实验发现,如果注入时刻晚于应用程序运行环境的建立时刻,则应用程序会调用组件库中的组件从而导致应用程序解析调用的组件时出错,如果注入时刻早于应用程序运行环境的建立时刻,则由于全部变量没有存在的基础注入的第三方组件无法挂载。

当然,在实际执行过程中,由于受到非法攻击、应用程序没有正确使用第三方组件,或者引用第三方组件时导将第三方组件的名称写错等原因导致第三方组件出现异常,因而,在本发明的一个实施例中,还可对异常进行捕捉,即在本实施例中,监测被注入到应用程序运行环境的全局变量中的第三方组件是否出现错误,这种错误包括第三方组件本身的错误以及应用程序调用时出现的错误等,若出现,则显示异常注入提示信息,比如通过标红代码的方式进行提醒或者以弹窗的形式进行提醒等,以使得开发人员根据该提醒进行错误的修复等。

在实际应用中,可能引入的第三方组件具有向开发工具通信的需求,因而,在本发明的一个实施例中,如图3所示,在上述步骤根据应用程序文件的钩子函数将第三方组件从内存注入到应用程序运行环境的全局变量中之后,该方法还包括:

步骤301,向开发工具软件发送目标数据请求消息。

其中,目标数据请求时引入组件在应用程序需运行环境中被调用时,行驶正常功能时所需要的数据。

步骤302,获取开发工具软件根据请求消息的类型响应反馈的目标数据,根据目标数据以及通过全局变量调用第三方组件开发应用程序。

具体地,在本发明的一个实施例中,向开发工具软件发送目标数据请求消息,获取开发工具软件根据请求消息的类型响应反馈的目标数据,进而,根据目标数据以及通过全局变量调用第三方组件开发应用程序,由此,实现开发工具软件和应用程序运行环境的数据通信。

需要说明的是,根据应用场景的不同,实现开发工具软件和应用程序运行环境的数据通信的方式不同,作为一种可能的实现方式,预先注册监听应用程序运行环境与开发工具软件的宿主环境之间的通信事件,该通信事件可以是根据对应第三方组件的功能实现所需要的开发工具软件中提供的数据有关,当然,在本实施例中,还可设置与通信事件的消息类型对应的响应方式,比如,当通信事件的消息类型是a时,则设置与a对应的响应方式进行同步响应,又比如,当通信事件的消息类型是b时,则设置与b对应的响应方式进行异步响应等。

由此,本发明实施例的基于第三方组件库的应用程序开发方法,一方面,从第三方服务设备中读取第三方组件,而不是在开发工具软件中进行组件的开发与维护,实现了组件和开发软件的解耦,将开发工具软件和组建的维护和升级分离开来,另一方面,如图4所示,在开发工具软件启动后,加载第三方组件到内存,建立应用程序运行环境后,通过应用程序挂载的钩子函数将第三方组件从内存中注入到全局变量中,以实现应用程序对第三方组件的使用,打破开发工具软件环境和应用程序运行环境之间的隔阂。

综上,本发明实施例的基于第三方组件库的应用程序开发方法,将第三方服务设备中预先设置的第三方组件集成到开发工具软件,启动开发工具软件,将开发工具软件集成的第三方组件读取到内存,通过开发工具软件模拟建立应用程序运行环境,将应用程序文件加载到应用程序运行环境中,进而,根据应用程序文件的钩子函数将第三方组件从内存注入到应用程序运行环境的全局变量中,通过全局变量调用第三方组件开发应用程序。由此,实现了将第三方组件与开发工具软件进行了解耦,开发工具软件的更新与维护不再与第三方组件互相限制,提升了开发工具软件的应用便利性。

为了实现上述实施例,本发明还提出了一种基于第三方组件库的应用程序开发装置,图5是根据本发明一个实施例的基于第三方组件库的应用程序开发装置的结构示意图,如图5所示,该装置包括采集模块100、读取模块200、加载模块300和开发模块400,其中,

集成模块100,用于将第三方服务设备中预先设置的第三方组件集成到开发工具软件。

读取模块200,用于启动开发工具软件,将开发工具软件集成的第三方组件读取到内存。

加载模块300,用于通过开发工具软件模拟建立应用程序运行环境,将应用程序文件加载到应用程序运行环境中。

开发模块400,用于根据应用程序文件的钩子函数将第三方组件从内存注入到应用程序运行环境的全局变量中,通过全局变量调用第三方组件开发应用程序。

在本发明的一个实施例中,如图6所示,在如图5所示的基础上,读取模块200包括检测单元210、获取单元220和更新单元230,其中,

检测单元210,用于检测开发工具软件是否成功集成有第三方组件。

获取单元220,用于在获知开发工具软件没有成功集成第三方组件时,从第三方服务设备获取第三方组件。

更新单元230,用于在获知开发工具软件成功集成第三方组件时,检测开发工具软件是否为最新版本,若不是,则从第三方服务设备中集成最新版本的第三方组件。

在本发明的一个实施例中,如图7所示,在如图5所示的基础上,该装置还包括监控处理模块500,其中,监控处理模块500,用于监测被注入到应用程序运行环境的全局变量中的第三方组件是否出现错误,若出现,则显示异常注入提示信息。

需要说明的是,前述对基于第三方组件库的应用程序开发方法实施例的解释说明也适用于该实施例的基于第三方组件库的应用程序开发装置,此处不再赘述。

综上,本发明实施例的基于第三方组件库的应用程序开发装置,将第三方服务设备中预先设置的第三方组件集成到开发工具软件,启动开发工具软件,将开发工具软件集成的第三方组件读取到内存,通过开发工具软件模拟建立应用程序运行环境,将应用程序文件加载到应用程序运行环境中,进而,根据应用程序文件的钩子函数将第三方组件从内存注入到应用程序运行环境的全局变量中,通过全局变量调用第三方组件开发应用程序。由此,实现了将第三方组件与开发工具软件进行了解耦,开发工具软件的更新与维护不再与第三方组件互相限制,提升了开发工具软件的应用便利性。

为了实现上述实施例,本发明还提出一种计算机程序产品,包括:处理器,其中,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现上述实施例描述的基于第三方组件库的应用程序开发方法。

为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器被执行时,使得能够执行上述实施例示出的基于第三方组件库的应用程序开发方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1