CN108334360A - 应用程序动态加载的方法、装置、存储介质和计算机设备 - Google Patents
应用程序动态加载的方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN108334360A CN108334360A CN201710567406.1A CN201710567406A CN108334360A CN 108334360 A CN108334360 A CN 108334360A CN 201710567406 A CN201710567406 A CN 201710567406A CN 108334360 A CN108334360 A CN 108334360A
- Authority
- CN
- China
- Prior art keywords
- script
- application program
- server
- download
- sdk
- 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.)
- Withdrawn
Links
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及应用程序动态加载的方法、装置、存储介质和计算机设备。一种应用程序动态加载的方法,所述方法包括:从服务器下载与所述应用程序对应的脚本;调用所述应用程序中预先内置的SDK文件;根据所述SDK文件对下载得到的脚本进行解析;及根据解析后的脚本更新所述应用程序的页面。通过采用脚本语言的方式实现对应用程序的动态加载,能够使得开发人员轻易的掌握,且操作简便,维护成本低,产品更新耗时短,利于产品的推广应用。
Description
技术领域
本发明涉及移动应用开发技术领域,特别是涉及应用程序动态加载的方法、装置、存储介质和计算机设备。
背景技术
由于社会的进步及科技的发展,目前移动电子设备(如手机、平板电脑等)得到了广泛的应用;但针对移动电子设备上已经运行的应用程序,当需要添加新的功能和/或优化时,一般是需要重新发布新版本的应用程序进行升级操作。
虽然目前市场上出现了动态加载系统(如WEEX、React Native等),但其系统本身都比较的庞杂,开发者需要付出很多的时间及精力才能学习掌握,且系统后期的维护成本也较高,这样就使得应用程序开发的成本及更新的耗时非常大,不利于产品的推广应用。
发明内容
基于此,有必要针对上述技术问题,提供一种动态加载方法、装置、存储介质和计算机设备,能够降低应用程序开发的成本及更新的耗时,进而便于产品的推广应用。
一种应用程序动态加载的方法,所述方法包括:
从服务器下载与应用程序对应的脚本;
调用所述应用程序中预先内置的SDK(Software Development Kit,软件开发工具包)文件;
根据所述SDK文件对下载得到的脚本进行解析;及
根据解析后的脚本更新应用程序的页面。
在其中一个实施例中,所述从服务器下载与应用程序对应的脚本,包括:
启动应用程序或者应用程序刷新页面时,检测所述服务器上是否进行过脚本的更新操作;
若所述服务器上进行过所述脚本的更新操作,则从所述服务器下载更新后的与所述应用程序对应的脚本。
在其中一个实施例中,所述服务器中存储有脚本集合,所述脚本集合中的每个脚本根据相应业务或功能需求预先设定生成。
在其中一个实施例中,所述应用程序中预先内置的SDK文件是由开发端预先定制协议并基于定制的协议所定制的SDK文件。
一种应用程序动态加载的装置,所述装置包括:
下载模块,用于从服务器下载与应用程序对应的脚本;
调用模块,用于调用所述应用程序中预先内置的SDK文件;
解析模块,用于根据所述SDK文件对下载得到的脚本进行解析;及
更新模块,用于根据解析后的脚本更新应用程序的页面。
在其中一个实施例中,还包括:
检测模块,用于在启动应用程序或者应用程序刷新页面时,检测所述服务器上是否进行过脚本的更新操作;
其中,若所述检测模块检测到所述服务器上进行过所述脚本的更新操作,则所述下载模块从所述服务器下载更新后的与所述应用程序对应的脚本。
在其中一个实施例中,所述服务器中存储有脚本集合,所述脚本集合中的每个脚本根据相应业务或功能需求预先设定生成。
在其中一个实施例中,所述应用程序中预先内置的SDK文件是由开发端预先定制协议并基于定制的协议所定制的SDK文件。
一种计算机可读存存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一项所述方法的步骤。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一项所述方法的步骤。
上述应用程序动态加载的方法、装置、存储介质和计算机设备,通过采用脚本语言的方式实现对应用程序的动态加载,便于开发人员学习及掌握,且操作简便,维护成本低,更新耗时短,利于产品的推广应用。
附图说明
图1为一个实施例中应用程序动态加载方法的应用环境图;
图2为图1中用户端设备的内部结构图;
图3为一个实施例中应用程序动态加载方法的流程图;
图4为另一个实施例中应用程序动态加载方法的流程图;
图5为一个实施例中应用程序动态加载方法的时序图;
图6为一个实施例中应用程序动态加载装置的结构图;
图7为另一个实施例中应用程序动态加载装置的结构图。
具体实施方式
为了是本发明的目的、技术方法及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并用于限定本发明。
图1为一个实施例中应用程序动态加载方法的应用环境图。如图1所示,该应用环境可包括开发端设备11、第一服务器12、第二服务器13及用户端设备14;开发端设备11可通过网络分别与第一服务器12和第二服务器13通讯连接,而用户端设备14也可通过网络分别与第一服务器12和第二服务器13通讯连接。其中,开发端设备11可为设置有开发工具的计算机等,该开发端设备11可用于定制采用脚本语言实现的有限集合的协议、根据协议定制各个操作平台的应用程序、对应各个操作平台定制用以实现上述协议的SDK文件、打包应用程序并同时植入SDK文件、上传内置有SDK文件的应用程序、根据上述协议及相应业务或产品功能需求预先设定生成脚本等操作;第一服务器12可为各个操作平台运营商的服务器,该第一服务器12可用于接收并存储上述开发端设备11上传的诸如内置有SDK文件的应用程序等数据;第二服务器13可为脚本服务器等伺服设备,该第二服务器13可用于接收并存储上述开发端设备11上传的脚本集合等数据集合;用户端设备14则可为手机、平板电脑、智能穿戴设备等计算机设备,该用户端设备14用于从第一服务器12上下载及安装内置有SDK文件的应用程序,以在应用程序运行时通过该应用程序内置的SDK文件对从第二服务器上下载的与该应用程序对应的脚本进行解析,进而更新应用程序的页面。其中术语“第一服务器”、“第二服务器”仅用于区分不同的服务器,服务器不受术语的限制;例如,第一服务器可被称作为第二服务器。第一服务器12或第二服务器13可以是但不仅限于是部门级服务器、企业级服务器等。
图2为图1中用户端设备的内部结构图。如图2所示,上述的用户端设备可包括通过系统总线连接的诸如处理器、非易失性存储介质、内存储器、网络接口、显示装置和输入装置等。上述的处理器可用于提供计算及控制功能,以支撑整个用户端设备的运行。用户端设备的非易失性存储介质中可存储有操作系统,如IOS操作系统或安卓操作系统;该非易失性存储介质还可包括一用以实现应用程序动态加载方法的动态加载装置。上述的内存储器可为非易失性存储介质中的动态加载装置提供运行环境,该内存储器中可存储有计算机可读取指令,且该计算机可读取指令被上述处理器执行时,可使得处理器执行一种应用程序动态加载方法。网络接口可用于与服务器(如运营商服务器或脚本服务器等)进行网络通信,如可用于从运营商服务器上下载应用程序、从脚本服务器上下载脚本等。上述的显示装置可为液晶显示屏或电子墨水显示屏等;输入装置可以是显示屏上覆盖的触摸层,也可以是用户端设备上设置的诸如物理按键、轨迹球或触控板等,亦可以是外接诸如实体键盘、虚拟键盘、触控板或鼠标等。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成本申请方案所应用于其上的用户端设备的限定,具体的用户端设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图3为一个实施例中应用程序动态加载方法的流程图。如图3所示,一种动态加载方法,可包括如下内容:
步骤S1,从服务器下载与应用程序对应的脚本。
具体地,本实施例中的服务器可为脚本服务器,用以预存储脚本集合;该脚本集合中的每个脚本均可为根据相应的业务(或功能)需求而预先设定的脚本。应用程序可为根据需求定义用户相应动作触发的操作所定制的程序。在应用程序运行时,一旦触发相应的操作,用户端则可从服务器预先存储的脚本集合中下载对应的脚本至本地。
步骤S2,调用应用程序中预先内置的SDK文件。
具体的,本实施例中的SDK文件可为由开发端基于预先定制的协议所定制的SDK文件,并将该SDK文件预先植入应用程序中,以便于后续调用的操作。
步骤S3,根据SDK文件对下载得到的脚本解析。
具体的,应用程序从服务器上下载了与该应用程序操作平台类型相同的脚本后,即可调用该应用程序内置的SDK文件,并根据该SDK文件对下载的脚本进行解析操作。
步骤S4,根据解析后的脚本更新应用程序的页面。
具体的,在进行上述步骤S3后,即根据SDK文件对下载的与应用程序对应的脚本进行解析后得到相应的指令,根据该指令即可实现对应用程序的更新操作,进而实现应用程序的动态加载操作。
在本实施例中,通过采用脚本语言实现SDK文件及脚本的定制,以及利用应用程序内置的SDK文件实现对下载的与该应用程序对应的脚本进行解析,能够有效简化移动应用平台的跨平台动态实时更新的技术复杂度,大大降低开发人员的学习成本及系统后续的维护成本。
图4为另一个实施例中应用程序动态加载方法的流程图。可基于图3及其相关阐述的基础上,如图4所示,上述步骤S1从服务器下载与应用程序对应的脚本可包括:
步骤S11,启动应用程序或应用程序刷新页面。
具体的,用户端在下载并成功安装应用程序后,操作该用户端启动应用程序,或者在应用程序运行的过程中控制该应用程序进行页面刷新操作。
步骤S12,检测服务器上是否进行过脚本的更新操作;若服务器上进行过脚本的更新操作,则继续步骤S13。
具体的,用户端可通过发送询问指令至上述脚本服务器查询是否进行过脚本的更新操作;若脚本服务器返回的讯息为已经进行过脚本的更新操作,则该进行步骤S13;若脚本服务器返回的讯息为未进行过脚本的更新操作,应用程序启动时则调用用户端本地存储的与应用程序对应的脚本进行页面的加载操作,而应用程序进行页面刷新时则不做任何操作,保持当前页面不变。
进一步的,本实施例中的脚本的更新操作可为开发端根据功能或业务需求的变化,对脚本服务器上的脚本集合中的对应的脚本进行更改或者新增脚本至脚本服务器,且该脚本服务器存储更新操作相关的信息,以便于用户端在应用程序启动或页面刷新时进行查询。
步骤S13,从服务器上下载更新后的与该应用程序对应的脚本。
具体的,在脚本服务器上进行过脚本的更新操作后,用户端则根据应用程序的操作平台类型从脚本服务器上下载与该应用程序对应的更新后的脚本,以便于后续利用SDK文件对下载的更新后的脚本进行解析,进而实现应用程序页面的动态加载操作。
在本实施例中,通过每次在应用程序重启或者进行页面刷新等操作后,对服务器进行脚本更新相关操作信息的查询,能够在进行过脚本更新操作后及时的实现对应用程序页面动态的加载操作。同时,也可通过控制脚本的更新操作及应用程序的页面刷新操实现应用程序页面的实时更新操作,进而提升应用程序动态加载的时效性。
图5为一个实施例中应用程序动态加载方法的时序图。参见图5所示,本实施例中体现了从协议的制定开发至后续呈现应用程序页面的动态加载的全过程,其主要是针对由于目前移动应用的操作平台包括如安卓(Android)、IOS(IPhone Operation System)、WP(Windows Phone)、塞班(Symbian)等多个系统而致使应用程序的跨平台开发及应用程序页面动态加载的技术复杂度越来越高所提出的改进。本实施的应用程序动态加载方法可包括如下内容:
首先,开发端根据业务及功能需求上的事先约定定制一些协议,例如根据操作平台的数量及类型等定制诸如一些通用脚本协议集合等。
其次,基于上述定制的协议,开发端定制用以在各个操作平台实现上述定制的协议的SDK文件,并将该SDK文件分别对应植入与其操作平台类型相同的应用程序中。
之后,开发端根据上述定制的协议定制各个操作平台的应用程序,并在对应用程序进行打包的同时植入与该应用程序对应的SDK文件,以将内置有SDK文件的应用程序对应平台类型上传至与之对应的运营商服务器中。
例如,开发端可根据上述定制的协议分别开发同一款应用程序适应安卓操作系统的第一应用程序和适应IOS操作系统的第二应用程序,以及同一款应用程序适应安卓操作系统的第一SDK文件和适应IOS操作系统的第二SDK文件,并在对上述的第一应用程序及第二应用程序进行打包处理的同时,将第一SDK文件植入安卓系统服务器内存储的第一应用程序中,将第二SDK文件植入ISO系统服务器内存储的第二应用程序中;然后,再将内置有第一SDK文件的第一应用程序上传至安卓操作系统的服务器上,而将内置有第二SDK文件的第二应用程序则上传至ISO操作系统的服务器上,以分别对应用于安卓及苹果的手机进行应用程序的下载。其中术语“第一应用程序”、“第二应用程序”仅用于区分适应不同操作平台的应用程序,应用程序不受术语的限制;例如,第一应用程序也可被称作为第二应用程序;术语“第一SDK文件”、“第二SDK文件”仅用于区分适应不同应用程序的SDK文件,SDK文件不受术语的限制;例如,第一SDK文件也可被称作为第二SDK文件。
进一步的,参见图5所示,用户端还可基于业务及功能需求等因子,根据应用程序定制并上传脚本至脚本服务器中,以在脚本服务器中构成一脚本集合;其中,该脚本集合中的每个脚本均可用于实现一个功能或满足一个对应的业务需求。
需要注意的是,在本实施中在完成上述脚本集合的定制后,即是完成了应用程序的跨平台的开发;在本实施例中,通过采用脚本语言进行开发,并基于内置于应用程序中的SDK文件,可实现基于一套系统一次开发的应用程序在不同的操作平台上运行,进而可有效的简化用户端的开发操作。
进一步的,参见图5所示,在脚本服务器上存储有脚本集合及运营商服务器上存储有内置SDK文件的应用程序后,用户端可根据其自身的操作平台类型,从与该用户端对应的运营商服务器上下载上述内置有SDK文件的应用程序,并安装该应用程序。
在成功安装有应用程序的用户端首次运行该应用程序时,对应该应用程序的操作平台类型及相应功能需求等因子,用户端从脚本服务器上的脚本集合中下载与之对应的脚本,并调用该应用程序内置的SDK文件解析上述下载的脚本,进而获取相应的诸如页面功能指令等,以在用户端上呈现该应用程序的初始页面。
进一步的,参见图5所示,后续当需要对应用程序进行升级时,例如根据功能或业务需求的变化需要对应用程序进行优化或增加新功能等时,则可直接通过开发端更新脚本服务器中对应的脚本。用户端则在运行时每次页面刷新后或者再次启动时,下载更新后的脚本,并利用该应用程序内置的SDK文件对上述下载后的与该应用程序对应的脚本进行解析,进而获取需要升级所对应的页面功能指令等,并利用该页面功能指令于应用程序的页面上加载呈现升级后的功能和/或讯息,以实现应用程序页面的动态加载。
在一个实施例中,在上述应用程序每次启动运行或者进行页面刷新后,均需先检测与该应用程序对应的脚本服务器上是否进行过脚本的更新操作,并在确定脚本服务器上进行过脚本的更新操作后,对更新后的脚本进行上述的下载解析操作。
下面结合具体的跨平台开发/动态加载的例子进行详细说明:
首先,根据业务需求等相关因子制定包括两个协议的协议集合,该两个协议实现的方法可为:
-(void)showPhotoWithPhotoURL:(URL)photoURL andJumpURL:(URL)jumpURLandStyle:(Style)style;
-(void)showAlertWhithtext:(String)text;
其次,制定各个操作平台(如安卓、IOS、WP等)上能实现上述两个协议的SDK文件,并将该SDK文件对应植入到各个操作平台已经开发的应用程序中,并将应用程序上传至运营商服务器中;同时,将根据需求编写的脚本存储至脚本服务器中,该脚本服务器的地址定义为:http://example/script。
之后,用户端在从运营商服务器中下载并安装应用程序后,运行应用程序时从上述脚本服务器的地址下载对应的脚本。
然后,可设定上述的用户端再从脚本服务器的地址:http://example/script下载脚本后,进行页面刷新操作;同时,每次程序运行或刷新页面后,都可通过发送header请求至上述脚本服务器地址,以判定脚本有无更新操作。
例如,预定义一个页面,且进入该页面会展示一张由运营自定义的一张图片和链接,由于预定义的每个平台都实现了上述的通用协议,因此可下发一个脚本(即向脚本服务器中写入一个预定义脚本):
showPhotoWithPhotoURL:photoURL andJumpURL:jumpURL andStyle:style。
后续,当每个操作平台上应用程序运行时,即应用程序的页面打开是均访问地址:http://example/script,并从上述地址上下载脚本;由于各个平台上的应用程序中均植入有与该操作平台类型对应的SDK文件(即各个操作平台均实现了上述的通用协议),故可利用其自带的SDK文件对下载的脚本进行适应性的解析,以将脚本对应的功能和/或讯息予以呈现。
进一步的,后续由于业务变化或新增了需求,要求在上述的页面上增加一个弹窗,以告知该页面内容的有效期,则可直接通过开发端将上述脚本服务器中预定义脚本更改为:
showPhotoWithPhotoURL:photoURL andJumpURL:jumpURL andStyle:style;
showAlertWhithtext:(String)text。
当上述每个平台上的应用程序刷新或重新运行时,其均会访问脚本服务器地址:http://example/script,而由于每次程序运行或刷新页面后,都会通过发送header请求至上述脚本服务器地址,以判定脚本有无更新操作;此时,判定上述脚本服务器有更新操作后,则会从脚本服务器上下载更改后的脚本;同样的,由于各个操作平台上的应用程序中均植入有与该操作平台类型对应的SDK文件,故其利用该应用程序内置的SDK文件对下载的更新后的脚本进行适应性的解析后,以在应用程序的页面上显示出图片并弹出一个通知期限的弹窗。
在本实施例中,由于在采用脚本语言开发相应协议、SDK文件、应用程序及脚本等,能够有效的简化应用程序的跨平台开发,同时又能轻便的实现应用程序的动态实时更新,不仅大大降低了开发人员的学习及维护成本,还使得系统具有较强的灵活性,便于产品的推广应用。
图6为一个实施例中应用程序动态加载装置的结构图。如图6所示,一种应用程序动态加载装置,可包括以下内容:
下载模块21,可用于从服务器下载预置有SDK文件的应用程序,以及与该应用程序对应的脚本等;
调用模块22,可用于调用上述的应用程序中内置的SDK文件;
解析模块23,分别与上述的下载模块21及调用模块22通讯连接,该解析模块23可用于根据SDK文件对下载的与该应用程序对应的脚本进行解析;以及
更新模块24,与上述的解析模块23通讯连接,该更新模块24可用于根据解析模块23解析后的脚本更新应用程序的页面。
具体的,在对服务器中存储的脚本进行更新后,应用程序进行诸如页面刷新等操作时,下载模块21从服务器(如脚本服务器)上下载更新后的脚本,调用模块22则根据下载的更新后的脚本调用与之对应的应用程序中内置的SDK文件,解析模块23则根据调用的SDK文件对上述下载的更新后的脚本进行解析,而更新模块24则根据解析模块23解析后获取的诸如操控或增加新功能等指令对应用程序的页面进行动态加载操作。
图7为另一个实施例中应用程序动态加载装置的结构图。如图7所示,可基于图6所示结构及相关阐述的基础上,本实施例中的应用程序动态加载装置还可包括与下载模块21通信连接的检测模块25,该检测模块25可用于在启动上述的应用程序或者应用程序刷新页面时,检测上述服务器(如脚本服务器)中是否进行过脚本的更新操作;其中,若检测模块25检测到服务器上进行过脚本的更新操作,则下载模块21则从服务器上下载更新后的与该应用程序对应的脚本。
在一个实施例中,上述的脚本集合中的每个脚本以及更新后的脚本等均可为根据相应业务或功能需求预先设定生成的脚本。
在一个实施例中,上述的应用程序中预先内置的SDK可以是由开发端预先定制的协议并基于定制的协议所定制的SDK文件。
在一个实施例中,上述的更新操作可为开发端对脚本服务器中已经存储的脚本进行修改后的脚本,或者为根据功能或业务需求新增的脚本等。
参见图2所示,一种计算机可读存存储介质,其上可存储有计算机程序,该程序被处理器执行时可实现以下步骤:从服务器下载与应用程序对应的脚本;调用应用程序中预先内置的SDK文件;根据SDK文件对下载得到的脚本进行解析;及根据解析后的脚本更新应用程序的页面。
一个实施例中,上述从服务器下载与应用程序对应的脚本的步骤可包括:启动应用程序或者应用程序刷新页面时,检测服务器上是否进行过脚本的更新操作;若服务器上进行过脚本的更新操作,则从服务器下载更新后的与应用程序对应的脚本。
一个实施例中,上述服务器中存储有脚本集合,该脚本集合中的每个脚本根据相应业务或功能需求预先设定生成。
一个实施例中,应用程序中预先内置的SDK文件可以是由开发端基于预先定制的协议所定制的SDK文件。
上述对于计算机可读存介质的限定可以参见上文中对于应用程序动态加载方法的具体限定,在此不再赘述。
继续参见图2所示,一种计算机设备,例如用户终端设备,可包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中该存储器可以包括非易失性存储介质以及内存储器,上述计算机程序可以存储在非易失性存储介质中;处理器执行上述计算机程序时可实现以下步骤:从服务器下载与应用程序对应的脚本;调用应用程序中预先内置的SDK文件;根据SDK文件对下载得到的脚本进行解析;及根据解析后的脚本更新应用程序的页面。
一个实施例中,上述从服务器下载与应用程序对应的脚本的步骤可包括:启动应用程序或者应用程序刷新页面时,检测服务器上是否进行过脚本的更新操作;若服务器上进行过脚本的更新操作,则从服务器下载更新后的与应用程序对应的脚本。
一个实施例中,上述服务器中存储有脚本集合,该脚本集合中的每个脚本根据相应业务或功能需求预先设定生成。
一个实施例中,应用程序中预先内置的SDK文件可以是由开发端基于预先定制的协议所定制的SDK文件。
上述对于计算机设备的限定可以参见上文中对于应用程序动态加载方法的具体限定,在此不再赘述。
需要说明的是,实现上述方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该程序可存储于一计算机可读取存储介质中;上述的程序在执行时,可包括如上述各方法的实施例的流程。其中,上述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,简称ROM)或随机存储记忆体(Random Access Memory,简称RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种应用程序动态加载的方法,其特征在于,所述方法包括:
从服务器下载与应用程序对应的脚本;
调用所述应用程序中预先内置的SDK文件;
根据所述SDK文件对下载得到的脚本进行解析;及
根据解析后的脚本更新所述应用程序的页面。
2.根据权利要求1所述的方法,其特征在于,所述从服务器下载与应用程序对应的脚本,包括:
启动所述应用程序或者所述应用程序刷新页面时,检测所述服务器上是否进行过脚本的更新操作;
若所述服务器上进行过所述脚本的更新操作,则从所述服务器下载更新后的与所述应用程序对应的脚本。
3.根据权利要求1所述的方法,其特征在于,所述服务器中存储有脚本集合,所述脚本集合中的每个脚本根据相应业务或功能需求预先设定生成。
4.根据权利要求1所述的方法,其特征在于,所述应用程序中预先内置的SDK文件是由开发端基于预先定制的协议所定制的SDK文件。
5.一种应用程序动态加载的装置,其特征在于,所述装置包括:
下载模块,用于从服务器下载与应用程序对应的脚本;
调用模块,用于调用所述应用程序中预先内置的SDK文件;
解析模块,用于根据所述SDK文件对下载得到的脚本进行解析;及
更新模块,用于根据解析后的脚本更新应用程序的页面。
6.根据权利要求5所述的装置,其特征在于,还包括:
检测模块,用于在启动应用程序或者应用程序刷新页面时,检测所述服务器上是否进行过脚本的更新操作;
其中,若所述检测模块检测到所述服务器上进行过所述脚本的更新操作,则所述下载模块从所述服务器下载更新后的与所述应用程序对应的脚本。
7.根据权利要求5所述的装置,其特征在于,所述服务器中存储有脚本集合,所述脚本集合中的每个脚本根据相应业务或功能需求预先设定生成。
8.根据权利要求5所述的装置,其特征在于,所述应用程序中预先内置的SDK文件是由开发端预先定制协议并基于定制的协议所定制的SDK文件。
9.一种计算机可读存存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~4中任意一项所述方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~4中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710567406.1A CN108334360A (zh) | 2017-07-12 | 2017-07-12 | 应用程序动态加载的方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710567406.1A CN108334360A (zh) | 2017-07-12 | 2017-07-12 | 应用程序动态加载的方法、装置、存储介质和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108334360A true CN108334360A (zh) | 2018-07-27 |
Family
ID=62923061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710567406.1A Withdrawn CN108334360A (zh) | 2017-07-12 | 2017-07-12 | 应用程序动态加载的方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108334360A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109358973A (zh) * | 2018-09-29 | 2019-02-19 | 网易(杭州)网络有限公司 | 信息处理方法、系统、介质和计算设备 |
CN111475171A (zh) * | 2019-01-23 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 应用程序组件下载方法、装置、电子设备 |
CN111596935A (zh) * | 2020-04-27 | 2020-08-28 | 五八有限公司 | 一种脚本打包方法、装置、电子设备及存储介质 |
CN114115813A (zh) * | 2020-08-10 | 2022-03-01 | 奇安信科技集团股份有限公司 | Web应用的插件开发方法、装置、电子设备、介质和程序 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788917A (zh) * | 2010-02-26 | 2010-07-28 | 浪潮(北京)电子信息产业有限公司 | 一种部署应用软件的方法和系统 |
CN102362272A (zh) * | 2009-03-25 | 2012-02-22 | 微软公司 | 移动应用程序的设备相关的按需编译和部署 |
CN103176809A (zh) * | 2011-12-23 | 2013-06-26 | 腾讯科技(深圳)有限公司 | 应用升级方法及系统 |
CN103297275A (zh) * | 2013-06-08 | 2013-09-11 | 烽火通信科技股份有限公司 | Web网管客户端模块动态发现与加载的系统及方法 |
CN105511889A (zh) * | 2016-01-15 | 2016-04-20 | 珠海金山网络游戏科技有限公司 | 一种通用的游戏版本增量更新系统和方法 |
CN105511902A (zh) * | 2015-11-09 | 2016-04-20 | Tcl集团股份有限公司 | 一种安卓平台模块动态加载的方法及系统 |
CN106155729A (zh) * | 2015-04-21 | 2016-11-23 | 阿里巴巴集团控股有限公司 | Lua脚本热更新方法、装置及系统 |
-
2017
- 2017-07-12 CN CN201710567406.1A patent/CN108334360A/zh not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102362272A (zh) * | 2009-03-25 | 2012-02-22 | 微软公司 | 移动应用程序的设备相关的按需编译和部署 |
CN101788917A (zh) * | 2010-02-26 | 2010-07-28 | 浪潮(北京)电子信息产业有限公司 | 一种部署应用软件的方法和系统 |
CN103176809A (zh) * | 2011-12-23 | 2013-06-26 | 腾讯科技(深圳)有限公司 | 应用升级方法及系统 |
CN103297275A (zh) * | 2013-06-08 | 2013-09-11 | 烽火通信科技股份有限公司 | Web网管客户端模块动态发现与加载的系统及方法 |
CN106155729A (zh) * | 2015-04-21 | 2016-11-23 | 阿里巴巴集团控股有限公司 | Lua脚本热更新方法、装置及系统 |
CN105511902A (zh) * | 2015-11-09 | 2016-04-20 | Tcl集团股份有限公司 | 一种安卓平台模块动态加载的方法及系统 |
CN105511889A (zh) * | 2016-01-15 | 2016-04-20 | 珠海金山网络游戏科技有限公司 | 一种通用的游戏版本增量更新系统和方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109358973A (zh) * | 2018-09-29 | 2019-02-19 | 网易(杭州)网络有限公司 | 信息处理方法、系统、介质和计算设备 |
CN111475171A (zh) * | 2019-01-23 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 应用程序组件下载方法、装置、电子设备 |
CN111475171B (zh) * | 2019-01-23 | 2024-04-12 | 阿里巴巴集团控股有限公司 | 应用程序组件下载方法、装置、电子设备 |
CN111596935A (zh) * | 2020-04-27 | 2020-08-28 | 五八有限公司 | 一种脚本打包方法、装置、电子设备及存储介质 |
CN114115813A (zh) * | 2020-08-10 | 2022-03-01 | 奇安信科技集团股份有限公司 | Web应用的插件开发方法、装置、电子设备、介质和程序 |
CN114115813B (zh) * | 2020-08-10 | 2024-09-20 | 奇安信科技集团股份有限公司 | Web应用的插件开发方法、装置、电子设备、介质和程序 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105100191B (zh) | 一种云编译实现Java应用安装的方法、装置及系统 | |
CN102622241B (zh) | 一种软件升级方法及装置 | |
CN109739523B (zh) | 应用程序打包方法、装置、存储介质及终端 | |
CN108334360A (zh) | 应用程序动态加载的方法、装置、存储介质和计算机设备 | |
US20110154305A1 (en) | System and method for remotely compiling multi-platform native applications for mobile devices | |
CN107526605B (zh) | 实现应用程序加载服务组件的方法和装置 | |
CN111427596B (zh) | 一种软件升级的方法、装置及终端设备 | |
CN110096424B (zh) | 测试的处理方法、装置、电子设备及存储介质 | |
CN103970563B (zh) | 动态加载安卓类的方法 | |
CN110113391B (zh) | 一种客户端上线方法、装置及一种客户端运行方法、装置 | |
CN107783795A (zh) | 应用程序启动方法、装置、计算机设备和存储介质 | |
CN103443763B (zh) | 包含对重写虚拟函数的调用的支持的isa桥接 | |
CN109408136A (zh) | 信息处理方法、装置、存储介质及电子设备 | |
WO2020206691A1 (zh) | 应用程序的处理方法、装置、存储介质及电子设备 | |
CN108363528A (zh) | 应用页面的启动方法、装置、存储介质及电子设备 | |
CN104052769B (zh) | 一种对移动终端应用包含的资源更新的方法、装置和系统 | |
CN108228230A (zh) | Ufs固件的升级方法、终端及计算机可读存储介质 | |
CN110069308A (zh) | 页面启动方法、装置、电子设备和存储介质 | |
CN108089873A (zh) | 一种应用组件即时更新的方法及终端 | |
CN104461559B (zh) | 浏览器与移动终端之间进行通信的方法及浏览器装置 | |
CN106502717A (zh) | 应用程序运行方法及装置 | |
CN111459506A (zh) | 深度学习平台集群的部署方法、装置、介质及电子设备 | |
CN108089870A (zh) | 用于修复应用的方法和装置 | |
CN110716786B (zh) | 一种页面展示方法、系统及存储介质 | |
US10193737B2 (en) | Method for performing communication between browser and mobile terminal, and browser apparatus |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180727 |