WO2018095306A1 - 应用程序页面处理方法、装置及存储介质 - Google Patents
应用程序页面处理方法、装置及存储介质 Download PDFInfo
- Publication number
- WO2018095306A1 WO2018095306A1 PCT/CN2017/112060 CN2017112060W WO2018095306A1 WO 2018095306 A1 WO2018095306 A1 WO 2018095306A1 CN 2017112060 W CN2017112060 W CN 2017112060W WO 2018095306 A1 WO2018095306 A1 WO 2018095306A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- page
- application
- sub
- common
- container
- Prior art date
Links
Images
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- 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
-
- 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/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/482—Application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/545—Gui
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种应用程序页面处理方法,该方法包括:在终端的操作系统上运行母应用程序(S11);所述母应用程序利用多个子应用程序页面的公共资源生成公共页面容器(S12),所述公共资源包括所述多个子应用程序页面共有的页面数据;响应于切换至一子应用程序页面的事件,在所述公共页面容器中加载所述子应用程序页面的独立资源(S13),所述独立资源包括所述子应用程序页面中除所述公共资源以外的页面数据;根据所述公共页面容器生成并显示所述子应用程序页面(S14)。此外,提供了相应的装置及存储介质。
Description
本申请要求于2016年11月25日提交中国专利局、申请号为201611062086.6、申请名称为“应用程序页面处理方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本发明实施例涉及计算机技术领域,特别是涉及一种应用程序页面处理方法、装置及存储介质。
应用程序是为了得到某种结果而可以由计算机等具有信息处理能力的终端执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。目前,用户可以在终端上安装各种应用程序,如拍照应用程序、社交应用程序或者邮件应用程序等,从而通过终端上安装的这些应用实现各种功能,如拍照功能、社交功能或者电子邮件管理功能等。应用程序在启动后生成应用程序页面。收到用户切换应用程序页面的指令后,加载新的应用程序页面。
技术内容
基于此,本申请实施例提供一种应用程序页面处理方法、装置及存储介质。
本申请实施例提供了一种应用程序页面处理方法,应用于终端,其特征在于,包括:
在所述终端的操作系统上运行母应用程序;
所述母应用程序利用多个子应用程序页面的公共资源生成公共页面容器,所述公共资源包括所述多个子应用程序页面共有的页面数据;
响应于切换至一子应用程序页面的事件,在所述公共页面容器中加载所述子应用程序页面的独立资源,所述独立资源包括所述子应用程序页面中除所述公共资源以外的页面数据;
根据所述公共页面容器生成并显示所述子应用程序页面。
本申请实施例还提供了应用程序页面处理装置,包括处理器和存储器,所述存储器包括计算机可读指令,可以使所述处理器执行用于:
在所述终端的操作系统上运行母应用程序;
所述母应用程序利用多个子应用程序页面的公共资源生成公共页面容器,所述公共资源包括所述多个子应用程序页面共有的页面数据;
响应于切换至一子应用程序页面的事件,在所述公共页面容器中加载所述子应用程序页面的独立资源,所述独立资源包括所述子应用程序页面中除所述公共资源以外的页面数据;
根据所述公共页面容器生成并显示所述子应用程序页面。
本申请实例还提供了一种计算机可读存储介质,存储有计算机可读指令,可以使至少一个处理器执行如上述所述的方法。
图1A为本申请实施例中的系统图;
图1B为本申请实施例的终端的示意图;
图1C为本申请实施例的一种应用程序页面处理方法的流程图;
图1D为本申请实施例的母应用程序的第一用户界面;
图1E为本申请实施例的母应用程序的第二用户界面;
图1F为本申请实施例公共页面容器对应的空白页面示意图;
图1G为本申请实施例子应用程序页面的结构示意图;
图2本申请实施例的应用程序页面处理方法的流程图;
图3A为本发明实施例中应用程序处理系统的应用环境图;
图3B为本发明实施例中终端的内部结构示意图;
图3C为本发明实施例中应用程序处理方法的流程示意图;
图4为本发明实施例中操作系统、母应用程序、子应用程序以及子应用程序页面之间关系的示意图;
图5为本发明实施例中根据预加载的公共页面容器生成默认子应用程序页面并预加载新的公共页面容器的步骤的流程示意图;
图6为本发明实施例中在公共页面容器中加载确定的页面标识所对应的子应用程序页面独立资源的步骤的流程示意图;
图7为本发明实施例中在公共页面容器中加载确定的页面标识所对应的子应用程序页面独立资源的步骤的流程示意图;
图8为本发明实施例中操作系统、母应用程序、子应用程序视图层处理单元和子应用程序逻辑层处理单元的关系示意图;
图9为本发明实施例中应用程序页面处理方法的流程示意图;以及
图10为本发明实施例中应用程序页面处理装置的结构框图。
为了使本发明实施例的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。
图1A为本申请实施例的系统示意图。如图1A所示,该系统100可以包括:终端110、服务器120和网络104。各实施例中,系统100中可以包括多个终端,图1A中仅以终端110为例来说明各实施例的方案。
终端110可以通过网络104与服务器进行通信以获得服务器提供的服务。终端110可以是智能手机、平板电脑、笔记本电脑、PC等终端设备。图1B为本申请实施例的终端的示意图。如图1B所示,终端110可以包括处理器105、存储器106、网络接口109。各组件可以通过互联机构108进行通信。
终端110可以通过网络接口109连接到网络104,并与网络104中的其它设备进行通信。
处理器105可以包括一个或者多个处理器。每个处理器可以是单核处理器,也可以是多核处理器。处理器105可以通过执行存储器106中存储的计算机可读指令来实现各种功能。
存储器106可以包括一个或多个存储设备。存储器106中可以包括操作系统160、网络通信模块161、母应用程序162、数据107。母应用程序162可以是操作系统160上运行的应用程序。母应用程序162可以通过网络104与服务器进行通信,从服务器获取数据,从而为终端110的用户提供服务。
一些实施例中,母应用程序162可以为来自母应用程序162外部的应用程序(以下称为子应用程序)提供入口,并在母应用程序162中运行子应用程序。一些例子中,母应用程序由服务器120提供,各子应用程序可以分别由多个第三方设备130提供。这样,使得母应用程序162和子应用程序可相互独立地开发,并且子应用程序可以在母应用程序162提供的平台中进行传播。例如,母应用程序162可以是即时通讯应
用、社交应用,等;子应用程序可以是各种为用户的工作、生活、娱乐提供各种服务的应用程序,可以提供例如汇率查询、词典、笔记、日程提醒、外卖等各种服务。
一些实施例中,子应用程序可以以网页(例如HTML5,简称H5,页面)的形式为用户提供服务。此时,母应用程序162可以利用内嵌的浏览器代码打开子应用程序对应的页面,执行页面数据中的处理逻辑,从而为用户提供子应用程序的功能。一个子应用程序可以对应一个或多个页面,这些页面统称为子应用程序页面。
各实施例中,母应用程序162可以包括公共页面容器生成模块163、独立资源加载模块164、页面生成模块165。
公共页面容器生成模块163可以生成公共页面容器。例如,存储器106中存储的数据107可以包括公共资源数据171。公共页面容器生成模块163可以从公共资源数据171中获取公共资源,并利用公共资源生成公共页面容器。
独立资源加载模块164可以在公共页面容器中加载子应用程序页面的独立资源。例如,响应于切换至一子应用程序页面的事件,在所述公共页面容器中加载该子应用程序页面的独立资源。
页面生成模块165可以利用加载有独立资源的公共页面容器生成并显示子应用程序页面。
公共资源是指多个子应用程序页面共有的页面数据。公共资源可以是母应用程序中预先设置的用于提供子应用程序页面基本功能的数据。例如,公共资源可以包括渲染引擎、公共代码库或者SDK(Software Development Kit,软件开发工具包)等。公共代码库中的代码可以包括脚本代码、原生语言代码、标记语言代码等。标记语言代码可以包括HTML(HyperText Markup Language,超文本标记语言)代码、CSS
(Cascading Style Sheets,层叠样式表)代码等。脚本代码可以包括JavaScript代码,等。
公共页面容器是一个页面的数据。利用公共资源生成的公共页面容器对应一个空白页面。该空白页面可以具有基本的页面功能,这些基本的页面功能由公共资源提供。公共页面容器还可以包括用于生成子应用程序页面的代码指令,例如,渲染引擎的指令代码等。
子应用程序页面的独立资源是子应用程序页面中除公共资源之外的页面数据。一些例子中,独立资源可以是子应用程序的开发者提供的页面数据。子应用程序的开发者可以是与母应用程序的开发者不同的第三方服务提供者。独立资源可以包括页面布局数据、页面组件数据、处理逻辑代码,等。在公共页面容器中加载子应用程序页面的独立资源后,公共页面容器对应的数据即为该子应用程序页面的数据。利用加载了独立资源的公共页面容器进行页面渲染,即可生成该子应用程序页面的渲染数据,在显示设备上显示该子应用程序页面。独立资源加载模块164可以从服务器120或者第三方设备130中获取该独立资源。例如,第三方设备130可以将子应用程序页面的独立资源提供给服务器120,服务器120存储各子应用程序页面的独立资源,在接收到来自终端110的获取请求时,将被请求的独立资源提供给终端110。又例如,终端110可以从服务器获取该子应用程序对应的第三方设备的信息,根据该信息从第三方设备获取该子应用程序页面的独立资源。这里仅为举例,其它实施例可以采用不同的获取独立资源的方式。
图1C为本申请实施例的一种应用程序页面处理方法的流程图。该方法10可以由终端110执行。如图1C所示,该方法可以包括以下步骤。
S11:在所述终端的操作系统上运行母应用程序。
S12:所述母应用程序利用各子应用程序页面之间的公共资源生成
公共页面容器,所述公共资源包括所述多个子应用程序页面共有的页面数据。
S13:响应于切换至一子应用程序页面的事件,在所述公共页面容器中加载所述子应用程序页面的独立资源,所述独立资源包括所述子应用程序页面中除所述公共资源以外的页面数据。
子应用程序页面是各子应用程序的各种页面的统称。
各实施例中,切换至一子应用程序页面的事件可以指接收到用户在母应用程序的界面中发出的运行某一子应用程序的指令,或者接收到用户在某一子应用程序的页面中发出的切换至该子应用程序的另一页面的指令,或者接收到用户在某一子应用程序的页面中发出的切换至另一子应用程序的指令。
各实施例中,当该事件为切换至当前未运行的子应用程序的事件时,可以在所述公共页面容器中加载该子应用程序的默认页面(例如,主页、欢迎页,等)的独立资源。
S14:根据所述公共页面容器生成并显示所述子应用程序页面。
终端设备根据加载子应用程序页面独立资源的公共页面容器生成页面渲染数据,从而利用页面渲染数据渲染出相应的子应用程序页面。
例如,终端110中可以运行一母应用程序,展示如图1D所示的该母应用程序的第一用户界面。母应用程序可以利用各子应用程序页面之间的公共资源生成公共页面容器。此时,公共页面容器对应一空白页面的数据。例如,该空白页面可以如图1F所示。该空白页面并未显示在终端110的显示设备上,只是暂时以公共页面容器的形式存储在终端110的存储器中。该空白页面中,部件305、306均为公共资源提供的页面组件,各子应用程序页面均具有这些部件。空白页面中还包括对应组件306的处理逻辑,根据该处理逻辑,当接收到对部件306的点击事件时,
可以展示弹出窗口307。弹出窗口307的组件及其处理逻辑也公共资源中预先定义的。
响应于对第一用户界面中界面组件302的点击事件,终端110展示如图1E所示的母应用程序的第二用户界面。第二用户界面中展示有子应用程序列表。列表中包括第一子应用程序的入口303和第二子应用程序的入口304。该例中,第一子应用程序为一共享单车应用,第二子应用程序为一第三方消费点评应用。
响应于对第二用户界面中第一子应用程序的入口303的点击事件(即,切换至第一子应用程序的页面的事件),母应用程序可以在公共页面容器中加载第一子应用程序页面的独立资源,并利用已加载了所述独立资源的公共页面容器生成渲染数据,使终端110展示如图1G所示的第一子应用程序页面。一些例子中,母应用程序可以从服务器获取第一子应用程序页面的独立资源,独立资源中可以包括页面组件的数据以及页面的处理逻辑。如图1G所示,独立资源包括的页面组件包括组件307、组件308,及其处理逻辑。母应用程序运行组件307的处理逻辑,从第三方设备获取终端110当前位置附近的共享单车的分布地图,并展示在组件307中。当接收到对组件308的点击事件时,母应用程序运行组件308的处理逻辑,调用终端110中的摄像头和母应用程序中的二维码扫描逻辑,实现共享单车的扫码开锁。
本申请实施例中,母应用程序预先利用多个子应用程序页面的公共资源生成公共页面容器,当检测到切换至一子应用程序页面的事件时,再在公共页面容器中加载该子应用程序页面的独立资源,提高了子应用程序的运行效率。
在一些实例中,在生成第一子应用程序页面时,母应用程序可以为后续可能的页面切换进行准备。图2为本申请实施例的应用程序页面处
理方法的流程图。该方法20可以包括以下步骤。
S21:生成第一子应用程序页面时,生成第二公共页面容器。
S22:响应于切换至第二子应用程序页面的事件,在第二公共页面容器中加载所述第二子应用程序页面的独立资源。
S23:根据所述第二公共页面容器生成并显示所述第二子应用程序页面。
一些实例中,生成第二公共页面容器时,可以利用所述公共资源创建所述第二公共页面容器。即,创建一个新的公共页面容器作为第二公共页面容器。
一些实例中,生成第二公共页面容器时,可以从已加载第二独立资源的第三公共页面容器中去除第二独立资源,得到所述第二公共页面容器。即,重用一个已有的公共页面容器。
例如,母应用程序创建了两个公共页面容器,例如第一公共页面容器和第三公共页面容器。
响应于切换到第一子应用程序页面的事件,在第一公共页面容器中加载第一子应用程序页面的第一独立资源。
响应于切换到第二子应用程序页面的事件,在第三公共页面容器中加载第二子应用程序页面的第二独立资源。
响应于切换到第三子应用程序的事件,从第一公共页面容器中去除第一独立资源(这里用第二公共页面容器表示去除了第一独立资源的第一公共页面容器),在第二公共页面容器中加载第三子应用程序页面的第三独立资源。
一些实例中,当切换至一子应用程序页面的事件是切换至一当前未运行的子应用程序的子应用程序页面的事件时,可以获取该子应用程序的默认子应用程序页面的独立资源,生成并显示该默认子应用程序页
面。
默认子应用程序页面是启动子应用程序时默认进入的子应用程序页面,可以是第三方开发子应用程序时所指定的子应用程序页面,也可以是上次使用子应用程序退出时的子应用程序页面。检测到切换至一子应用程序的事件时,获取该子应用程序的标识,根据该子应用程序的标识获取该子应用程序的默认子应用程序页面的页面标识,根据该默认子应用程序页面的页面标识查找到默认子应用程序页面的独立资源。
默认子应用程序页面的独立资源可从服务器120或该子应用程序对应的第三方设备130获取,也可以从终端110获取。默认子应用程序页面的独立资源可在第一次运行该子应用程序时下载到终端110中,并保存。保存的独立资源可以在收到服务器或第三方设备的更新通知后进行更新,也可以由母应用程序以预设的时间间隔向服务器或第三方设备查询更新。
一些实例中,母应用程序在获取子应用程序页面的独立资源时,可以从服务器获取第三方设备提供的子应用程序页面的配置文件,从配置文件中获取该子应用程序页面的页面组件信息;根据所述页面组件信息获取各页面组件的数据,将该各页面组件的数据加载到所述公共页面容器中。
子应用程序页面配置文件是对子应用程序页面进行描述的文件。子应用程序页面配置文件可以是源代码或者是将源代码编译后得到的文件。配置文件中可以包括子应用程序页面上包含的组件的信息,根据子应用程序页面的配置文件,可以确定子应用程序页面上的组件。母应用程序可以从终端110、服务器120或第三方设备130获取子应用程序页面的配置文件。
一些实例中,母应用程序根据页面组件信息获取各页面组件的数据
时,可以从所述配置文件中获取所述子应用程序页面中的公共组件标识,在公共页面容器中加载母应用程序中该公共组件标识对应的公共组件的数据。
公共组件是母应用程序所提供的可供不同的子应用程序共用的页面组件。页面组件可以包括显示组件和/或处理逻辑。母应用程序可以从终端110的存储器106中存储的数据中获得公共组件数据172。通过在配置文件中包括公共组件的信息,子应用程序可以使用母应用程序提供的公共组件。
一些实例中,响应于对子应用程序页面中的公共组件的操作,母应用程序可以执行所述公共组件对应的处理逻辑。例如,一些公共组件中封装有用于处理针对该公共组件所触发事件的逻辑代码。当该公共组件为一控件时,当点击该控件时,母应用程序可以执行该控件封装的逻辑代码,以执行相应的操作。
一些实例中,母应用程序在获取子应用程序页面的独立资源时,可以从服务器获取第三方设备提供的所述子应用程序页面的业务逻辑代码,通过运行所述业务逻辑代码以获取业务数据,将该业务数据加载到所述公共页面容器中。业务逻辑代码是指子应用程序页面包括的处理逻辑的代码。业务逻辑代码可以是原生语言代码或者脚本代码。脚本代码如JavaScript代码。业务逻辑代码可从本地或者服务器获取。业务逻辑代码是开发子应用程序的第三方设备提供的,第三方设备将子应用程序页面的业务逻辑代码上传到服务器。
图3A为本发明实施例中应用程序处理系统的应用环境图。参照图3A,该应用程序处理系统包括终端110和服务器120。
其中,服务器120上存储有生成子应用程序页面所需的文件,如与子应用程序标识对应的子应用程序全局逻辑文件、子应用程序全局配置
文件、子应用程序页面配置文件和页面样式文件。服务器120上还存储有页面预加载配置信息。该页面预加载配置信息记录了子应用程序页面之间的预加载关系。例如,该预加载关系可以包括,在展示子应用程序页面1时预加载子应用程序页面2,在展示子应用程序页面2时预加载子应用程序页面3,等。
终端110上运行操作系统,操作系统上运行母应用程序。终端110通过该母应用程序实施应用程序页面处理方法,以通过该母应用程序实现子应用程序页面。终端110具体可通过母应用程序创建子应用程序逻辑层处理单元和相应的子应用程序视图层处理单元。子应用程序视图层处理单元可用于生成子应用程序页面。
在一个实施例中,终端110可通过子应用程序逻辑层处理单元将不同的子应用程序页面之间的公共资源预加载为公共页面容器;确定与已生成的子应用程序页面的子应用程序页面标识(以下简称页面标识)存在预加载关系的页面标识;在公共页面容器中加载确定的页面标识所对应的子应用程序页面独立资源。终端110可通过子应用程序视图层处理单元获取用于切换至确定的页面标识所对应的子应用程序页面的事件,并将事件传递至子应用程序逻辑层处理单元。子应用程序逻辑层处理单元对事件进行响应,将根据已加载子应用程序页面独立资源的公共页面容器生成的页面渲染数据传递至子应用程序视图层处理单元。终端110可通过子应用程序视图层处理单元并根据页面渲染数据生成子应用程序页面。
图3B为一个实施例中终端的内部结构示意图。参照图3B,该终端包括通过系统总线连接的处理器、非易失性存储介质、内存储器、网络接口、显示屏和输入装置。其中,终端的非易失性存储介质存储有操作系统,还存储有一种应用程序页面处理装置,该应用程序页面处理装置
用于实现一种应用程序页面处理方法。终端的处理器用于提供计算和控制能力,支撑整个终端的运行。终端中的内存储器为非易失性存储介质中的应用程序页面处理装置的运行提供环境。该内存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种应用程序页面处理方法。终端的网络接口用于与服务器进行网络通信,如下载页面预加载配置信息。终端的显示屏可以是液晶显示屏或者电子墨水显示屏,终端的输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。该终端可以是个人计算机或移动终端,移动终端如手机、平板电脑、个人数字助理或者穿戴式设备等。本领域技术人员可以理解,图3B中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图3B中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图3C为一个实施例中应用程序处理方法30的流程示意图。本实施例以该方法应用于上述图3B中的终端110来举例说明。该方法30可以包括如下步骤。
S32,在母应用程序提供的环境中将不同的子应用程序页面之间的公共资源预加载为公共页面容器;母应用程序运行于操作系统上。
各实施例中,“在母应用程序提供的环境中将公共资源预加载为公共页面容器”是指,母应用程序在获取到用于切换至子应用程序页面的事件之前,利用子应用程序页面的公共资源生成公共页面容器。
参照图4,终端上运行操作系统,并在操作系统上运行母应用程序,在母应用程序提供的环境中生成子应用程序页面,子应用程序页面实现子应用程序的功能。其中,操作系统(Operating System,简称OS)是
管理和控制终端硬件与软件资源的计算机程序,是直接运行在终端裸机上的最基本的系统软件,应用程序需要在操作系统的支持下运行。
母应用程序是承载子应用程序的应用程序,为子应用程序的实现提供环境。母应用程序是原生应用程序。原生应用程序是可直接运行于操作系统的应用程序。子应用程序则是可在母应用程序提供的环境中实现的应用程序。母应用程序和子应用程序可相互独立地开发。
母应用程序可以是社交应用程序、专门支持子应用程序的专用应用程序、文件管理应用程序、邮件应用程序或者游戏应用程序等。社交应用程序包括即时通信应用、SNS(Social Network Service,社交网站)应用或者直播应用等。子应用程序具体可以是社交应用程序、文件管理应用程序、邮件应用程序或者游戏应用程序等。
公共资源是指生成不同的子应用程序页面所共用的资源,如渲染引擎、公共代码库或者SDK(Software Development Kit,软件开发工具包)等。公共代码库中的代码比如脚本代码、原生语言代码或者标记语言代码等。标记语言代码如HTML(HyperText Markup Language,超文本标记语言)代码或者CSS(Cascading Style Sheets,层叠样式表)代码等。脚本代码如JavaScript代码。
公共页面容器能够用于生成空白的子应用程序页面。公共页面容器中加载子应用程序页面中内容后可用于生成相应的子应用程序页面。将公共资源预加载为公共页面容器,子应用程序开发者不需要关注公共资源之间的依赖关系,可直接使用公共页面容器提供的内容。
S34,确定与已生成的子应用程序页面的子应用程序页面标识存在预加载关系的子应用程序页面标识。
其中,确定的子应用程序页面的子应用程序页面标识,与已生成的子应用程序页面的子应用程序页面标识存在预加载关系,是指在已生成
的子应用程序页面的前提下确定的子应用程序页面标识所表示的子应用程序页面会被预加载。已生成的子应用程序页面可以是正在展示的子应用程序页面。本发明实施例中所提到的子应用程序页面,若无特别说明,与相同的子应用程序标识对应,就是说各子应用程序页面属于同一子应用程序。在一个实施例中,已生成的子应用程序页面可以在步骤S302之前生成。
在一个实施例中,子应用程序页面标识之间的预加载关系可通过具有配置权限的账号进行配置,具有配置权限的账号如母应用程序开发者的账号或者子应用程序的开发者的账号等。
在一个实施例中,子应用程序页面标识之间的预加载关系可根据相应的子应用程序页面之间的内容相关性确定,内容相关性可通过计算相应的子应用程序页面之间的页面相似度得到。
S36,在公共页面容器中加载确定的子应用程序页面标识所对应的子应用程序页面独立资源。
其中,子应用程序页面独立资源与不同的子应用程序页面之间的公共资源相异,是不同的子应用程序页面之间差异的部分。确定的页面标识所对应的子应用程序页面独立资源,是确定的页面标识所表示的子应用程序页面与其它子应用程序页面差异的部分,该差异可不限于所呈现内容的差异,还可以包括逻辑差异和页面结构差异。
子应用程序页面独立资源与公共资源相配合,共同用于生成子应用程序页面。子应用程序页面独立资源可以包括业务逻辑代码、页面元素标识或者业务数据等。业务逻辑代码是实现子应用程序的业务的逻辑代码,业务数据则是实现子应用程序的业务所需的数据。
在一个实施例中,页面标识对应的子应用程序页面独立资源可从服务器即时下载,也可以从本地读取,如从本地缓存或者本地文件中读取。
其中本地的子应用程序页面独立资源可事先从服务器下载到本地。
S38,当获取到用于切换至确定的页面标识所对应的子应用程序页面的事件时,根据当前已加载子应用程序页面独立资源的公共页面容器生成确定的所述页面标识所对应的子应用程序页面。
具体地,终端可通过母应用程序检测或监听在已生成的子应用程序页面中触发的事件。用于切换至确定的页面标识所对应的子应用程序页面的事件具体可以是点击链接的事件或者进入下一页面的事件等。
当检测到或监听到用于切换至确定的页面标识所对应的子应用程序页面的事件时,终端可通过母应用程序并根据当前已加载子应用程序页面独立资源的公共页面容器生成子应用程序页面。终端具体可通过母应用程序并根据当前已加载子应用程序页面独立资源的公共页面容器生成页面渲染数据,从而利用页面渲染数据渲染出相应的子应用程序页面。生成的子应用程序页面成为已生成的子应用程序页面。
在一个实施例中,终端可通过母应用程序在执行步骤S38时或之后预加载新的公共页面容器。终端还可以通过母应用程序缓存已生成的子应用程序页面。
上述应用程序页面处理方法,操作系统上运行母应用程序,母应用程序则生成子应用程序页面,子应用程序以子应用程序页面的形式运行,不需要安装子应用程序,减少了子应用程序的安装耗时,使得子应用程序的运行效率提高。而且,将不同的子应用程序页面之间的公共资源预加载为公共页面容器,在确定需要预加载的子应用程序页面后,再进一步加载子应用程序页面独立资源,不需要每次加载子应用程序页面的所有资源,通过预加载进一步提高了子应用程序的运行效率。
在一个实施例中,在步骤S32之后以及步骤S34之前,该应用程序页面处理方法还包括根据预加载的公共页面容器生成默认子应用程序
页面并预加载新的公共页面容器的步骤。参照图5,该方法50可以包括如下步骤。
S502,获取默认子应用程序页面的页面标识。
其中,默认子应用程序页面是启动子应用程序时默认进入的子应用程序页面,可以是开发子应用程序时所指定的子应用程序页面,也可以是上次使用子应用程序退出时的子应用程序页面。页面标识用于唯一标识相应的子应用程序页面。终端可通过母应用程序获取子应用程序开启指令,从而获取该子应用程序开启指令所指定的子应用程序标识,从而获取与该子应用程序标识对应的默认子应用程序页面的页面标识。
S504,在公共页面容器中预加载与默认子应用程序页面的页面标识对应的子应用程序页面独立资源。
其中,加载的与默认子应用程序页面的页面标识对应的子应用程序页面独立资源可从服务器即时下载,也可以从本地读取,如从本地缓存或者本地文件中读取。其中本地的子应用程序页面独立资源可事先从服务器下载到本地。
S506,根据已加载与默认子应用程序页面的页面标识对应的子应用程序页面独立资源的公共页面容器生成所述默认子应用程序页面。
具体地,终端具体可根据已加载与默认子应用程序页面的页面标识对应的子应用程序页面独立资源的公共页面容器生成页面渲染数据,从而利用页面渲染数据渲染出相应的子应用程序页面。
S508,重新将公共资源预加载为新的公共页面容器。
具体地,终端可通过母应用程序在公共页面容器中已加载子应用程序页面独立资源时,或者在生成子应用程序页面时,将不同的子应用程序页面之间的公共资源预加载为新的公共页面容器。
本实施例中,预加载公共页面容器,利用预加载后的公共页面容器
快速生成默认子应用程序页面,将不同的子应用程序页面之间的公共资源预加载为新的公共页面容器,利用该新的公共页面容器快速地在不同子应用程序页面之间切换,进一步提高了子应用程序的使用效率。
在一个实施例中,步骤S34具体包括:获取服务器上通过具有配置权限的账号配置的页面预加载配置信息,从预加载配置信息中查找与已生成的子应用程序页面的页面标识存在预加载关系的页面标识。
其中,页面预加载配置信息是对子应用程序页面之间的预加载关系的配置信息,该页面预加载配置信息可记录页面之间的预加载关系。具有配置权限的账号是具有配置页面预加载配置信息的权限的账号,如子应用程序开发者的账号。
具体地,服务器可提供对应于子应用程序标识的子应用程序配置页面,获取通过该子应用程序配置页面录入的页面之间的预加载关系,并将获取的预加载关系记录于服务器上与子应用程序标识对应的页面预加载配置信息中。
进一步地,终端可通过母应用程序从服务器或本地获取与子应用程序标识对应的页面预加载配置信息,进而从获取的预加载配置信息中查找页面标识,查找的页面标识与已生成的子应用程序页面的页面标识在该预加载配置信息中存在预加载关系。其中本地的页面预加载配置信息可预先从服务器下载并存储于本地。
本实施例中,通过具有配置权限的账号可以在服务器上对页面之间的预加载关系进行配置,通过该账号可以对各终端上通过母应用程序实现的子应用程序页面间的预加载关系进行便捷的统一管理。
在一个实施例中,步骤S34具体包括:获取服务器上与子应用程序标识对应的通过具有配置权限的账号配置的页面预加载配置信息,从预加载配置信息中查找与已生成的子应用程序页面的页面标识存在预加
载关系的页面标识。其中已生成的子应用程序页面的页面标识和查找的子应用程序页面的页面标识均与相同的子应用程序标识对应。
在一个实施例中,步骤S34具体包括:向服务器发送携带有已生成的子应用程序页面的页面标识的查询请求,接收服务器发送的根据所述已生成的子应用程序页面的页面标识在页面预加载配置信息中查询到的子应用程序页面的页面标识;查询到的子应用程序页面的页面标识在页面预加载配置信息中与已生成的子应用程序页面的页面标识存在预加载关系;页面预加载配置信息由具有配置权限的账号所配置。
本实施例中,可按需从服务器查询以确定需进行预加载的子应用程序页面,当服务器上配置的预加载关系发生变化时,能够及时地将预加载关系的变化进行体现,进一步提高了子应用程序的使用效率。
在一个实施例中,步骤S34包括:向服务器发送携带有子应用程序标识和已生成的子应用程序页面的页面标识的查询请求,接收服务器从与子应用程序标识对应的页面预加载配置信息中查询到的子应用程序页面的页面标识;查询到的子应用程序页面的页面标识在页面预加载配置信息中与已生成的子应用程序页面的页面标识存在预加载关系;页面预加载配置信息由具有配置权限的账号所配置。
本实施例中,可以针对不同的子应用程序进行子应用程序页面之间预加载关系的配置,从而按需从服务器查询以确定当前的子应用程序当前需预加载的子应用程序页面,支持多个子应用程序的预加载,进一步提高了子应用程序的使用效率。
如图6所示,在一个实施例中,步骤S36具体包括如下步骤:
S602,获取与确定的子应用程序页面标识相应的子应用程序页面配置文件。
其中,子应用程序页面配置文件是对子应用程序所呈现的页面进行
配置的文件。子应用程序页面配置文件可以是源代码或者是将源代码编译后得到的文件。子应用程序所呈现页面称为子应用程序页面,一个子应用程序可以包括一个或多个子应用程序页面。
具体地,终端可通过母应用程序,从本地或者服务器获取与确定的子应用程序页面标识相应的子应用程序页面配置文件。终端还可以获取子应用程序标识,从而获取与该子应用程序标识以及该确定的子应用程序页面标识相应的子应用程序页面配置文件。
在一个实施例中,终端可通过母应用程序展示子应用程序列表,接收针对子应用程序列表中选项的选择指令,根据该选择指令确定子应用程序列表中选中的选项,从而获取该选中的选项对应的子应用程序标识。
S604,从子应用程序页面配置文件中获取公共组件标识。
具体地,终端可解析子应用程序页面配置文件,从而从子应用程序页面配置文件中获取公共组件标识。其中,公共组件标识用于唯一标识相应的公共组件。公共组件是母应用程序所提供的可供不同的子应用程序共用的组件,具有视觉形态,是子应用程序页面的组成单元。公共组件还可以封装有用于处理针对该公共组件所触发事件的逻辑代码。不同的子应用程序共用公共组件,具体可以是同时或者在不同时刻调用相同的公共组件。在一个实施例中,公共组件还可由母应用程序和子应用程序所共用。
S606,在公共页面容器中加载本地与公共组件标识对应的公共组件。
具体地,终端可通过母应用程序在公共页面容器中加载由公共页面容器提供的与公共组件标识对应的公共组件。加载的公共组件可以是从公共页面容器所提供的公共组件库中选择的与公共组件标识对应的公
共组件。
其中,公共组件库是母应用程序所提供的公共组件构成的集合。公共组件库中的每个公共组件具有唯一的公共组件标识。公共组件库可由母应用程序在运行时从服务器下载到本地,或者可由母应用程序在被安装时从相应的应用程序安装包中解压缩得到。
在一个实施例中,终端还可以在公共页面容器中加载与公共组件标识对应的组件样式数据。组件样式数据是描述相应的公共组件的展示形式的数据。组件样式数据可以包括相应公共组件在子应用程序页面中的位置、尺寸、颜色、字体和字号等属性。
本实施例中,利用本地提供的公共组件,结合预加载方式,可以进一步提高子应用程序的使用效率。
如图7所示,在一个实施例中,步骤S36具体包括如下步骤:
S702,获取与确定的页面标识对应的业务逻辑代码。
其中,业务逻辑代码是指子应用程序页面处理逻辑的代码,可以是原生语言代码或者脚本代码。脚本代码如JavaScript代码。业务逻辑代码可从本地或者服务器获取。
S704,运行业务逻辑代码以获取业务数据。
具体地,终端可运行业务逻辑代码,在运行该业务逻辑代码时获取业务数据。业务数据具体可根据业务逻辑代码中的业务逻辑直接从本地或服务器获取,可以根据业务逻辑代码中的业务逻辑进行计算获得。业务数据因子应用程序的不同而不同,可以是社交关系数据、社交通信数据、邮件数据或者游戏数据等。
S706,将业务数据加载到公共页面容器中。
具体地,业务数据可与相应子应用程序页面中的页面元素标识绑定,终端在生成子应用程序页面时,将业务数据渲染到其绑定的页面元
素标识对应的页面元素。页面元素如公共组件或者自定义图片等。
本实施例中,可以在预加载公共页面容器后,运行业务逻辑代码获得业务数据,从而在公共页面容器中对业务数据进行预加载,可进一步提高子应用程序的使用效率。
在一个实施例中,子应用程序页面由其一一对应的子应用程序视图层处理单元所生成;公共页面容器由子应用程序逻辑层处理单元预加载,子应用程序页面独立资源由子应用程序逻辑层处理单元加载;子应用程序视图层处理单元和子应用程序逻辑层处理单元由母应用程序所创建。
具体地,参照图8,母应用程序为子应用程序的运行提供环境,创建用于实现子应用程序的子应用程序逻辑层处理单元和相应的子应用程序视图层处理单元。子应用程序视图层处理单元用于处理子应用程序的视图。子应用程序逻辑层处理单元用于处理子应用程序的交互逻辑。处理单元具体可以是进程或者线程,如子应用程序逻辑层线程和相应的子应用程序视图层线程。子应用程序逻辑层处理单元可运行于虚拟机中,子应用程序视图层处理单元可通过浏览器控件实现。对应于相同子应用程序标识的不同子应用程序页面可共用相同的子应用程序逻辑层处理单元,便于子应用程序的整体管理。
如图9所示,在一个实施例中,一种应用程序页面处理方法具体包括如下步骤:
S902,通过子应用程序逻辑层处理单元将不同的子应用程序页面之间的公共资源预加载为公共页面容器;母应用程序运行于操作系统上;子应用程序逻辑层处理单元由母应用程序所创建。
S904,通过子应用程序逻辑层处理单元确定与已生成的子应用程序页面的页面标识存在预加载关系的页面标识;在公共页面容器中加载确
定的页面标识所对应的子应用程序页面独立资源。
S906,通过子应用程序视图层处理单元获取用于从已生成的子应用程序页面切换至确定的页面标识所对应的子应用程序页面的事件,并将事件传递至子应用程序逻辑层处理单元;子应用程序视图层处理单元及子应用程序逻辑层处理单元由母应用程序所创建。
S908,通过子应用程序逻辑层处理单元对事件进行响应,根据已加载子应用程序页面独立资源的公共页面容器生成页面渲染数据,并将页面渲染数据传递至子应用程序视图层处理单元。
S910,通过子应用程序视图层处理单元并根据页面渲染数据生成子应用程序页面。
本实施例中,子应用程序页面与子应用程序视图层处理单元一一对应,从而将每个子应用程序页面相互独立。公共页面容器和子应用程序页面独立资源均由子应用程序逻辑层处理单元预加载后,由子应用程序视图层处理单元进行视图呈现,便于子应用程序页面的高效管理,进一步提高了子应用程序使用效率。而且子应用程序逻辑层处理单元和相应的子应用程序视图层处理单元将应用程序的视图层和逻辑层相分离,子应用程序页面配置文件和子应用程序页面逻辑代码可分别更新和使用,更加便于子应用程序的实现和维护。
在一个实施例中,子应用程序页面配置文件采用标记语言编写;子应用程序页面逻辑代码采用脚本语言编写;子应用程序逻辑层处理单元和子应用程序视图层处理单元之间通过由母应用程序提供的原生接口进行中转通信。
其中,标记语言(Markup Language)是一种将文本以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。子应用程序页面配置文件可以采用HTML、XML或者基于XML扩
展的自定义标记语言。脚本语言比如JavaScript或者VBScript。原生(native)接口是操作系统本地支持的接口,比如可以是JavascriptBridge。在安卓操作系统中,原生接口属于本地框架,采用C语言和/或C++语言编写。
本实施例中,子应用程序页面配置文件采用标记语言编写,使得子应用程序页面配置文件的编辑直观且便捷。子应用程序页面逻辑代码采用脚本语言编写,便于子应用程序逻辑的实现。而且通过母应用程序提供的原生接口,采用不同计算机语言的子应用程序逻辑层处理单元和子应用程序视图层处理单元之间可以正常通信。
在一个实施例中,该应用程序页面处理方法还包括:通过子应用程序逻辑层处理单元并根据业务逻辑代码调用由母应用程序提供的应用程序编程接口响应事件。本实施例中,通过母应用程序提供的应用程序编程接口实现对子应用程序页面中所触发事件的处理,业务逻辑代码用于配置对母应用程序所提供的应用程序编程接口的调用,使得子应用程序的实现更加轻量化。
在一个实施例中,该应用程序页面处理方法还包括:通过子应用程序逻辑层处理单元并根据业务逻辑代码调用由操作系统提供的应用程序编程接口响应事件。本实施例中,通过母应用程序直接调用操作系统提供的应用程序编程接口处理事件,使得子应用程序的实现更加轻量化。
在一个实施例中,该应用程序页面处理方法还包括:通过子应用程序逻辑层处理单元并根据业务逻辑代码调用由母应用程序提供的应用程序编程接口,并通过由母应用程序提供的应用程序编程接口调用由操作系统提供的应用程序编程接口响应事件。本实施例中,母应用程序通过由操作系统提供的应用程序编程接口处理子应用程序页面中触发的
事件,相比完全由母应用程序处理事件可以减轻母应用程序负担。
如图10所示,在一个实施例中,提供了一种应用程序页面处理装置1000,包括一个或一个以上存储器,一个或一个以上处理器;其中,所述一个或一个以上存储器存储有一个或者一个以上指令模块,经配置由所述一个或者一个以上处理器执行;其中,所述一个或者一个以上指令模块包括公共页面容器预加载模块1001、子应用程序页面独立资源预加载模块1002和子应用程序页面生成模块1003。
公共页面容器预加载模块1001,用于在母应用程序提供的环境中将不同的子应用程序页面之间的公共资源预加载为公共页面容器;母应用程序运行于操作系统上。
子应用程序页面独立资源预加载模块1002,用于确定与已生成的子应用程序页面的页面标识存在预加载关系的页面标识;在公共页面容器中加载确定的页面标识所对应的子应用程序页面独立资源。
子应用程序页面生成模块1003,用于当获取到用于切换至确定的页面标识所对应的子应用程序页面的事件时,根据当前已加载子应用程序页面独立资源的公共页面容器生成确定的所述页面标识所对应的子应用程序页面。
上述应用程序页面处理装置1000,操作系统上运行母应用程序,母应用程序则生成子应用程序页面,减少了应用程序安装耗时,使得子应用程序的使用效率提高。而且,将不同的子应用程序页面之间的公共资源预加载为公共页面容器,在确定需要预加载的子应用程序页面后,再进一步加载子应用程序页面独立资源,不需要每次加载子应用程序页面的所有资源,通过预加载进一步提高了子应用程序的使用效率。
在一个实施例中,子应用程序页面独立资源预加载模块1002还用于获取默认子应用程序页面的页面标识;在公共页面容器中预加载与默
认子应用程序页面的页面标识对应的子应用程序页面独立资源。
子应用程序页面生成模块1003还用于根据已加载与默认子应用程序页面的页面标识对应的子应用程序页面独立资源的公共页面容器生成所述默认子应用程序页面。
公共页面容器预加载模块1001还用于重新将公共资源预加载为新的公共页面容器。
本实施例中,预加载公共页面容器,利用公共页面容器快速生成默认子应用程序页面,再生成新的公共页面容器后,利用公共页面容器快速地在不同子应用程序页面之间切换,进一步提高了子应用程序的使用效率。
在一个实施例中,子应用程序页面独立资源预加载模块1002还用于获取服务器上的页面预加载配置信息,从预加载配置信息中查找与已生成的子应用程序页面的页面标识存在预加载关系的页面标识,所述页面预加载配置信息由具有配置权限的账号所配置。
本实施例中,通过具有配置权限的账号可以在服务器上对页面之间的预加载关系进行配置,通过该账号可以对各终端上通过母应用程序实现的子应用程序页面间的预加载关系进行便捷的统一管理。
在一个实施例中,子应用程序页面独立资源预加载模块1002还用于向服务器发送携带有已生成的子应用程序页面的页面标识的查询请求,接收服务器发送的根据所述已生成的子应用程序页面的页面标识在页面预加载配置信息中查询到的子应用程序页面的页面标识;查询到的子应用程序页面的页面标识在页面预加载配置信息中与已生成的子应用程序页面的页面标识存在预加载关系;页面预加载配置信息由具有配置权限的账号所配置。
本实施例中,可按需从服务器查询以确定需进行预加载的子应用程
序页面,当服务器上配置的预加载关系发生变化时,能够及时地将预加载关系的变化进行体现,进一步提高了子应用程序的使用效率。
在一个实施例中,子应用程序页面独立资源预加载模块1002还用于获取与确定的页面标识相应的子应用程序页面配置文件;从子应用程序页面配置文件中获取公共组件标识;在公共页面容器中加载本地与公共组件标识对应的公共组件。
本实施例中,利用本地提供的公共组件,结合预加载方式,可以进一步提高子应用程序的使用效率。
在一个实施例中,子应用程序页面独立资源包括业务逻辑代码;子应用程序页面独立资源预加载模块1002还用于获取与确定的页面标识对应的业务逻辑代码;运行业务逻辑代码以获取业务数据;将业务数据加载到公共页面容器中。
本实施例中,可以在预加载公共页面容器后,运行业务逻辑代码获得业务数据,从而在公共页面容器中对业务数据进行预加载,可进一步提高子应用程序的使用效率。
在一个实施例中,公共页面容器预加载模块1001还用于通过子应用程序视图层处理单元生成相应的子应用程序页面;子应用程序视图层处理单元与相应的子应用程序页面一一对应。
子应用程序页面独立资源预加载模块1002还用于通过子应用程序逻辑层处理单元预加载公共页面容器和子应用程序页面独立资源。
其中,子应用程序视图层处理单元和子应用程序逻辑层处理单元由母应用程序所创建。
本实施例中,子应用程序页面与子应用程序视图层处理单元一一对应,从而将每个子应用程序页面相互独立。公共页面容器和子应用程序页面独立资源均由子应用程序逻辑层处理单元预加载后,由子应用程序
视图层处理单元进行视图呈现,便于子应用程序页面的高效管理,进一步提高了子应用程序使用效率。而且子应用程序逻辑层处理单元和相应的子应用程序视图层处理单元将应用程序的视图层和逻辑层相分离,子应用程序页面配置文件和子应用程序页面逻辑代码可分别更新和使用,更加便于子应用程序的实现和维护。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,该存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明实施例的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明实施例构思的前提下,还可以做出若干变形和改进,这些都属于本发明实施例的保护范围。因此,本发明实施例专利的保护范围应以所附权利要求为准。
Claims (19)
- 一种应用程序页面处理方法,应用于终端,其特征在于,包括:在所述终端的操作系统上运行母应用程序;所述母应用程序利用多个子应用程序页面的公共资源生成公共页面容器,所述公共资源包括所述多个子应用程序页面共有的页面数据;响应于切换至一子应用程序页面的事件,在所述公共页面容器中加载所述子应用程序页面的独立资源,所述独立资源包括所述子应用程序页面中除所述公共资源以外的页面数据;根据所述公共页面容器生成并显示所述子应用程序页面。
- 根据权利要求1所述的方法,进一步包括:生成所述子应用程序页面时,生成第二公共页面容器;响应于切换至第二子应用程序页面的事件,在第二公共页面容器中加载所述第二子应用程序页面的独立资源;根据所述第二公共页面容器生成并显示所述第二子应用程序页面。
- 根据权利要求2所述的方法,其中,所述生成第二公共页面容器包括:利用所述公共资源创建所述第二公共页面容器。
- 根据权利要求2所述的方法,其中,生成第二公共页面容器包括:从已加载第二独立资源的第三公共页面容器中去除所述第二独立资源,得到所述第二公共页面容器。
- 根据权利要求1所述的方法,其中,当获取到用于切换至一子应用程序页面的事件时,在所述公共页面容器中加载所述子应用程序页面的独立资源包括:响应于切换至一当前未运行的子应用程序对应的子应用程序页面的事件,获取该子应用程序的默认子应用程序页面的独立资源;在所述公共页面容器中加载所述默认子应用程序页面的独立资源。
- 根据权利要求1所述的方法,其中,所述在所述公共页面容器中加载所述子应用程序页面的独立资源包括:从服务器获取第三方设备提供的所述子应用程序页面的配置文件;从所述配置文件中获取所述子应用程序页面的页面组件信息;根据所述页面组件信息获取各页面组件的数据,将该各页面组件的数据加载到所述公共页面容器中。
- 根据权利要求6所述的方法,其中,从所述配置文件中获取所述子应用程序页面的页面组件信息、根据所述页面组件信息获取各页面组件的数据作为所述独立资源包括:从所述配置文件中获取所述子应用程序页面中的公共组件标识;在所述公共页面容器中加载所述母应用程序中所述公共组件标识对应的公共组件的数据。
- 根据权利要求7所述的方法,进一步包括:响应于对所述子应用程序页面中的所述公共组件的操作,执行所述公共组件对应的处理逻辑。
- 根据权利要求1所述的方法,其中,所述在所述公共页面容器中加载所述子应用程序页面的独立资源包括:从服务器获取第三方设备提供的所述子应用程序页面的业务逻辑代码;通过运行所述业务逻辑代码以获取业务数据作为所述独立资源。
- 一种应用程序页面处理装置,包括处理器和存储器,所述存储器包括计算机可读指令,可以使所述处理器执行用于:在所述终端的操作系统上运行母应用程序;所述母应用程序利用多个子应用程序页面的公共资源生成公共页面容器,所述公共资源包括所述多个子应用程序页面共有的页面数据;响应于切换至一子应用程序页面的事件,在所述公共页面容器中加载所述子应用程序页面的独立资源,所述独立资源包括所述子应用程序页面中除所述公共资源以外的页面数据;根据所述公共页面容器生成并显示所述子应用程序页面。
- 根据权利要求10所述的装置,其中,所述计算机可读指令可以使所述处理器执行用于:生成所述子应用程序页面时,生成第二公共页面容器;响应于切换至第二子应用程序页面的事件,在第二公共页面容器中加载所述第二子应用程序页面的独立资源;根据所述第二公共页面容器生成并显示所述第二子应用程序页面。
- 根据权利要求11所述的装置,其中,所述计算机可读指令可以使所述处理器执行用于:利用所述公共资源创建所述第二公共页面容器。
- 根据权利要求11所述的装置,其中,所述计算机可读指令可以使所述处理器执行用于:从已加载第二独立资源的第三公共页面容器中去除所述第二独立资源,得到所述第二公共页面容器。
- 根据权利要求10所述的装置,其中,所述计算机可读指令可以使所述处理器执行用于:响应于切换至一当前未运行的子应用程序对应的子应用程序页面的事件,获取该子应用程序的默认子应用程序页面的独立资源;在所述公共页面容器中加载所述默认子应用程序页面的独立资源。
- 根据权利要求10所述的装置,其中,所述计算机可读指令可以使所述处理器执行用于:从服务器获取第三方设备提供的所述子应用程序页面的配置文件;从所述配置文件中获取所述子应用程序页面的页面组件信息;根据所述页面组件信息获取各页面组件的数据,将该各页面组件的数据加载到所述公共页面容器中。
- 根据权利要求15所述的装置,其中,所述计算机可读指令可以使所述处理器执行用于:从所述配置文件中获取所述子应用程序页面中的公共组件标识;在所述公共页面容器中加载所述母应用程序中所述公共组件标识对应的公共组件的数据。
- 根据权利要求16所述的装置,其中,所述计算机可读指令可以使所述处理器执行用于:响应于对所述子应用程序页面中的所述公共组件的操作,执行所述公共组件对应的处理逻辑。
- 根据权利要求10所述的装置,其中,所述计算机可读指令可以使所述处理器执行用于:从服务器获取第三方设备提供的所述子应用程序页面的业务逻辑代码;通过运行所述业务逻辑代码以获取业务数据作为所述独立资源。
- 一种计算机可读存储介质,存储有计算机可读指令,可以使至少一个处理器执行如权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/359,795 US11119812B2 (en) | 2016-11-25 | 2019-03-20 | Method and device for processing application program page according to a common interface container |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611062086.6 | 2016-11-25 | ||
CN201611062086.6A CN108108205B (zh) | 2016-11-25 | 2016-11-25 | 应用程序页面处理方法和装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/359,795 Continuation US11119812B2 (en) | 2016-11-25 | 2019-03-20 | Method and device for processing application program page according to a common interface container |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018095306A1 true WO2018095306A1 (zh) | 2018-05-31 |
Family
ID=62194793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/112060 WO2018095306A1 (zh) | 2016-11-25 | 2017-11-21 | 应用程序页面处理方法、装置及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11119812B2 (zh) |
CN (1) | CN108108205B (zh) |
WO (1) | WO2018095306A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144615A (zh) * | 2018-09-29 | 2019-01-04 | 北京城市网邻信息技术有限公司 | 一种信息发布方法、装置、设备及存储介质 |
CN110333868A (zh) * | 2019-06-12 | 2019-10-15 | 阿里巴巴集团控股有限公司 | 用于生成子应用的安装包的方法和系统 |
CN110471717A (zh) * | 2019-08-21 | 2019-11-19 | 金瓜子科技发展(北京)有限公司 | 一种数据处理方法和装置 |
CN112748962A (zh) * | 2021-01-22 | 2021-05-04 | 北京五八信息技术有限公司 | 应用加载方法、装置、电子设备和计算机可读介质 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015015251A1 (en) * | 2013-08-01 | 2015-02-05 | Yogesh Chunilal Rathod | Presenting plurality types of interfaces and functions for conducting various activities |
CN108196930B (zh) * | 2018-01-18 | 2020-04-03 | 腾讯科技(深圳)有限公司 | 应用程序处理方法、装置、存储介质和计算机设备 |
CN109165050B (zh) * | 2018-07-05 | 2020-10-13 | 腾讯科技(深圳)有限公司 | 程序的运行方法、装置、计算设备以及存储介质 |
CN111198730B (zh) * | 2018-10-30 | 2023-05-23 | 广州腾讯科技有限公司 | 子应用程序启动的方法、装置、终端及计算机存储介质 |
CN109783176B (zh) * | 2019-01-17 | 2022-02-22 | 广州酷狗计算机科技有限公司 | 切换页面的方法和装置 |
CN111666020B (zh) * | 2019-03-06 | 2022-05-03 | 珠海金山办公软件有限公司 | 一种文档页面切换的方法、装置、电子设备及存储介质 |
CN110069309B (zh) * | 2019-04-23 | 2021-02-12 | 广州方硅信息技术有限公司 | 一种页面配置方法、系统及客户端 |
CN110554885A (zh) * | 2019-08-29 | 2019-12-10 | 五八有限公司 | 子应用生成方法、装置、电子设备及存储介质 |
US11080354B2 (en) * | 2019-08-29 | 2021-08-03 | Capital One Services, Llc | Systems and methods for presenting web application content |
CN111046308A (zh) * | 2019-11-06 | 2020-04-21 | 天津幸福生命科技有限公司 | 一种页面加载方法及装置 |
CN113553522A (zh) * | 2020-04-24 | 2021-10-26 | 北京金山云网络技术有限公司 | 一种页面显示方法、装置、电子设备及存储介质 |
CN113760362A (zh) | 2020-06-03 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 应用程序的移植方法、装置、设备及介质 |
CN112148501A (zh) * | 2020-08-28 | 2020-12-29 | 杭州安恒信息技术股份有限公司 | 多个子应用的通信方法、装置、电子装置和存储介质 |
CN112068837B (zh) * | 2020-09-10 | 2023-07-18 | 浪潮软件科技有限公司 | 一种终端页面调转及数据保持的方法 |
CN112597054B (zh) * | 2020-12-30 | 2023-04-11 | 深圳市世强元件网络有限公司 | 移动终端h5页面应用测试装置、测试方法和电脑终端 |
CN112331235B (zh) | 2021-01-04 | 2021-04-06 | 腾讯科技(深圳)有限公司 | 多媒体内容的编辑控制方法、装置、电子设备和存储介质 |
CN113296841A (zh) * | 2021-04-13 | 2021-08-24 | 京东数字科技控股股份有限公司 | 应用程序处理方法、装置、设备及介质 |
CN112988284B (zh) * | 2021-05-13 | 2021-08-24 | 太平金融科技服务(上海)有限公司 | 应用程序启动方法、装置、计算机设备和存储介质 |
CN114065080B (zh) * | 2021-11-26 | 2023-06-13 | 腾讯科技(深圳)有限公司 | 页面渲染方法、装置、设备及计算机可读存储介质 |
CN114237755A (zh) * | 2021-12-20 | 2022-03-25 | 百度在线网络技术(北京)有限公司 | 应用运行方法、装置、电子设备以及存储介质 |
CN114077368B (zh) * | 2022-01-19 | 2022-06-28 | 腾讯科技(深圳)有限公司 | 车载小程序运行方法、装置、计算机设备及存储介质 |
CN114546524B (zh) * | 2022-02-11 | 2024-04-05 | 支付宝(杭州)信息技术有限公司 | 应用权限处理方法及装置 |
CN114764354B (zh) * | 2022-04-19 | 2024-01-05 | 卡奥斯工业智能研究院(青岛)有限公司 | 基于paas的依赖管理方法、装置、电子设备及介质 |
CN115686678B (zh) * | 2022-11-11 | 2023-08-22 | 北京安怀信科技股份有限公司 | 一种基于对象的界面信息展示与交互定义系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1722088A (zh) * | 2004-12-30 | 2006-01-18 | 杭州华为三康技术有限公司 | 软件安装与集成的方法 |
CN102065133A (zh) * | 2010-12-03 | 2011-05-18 | 中国科学院软件研究所 | 支持Portlet协作构建复杂业务逻辑的方法和系统 |
CN102193793A (zh) * | 2010-03-02 | 2011-09-21 | 腾讯科技(深圳)有限公司 | 一种实现软件复用的方法和装置 |
CN103475744A (zh) * | 2013-09-30 | 2013-12-25 | 中国农业银行股份有限公司 | 一种基于Web应用的资源下载方法、装置和系统 |
CN106502736A (zh) * | 2016-10-18 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 应用程序处理方法和装置 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001057661A2 (en) * | 2000-01-31 | 2001-08-09 | Mobileq Canada Inc. | Method and system for reusing internet-based applications |
US20080091761A1 (en) * | 2002-08-06 | 2008-04-17 | Stt Webos, Inc. | Method and apparatus for information exchange over a web based environment |
US8276095B2 (en) * | 2004-02-20 | 2012-09-25 | Advanced Intellectual Property Group, Llc | System for and method of generating and navigating within a workspace of a computer application |
US7810105B2 (en) * | 2004-12-29 | 2010-10-05 | Motorola, Inc. | Method and apparatus for running different types of applications on a wireless mobile device |
US20110225243A1 (en) * | 2005-06-08 | 2011-09-15 | John Almeida | Method for global resources sharing, logically linked means and integrated functionality for solutions building |
US7921375B2 (en) * | 2005-12-16 | 2011-04-05 | Microsoft Corporation | Integrating user interfaces from one application into another |
US20080071929A1 (en) * | 2006-09-18 | 2008-03-20 | Yann Emmanuel Motte | Methods and apparatus for selection of information and web page generation |
US20080201118A1 (en) * | 2007-02-16 | 2008-08-21 | Fan Luo | Modeling a web page on top of HTML elements level by encapsulating the details of HTML elements in a component, building a web page, a website and website syndication on browser-based user interface |
US8082294B2 (en) * | 2007-06-27 | 2011-12-20 | Concept Solutions, Llc | Methods and systems for providing web applications |
US8868637B2 (en) * | 2009-09-02 | 2014-10-21 | Facebook, Inc. | Page rendering for dynamic web pages |
US20110055683A1 (en) * | 2009-09-02 | 2011-03-03 | Facebook Inc. | Page caching for rendering dynamic web pages |
US20110138288A1 (en) * | 2009-12-08 | 2011-06-09 | International Business Machines Corporation | Method, system, and computer program product for tagging of portlets in a portal infrastructure |
US9268547B2 (en) * | 2010-01-11 | 2016-02-23 | Ensighten, Inc. | Conditional logic for delivering computer-executable program instructions and content |
US9665991B2 (en) * | 2011-06-30 | 2017-05-30 | Accenture Global Services Limited | Tolling using mobile device |
US20130091513A1 (en) * | 2011-10-10 | 2013-04-11 | Mitchell International, Inc. | Seamless external process integration |
US9129259B2 (en) * | 2011-12-06 | 2015-09-08 | Facebook, Inc. | Pages: hub structure for related pages |
CN104731598B (zh) * | 2012-05-07 | 2018-05-04 | 北京奇虎科技有限公司 | 一种基于Webkit内核提供网页浏览的方法及装置 |
KR20140040379A (ko) * | 2012-09-26 | 2014-04-03 | 삼성전자주식회사 | 휴대단말기의 어플리케이션 처리 장치 및 방법 |
US20140282240A1 (en) * | 2013-03-15 | 2014-09-18 | William Joseph Flynn, III | Interactive Elements for Launching from a User Interface |
WO2014157903A1 (en) * | 2013-03-27 | 2014-10-02 | Samsung Electronics Co., Ltd. | Method and device for displaying service page for executing application |
CN103530160A (zh) * | 2013-10-21 | 2014-01-22 | 迈普通信技术股份有限公司 | 一种页面加载的方法和装置 |
US10191766B2 (en) * | 2015-10-13 | 2019-01-29 | Microsoft Technology Licensing, Llc | Authoring and running task-based flows within a computing system |
CN105759962B (zh) * | 2016-02-04 | 2019-08-06 | 腾讯科技(深圳)有限公司 | 一种应用启动的方法及移动终端 |
US10382518B2 (en) * | 2016-03-22 | 2019-08-13 | Google Llc | Low latency applications using multiple servers |
-
2016
- 2016-11-25 CN CN201611062086.6A patent/CN108108205B/zh active Active
-
2017
- 2017-11-21 WO PCT/CN2017/112060 patent/WO2018095306A1/zh active Application Filing
-
2019
- 2019-03-20 US US16/359,795 patent/US11119812B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1722088A (zh) * | 2004-12-30 | 2006-01-18 | 杭州华为三康技术有限公司 | 软件安装与集成的方法 |
CN102193793A (zh) * | 2010-03-02 | 2011-09-21 | 腾讯科技(深圳)有限公司 | 一种实现软件复用的方法和装置 |
CN102065133A (zh) * | 2010-12-03 | 2011-05-18 | 中国科学院软件研究所 | 支持Portlet协作构建复杂业务逻辑的方法和系统 |
CN103475744A (zh) * | 2013-09-30 | 2013-12-25 | 中国农业银行股份有限公司 | 一种基于Web应用的资源下载方法、装置和系统 |
CN106502736A (zh) * | 2016-10-18 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 应用程序处理方法和装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144615A (zh) * | 2018-09-29 | 2019-01-04 | 北京城市网邻信息技术有限公司 | 一种信息发布方法、装置、设备及存储介质 |
CN110333868A (zh) * | 2019-06-12 | 2019-10-15 | 阿里巴巴集团控股有限公司 | 用于生成子应用的安装包的方法和系统 |
CN110333868B (zh) * | 2019-06-12 | 2023-12-19 | 创新先进技术有限公司 | 用于生成子应用的安装包的方法和系统 |
CN110471717A (zh) * | 2019-08-21 | 2019-11-19 | 金瓜子科技发展(北京)有限公司 | 一种数据处理方法和装置 |
CN110471717B (zh) * | 2019-08-21 | 2022-11-11 | 金瓜子科技发展(北京)有限公司 | 一种数据处理方法和装置 |
CN112748962A (zh) * | 2021-01-22 | 2021-05-04 | 北京五八信息技术有限公司 | 应用加载方法、装置、电子设备和计算机可读介质 |
CN112748962B (zh) * | 2021-01-22 | 2023-10-20 | 北京五八信息技术有限公司 | 应用加载方法、装置、电子设备和计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
US20190220304A1 (en) | 2019-07-18 |
CN108108205A (zh) | 2018-06-01 |
CN108108205B (zh) | 2019-07-05 |
US11119812B2 (en) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018095306A1 (zh) | 应用程序页面处理方法、装置及存储介质 | |
US10831567B2 (en) | Application processing method and apparatus | |
US11461111B2 (en) | Method for running applets, and electronic device | |
WO2018077085A1 (zh) | 应用程序处理方法、装置及存储介质 | |
US10769350B2 (en) | Document link previewing and permissioning while composing an email | |
WO2018205773A1 (zh) | 消息处理方法、装置、存储介质和计算机设备 | |
US20200410031A1 (en) | Systems and methods for cloud computing | |
US20170289338A1 (en) | Enabling stateful dynamic links in mobile applications | |
US20230259691A9 (en) | Method, apparatus, device and storage medium for determining page theme | |
WO2017206626A1 (zh) | 网络资源访问设备、混合设备及方法 | |
EP3436943B1 (en) | Validating stateful dynamic links in mobile applications | |
US20170302747A1 (en) | Card-type desktop implementation method, apparatus, and system | |
RU2595524C2 (ru) | Устройство и способ обработки содержимого веб-ресурса в браузере | |
CN112087370A (zh) | 发布GitHub Issues的方法、系统、电子设备和计算机可读存储介质 | |
CN114237651A (zh) | 云原生应用的安装方法、装置、电子设备和介质 | |
CN111008050B (zh) | 页面任务执行方法、装置、终端及存储介质 | |
CN112835568A (zh) | 一种项目构建方法和装置 | |
CN111158777A (zh) | 组件调用方法、装置及计算机可读存储介质 | |
US10951662B1 (en) | Open integration framework for cybersecurity incident management software platform | |
US20150277723A1 (en) | Exporting a component of a currently displayed user interface to a development system | |
CN112306324B (zh) | 信息处理方法、装置、设备和介质 | |
CN117742836A (zh) | 一种页面处理方法、装置、电子设备及存储介质 | |
CN114968335A (zh) | 前端国际化字段维护方法、装置、设备和介质 | |
CN114528510A (zh) | 网页数据处理的方法、装置、电子设备及介质 | |
CN113778434A (zh) | 多语言文案管理方法、装置、电子设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17873120 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17873120 Country of ref document: EP Kind code of ref document: A1 |