CN110427225A - 一种启动小程序的方法和装置 - Google Patents

一种启动小程序的方法和装置 Download PDF

Info

Publication number
CN110427225A
CN110427225A CN201910689996.4A CN201910689996A CN110427225A CN 110427225 A CN110427225 A CN 110427225A CN 201910689996 A CN201910689996 A CN 201910689996A CN 110427225 A CN110427225 A CN 110427225A
Authority
CN
China
Prior art keywords
homepage
small routine
true
history
dom tree
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.)
Pending
Application number
CN201910689996.4A
Other languages
English (en)
Inventor
王祥
杨进
林凤琦
彭森材
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910689996.4A priority Critical patent/CN110427225A/zh
Publication of CN110427225A publication Critical patent/CN110427225A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

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)

Abstract

本说明书实施例提供一种启动小程序的方法和系统。该方法包括,接收小程序的启动请求;根据所述小程序的启动请求,获取保存的小程序的历史首页并进行显示;当小程序的真实首页被创建后,基于所述小程序的真实首页和历史首页的区别,生成页面变化数据;以及将所述页面变化数据发送给渲染组件进行渲染,进而显示小程序的真实首页。

Description

一种启动小程序的方法和装置
技术领域
本说明书一个或多个实施例涉及计算机技术领域,特别涉及一种启动小程序的方法和装置。
背景技术
小程序,是指一种基于特定编程语言开发完成,无需下载和安装,就可以使用的应用。小程序的最大特点是使用便捷,无需手动在操作系统中安装,通常小程序依托于大型应用作为载体进行使用。当前,越来愈多的用户使用诸如微信小程序、支付宝小程序、头条小程序、百度小程序、快应用、轻应用之类的小程序。
因此,有必要提供一种用户体验度更好的启动小程序的方法和装置。
发明内容
本说明书实施例之一提供一种启动小程序的方法。该方法可以包括接收小程序的启动请求;根据小程序的启动请求,获取保存的小程序的历史首页并进行显示;当小程序的真实首页被创建后,基于所述小程序的真实首页和历史首页的区别,生成页面变化数据;以及将所述页面变化数据发送给渲染组件进行渲染,进而显示小程序的真实首页。
在一些实施例中,历史首页为前一次启动小程序时所保存的真实首页或小程序的初始Loading页面。
在一些实施例中,该方法还可以包括保存真实首页作为下一次启动小程序的历史首页。
在一些实施例中,小程序可以包括RPC小程序,RPC小程序的历史首页的至少部分数据由小程序开发者提供。
在一些实施例中,历史首页可以为HTML文件。
在一些实施例中,HTML文件可以为DOM树结构。
在一些实施例中,基于小程序的真实首页和历史首页的区别,生成页面变化数据可以包括:基于历史首页,生成历史首页的虚拟DOM树;基于真实首页,生成真实首页的虚拟DOM树;根据历史首页的虚拟DOM树和真实首页的虚拟DOM树,得到需要更改的DOM节点。
在一些实施例中,根据历史首页的虚拟DOM树和真实首页的虚拟DOM树,得到需要更改的DOM节点可以包括:通过DOM diff差异算法,获取历史首页的虚拟DOM树和真实首页的虚拟DOM树之间的最小差异。
在一些实施例中,将页面变化数据发送给渲染组件进行渲染可以包括:根据需要更改的DOM节点,更新真实首页DOM树;根据真实首页DOM树刷新程序首页。
本说明书实施例之一提供一种启动小程序的装置。该装置可以包括:接收模块,用于接收小程序的启动请求;获取模块,用于根据小程序的启动请求,获取保存的小程序的历史首页并进行显示;生成模块,用于当小程序的真实首页被创建后,基于所述小程序的真实首页和历史首页的区别,生成页面变化数据;以及发送模块,用于将所述页面变化数据发送给渲染组件进行渲染,进而显示小程序的真实首页。
在一些实施例中,历史首页可以为前一次启动小程序时所保存的真实首页或小程序的初始Loading页面。
在一些实施例中,发送模块还用于:保存真实首页作为下一次启动小程序的历史首页。
在一些实施例中,小程序包括RPC小程序,小程序的历史首页的至少部分数据由小程序开发者提供。
在一些实施例中,历史首页可以为HTML文件。
在一些实施例中,HTML文件可以为DOM树结构。
在一些实施例中,生成模块还可以用于:基于历史首页,生成历史首页的虚拟DOM树;基于真实首页,生成真实首页的虚拟DOM树;根据历史首页的虚拟DOM树和真实首页的虚拟DOM树,得到需要更改的DOM节点。
在一些实施例中,生成模块还可以用于:通过DOM diff差异算法,获取历史首页的虚拟DOM树和真实首页的虚拟DOM树之间的最小差异。
在一些实施例中,渲染组件可以用于:根据需要更改的DOM节点,更新真实首页DOM树;根据真实首页DOM树刷新程序首页。
本说明书实施例之一提供一种计算设备,该设备可以包括至少一个处理器和至少一个存储设备,存储设备用于存储指令,当至少一个处理器执行指令时,实现本说明书任一实施例所述的方法。
附图说明
本说明书一个或多个实施例将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书的一些实施例所示的未使用历史首页的小程序启动的示意图;
图2是根据本说明书的一些实施例所示的使用历史首页的小程序启动的示意图;
图3是根据本说明书的一些实施例所示的小程序启动系统的模块图;以及
图4是根据本说明书的一些实施例所示的小程序启动方法的示例性流程图。
具体实施方式
为了更清楚地说明说明书一个或多个实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书一个或多个实施例应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书一个或多个实施例和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书一个或多个实施例中使用了流程图用来说明根据本说明书一个或多个实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本说明书一个或多个实施例可以应用于不同的小程序启动装置,例如,移动设备的应用程序(APP)。本说明书一个或多个实施例描述的终端、移动端或移动端是可以互换的,是指可以在移动中使用的计算机设备。
图1是根据本说明书的一些实施例所示的未使用历史首页的小程序启动的示意图。
在一些实施例中,如图1所示,启动小程序需要经历三个过程。三个过程分别对应图1中的三个手机界面,三个过程可以包括小程序显示界面1002、启动等待界面1004、启动完成界面1006。具体的,用户打开移动终端上的APP后,进入小程序显示界面1002,在小程序显示界面1002上点击“最近使用”中的“小程序示例”,移动终端显示启动等待界面1004页面加载过程,页面加载完成后显示启动完成界面1006,启动完成界面1006上可以包括小程序示例中的相关内容。
在一些实施例中,小程序显示界面1002可以包括但不限于收藏的小程序、最近使用的小程序、推荐的小程序。在一些实施例中,启动等待界面1004可以包括小程序的Loading(加载)页面。小程序加载到真实页面所需的所有数据之后,再进行跳转操作以显示真实页面。在一些实施例中,启动完成界面1006可以是小程序启动后的真实页面。在一些实施例中,启动完成界面1006可以显示小程序的当前内容,以供用户进行操作。在一些实施例中,启动小程序时,启动等待界面1004可以出现Loading(加载)页面显示时间过长、闪屏或白屏的现象,导致用户启动小程序时主观感觉小程序的启动时间较长,用户体验感较差。
图2是根据本说明书的一些实施例所示的使用历史首页的小程序启动的示意图。
在一些实施例中,如图2所示,启动小程序也需要经历三个过程。三个过程分别对应图2中的三个手机界面,三个过程可以包括小程序显示界面1002、历史首页界面2004、启动完成界面1006。具体的,用户打开移动终端上的APP后,进入小程序显示界面1002,在小程序显示界面1002上点击“最近使用”中的“小程序示例”,移动终端显示历史首页界面2004代替启动等待界面1004的加载页面,页面加载完成后,根据小程序的真实首页和历史首页的区别生成页面变化数据,并根据页面变化数据刷新历史首页界面2004,直至完成启动完成界面1006的显示,最后启动完成界面1006上显示的即为小程序示例中的相关内容。例如,历史首页界面2004上更新了“搜索”下历史搜索记录的内容,最后显示内容如启动完成界面1006所示。关于小程序启动的更多描述可以在本申请的其他地方(如图1及其相关描述中)找到,在此不作赘述。在一些实施例中,启动小程序时,历史首页界面2004代替启动等待界面1004可以使用户在启动小程序时主观感觉小程序启动较快,用户体验感较好。
图3是根据本说明书的一些实施例所示的小程序启动装置300的模块图。如图3所示,该小程序启动装置300可以包括接收模块302、获取模块304、生成模块306和发送模块308。在一些实施例中,接收模块302、获取模块304、生成模块306和发送模块308可以包含在图2所示的移动设备的处理器中。
接收模块302可以用于接收小程序的启动请求。在一些实施例中,在一些实施例中,小程序可以包括不需要下载安装即可随时使用的应用程序。例如,支付宝APP中的蚂蚁森林、淘票票电影。关于接收小程序的启动请求的更多描述可以在本申请的其他地方(如流程图4及其相关描述中)找到,在此不作赘述。
获取模块304可以用于根据小程序的启动请求,获取保存的小程序的历史首页并进行显示。
在一些实施例中,历史首页可以为前一次启动小程序时所保存的真实首页。在一些实施例中,历史首页还可以包括小程序的初始Loading页面。在一些实施例中,小程序还可以包括RPC小程序。在一些实施例中,小程序的历史首页的至少部分数据可以由小程序的开发者提供。
在一些实施例中,历史首页可以包括HTML文件。在一些实施例中,HTML文件可以包括DOM树结构。关于获取保存的小程序的历史首页并进行显示的更多描述可以在本申请的其他地方(如流程图4及其相关描述中)找到,在此不作赘述。
生成模块306可以用于当所述小程序的真实首页被创建后,基于小程序的真实页面和历史首页的区别,生成页面变化数据。
在一些实施例中,生成模块306还可以用于基于历史首页,生成历史首页的虚拟DOM树;基于真实首页,生成真实首页的虚拟DOM树;根据历史首页的虚拟DOM树和真实首页的虚拟DOM树,得到需要更改的DOM节点。
在一些实施例中,生成模块306还可以用于通过DOM diff差异算法,获取历史首页的虚拟DOM树和所述真实首页的虚拟DOM树之间的最小差异。
关于生成页面变化数据的更多描述可以在本申请的其他地方(如流程图4及其相关描述中)找到,在此不作赘述。
发送模块308可以用于将页面变化数据发送给渲染组件进行渲染,进而显示所述小程序的真实首页。
在一些实施例中,渲染组件可以用于根据需要更改的DOM节点,更新真实首页DOM树;根据真实首页DOM树刷新程序首页。
关于渲染页面的更多描述可以在本申请的其他地方(如流程图4及其相关描述中)找到,在此不作赘述。
在一些实施例中,发送模块308还可以用于保存真实首页作为下一次启动所述小程序的历史首页。
应当理解,图3所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书一个或多个实施例的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于小程序启动系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,接收模块302和获取模块304可以组合成单个模块。比如,接收模块302可以同时用于执行接收和获取的指令。又例如,可以增加保存模块,代替由发送模块308用于保存真实首页作为下一次启动小程序的历史首页。诸如此类的变形,均在本说明书的保护范围之内。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图4是根据本说明书的一些实施例所示的小程序启动方法400的示例性流程图。具体的,小程序启动方法400可以由处理设备执行。例如,小程序启动方法400可以以程序或指令的形式存储在存储装置(如移动设备的存储设备、存储器)中,当小程序启动装置300(如处理设备)执行该程序或指令时,可以实现小程序启动方法400。如图4所示,小程序启动方法400可以包括:
步骤402,接收小程序的启动请求。具体的,该步骤402可以由接收模块302执行。
在一些实施例中,小程序可以包括不需要下载安装即可随时使用的应用程序。例如,支付宝APP中的蚂蚁森林、淘票票电影。在一些实施例中,小程序的启动请求可以包括请求启动小程序的首页,以进行后续操作(如,购买电影票)。在一些实施例中,小程序的启动请求可以通过用户点击移动终端界面上的小程序图标(如,支付宝APP中蚂蚁森林、淘票票电影对应的图标)触发。
在一些实施例中,接收模块302可以接收小程序的启动请求。
步骤404,根据小程序的启动请求,获取保存的所述小程序的历史首页并进行显示。具体的,该步骤404可以由获取模块304执行。
在一些实施例中,历史首页可以是之前任一次打开小程序首页的页面。优选地,历史首页可以为前一次启动小程序时所保存的真实首页。在一些实施例中,真实首页可以包括小程序加载完成后的真实可操作页面。关于真实首页的更多描述可以在本申请的其他地方(如图1及其相关描述中)找到,在此不作赘述。在一些实施例中,历史首页还可以包括小程序的初始Loading页面。具体的,若小程序为首次启动,没有保存的历史首页,小程序启动时可以显示初始Loading页面,待真实首页加载完成后进行跳转。在一些实施例中,初始Loading页面可以包括加载页面,如图1所示的启动等待界面1004。
在一些实施例中,小程序还可以包括RPC小程序。RPC可以指远程过程调用协议(Remote Produce Call Protocol,RPC),通过网络从远程计算机程序上请求服务。在一些实施例中,RPC小程序可以指使用RPC服务的小程序。
在一些实施例中,RPC小程序的服务可以由小程序的开发者提供。RPC小程序的服务可以包括历史首页的至少部分数据。在一些实施例中,历史首页的至少部分数据可以包括日期数据、列表数据、菜单数据、搜索数据、收藏数据中一种或其组合的数据。
在一些替代性实施例中,小程序可以包括非RPC小程序。在一些实施例中,非RPC小程序的历史首页可以是由小程序所在的应用程序(如,支付宝APP)运营商的服务器提供。
在一些实施例中,历史首页可以包括HTML文件。HTML文件可以为超文本标记语言或超文本链接标示语言(Hyper Text Mark-up Language,HTML)构成的网页文档。
文档对象模型(Document Object Model,DOM)可以以一种独立于平台和语言的方式访问和修改文档的内容和结构。在一些实施例中,HTML文件可以包括DOM树结构。在一些实施例中,HTML文件的DOM树结构可以定义访问和操作HTML的方法。在一些实施例中,DOM树结构的构成要素为“节点”,而文档的DOM结构可以由层次化的节点组成。在DOM模型中,整个文档(Document)可以是一个节点,称为文档节点;除此之外,还可以包括元素(Element)节点、属性节点、实体(Entity)节点、注释(Comment)节点等。DOM树结构可以由多种节点组成的,例如,以HTML Document为根节点,其余节点为子节点,组织成一种树的数据结构即为DOM树结构。
在一些实施例中,获取历史首页的方式可以包括使用应用程序编程接口(API)来实现。例如,使用jsApi来获取历史首页的HTML文件。
通过使用历史首页替换登录界面(启动等待界面1004),可以更快地显示小程序首页(非真实首页)的展示内容,使用户的使用体验更好。
步骤406,当小程序的真实首页被创建后,基于所述小程序的真实首页和历史首页的区别,生成页面变化数据。具体的,该步骤406可以由生成模块306执行。该步骤的执行主体可以包括移动端。
在一些实施例中,真实首页可以包括小程序加载完成后的真实可操作页面。例如,如图1-2所示的启动完成界面1006。在一些实施例中,移动端可以从服务器获取小程序业务包代码并解析,获得真实页面的数据。具体的,移动端的render线程读入真实页面的render部分(与视图相关的数据)、worker线程读入真实页面的worker部分(与数据逻辑相关的数据),JavaScript(JS)引擎对上述数据解析完成后得到真实页面的数据。在一些实施例中,页面变化数据可以包括小程序的真实首页和历史首页之间的区别数据。在一些实施例中,基于小程序的真实首页和历史首页的区别生成页面变化数据可以包括:基于历史首页,可以生成历史首页的虚拟DOM树;基于真实首页,可以生成真实首页的虚拟DOM树;根据历史首页的虚拟DOM树和真实首页的虚拟DOM树,可以得到需要更改的DOM节点。
在一些实施例中,虚拟DOM树可以是一棵以JavaScript对象构成的抽象树。在一些实施例中,虚拟DOM节点可以包括但不限于文档节点、元素节点、文本节点、属性节点、注释节点等。在一些实施例中,虚拟DOM节点可以通过JavaScript(JS)进行访问。在一些实施例中,虚拟DOM节点可以被修改、创建或删除等。在一些实施例中,页面变化数据可以包括需要更改的DOM节点。
在一些实施例中,根据历史首页的虚拟DOM树和真实首页的虚拟DOM树,得到需要更改的DOM节点可以包括:通过DOM diff差异算法,可以获取历史首页的虚拟DOM树和真实首页的虚拟DOM树之间的最小差异。具体的,历史首页的虚拟DOM树和真实首页的虚拟DOM树可以为类似的DOM树结构,对于DOM树结构中同一层的子节点,可以通过唯一识别码(Universally Unique Identifier,UUID)进行区分。关于获取类似的DOM树结构中需要更改的DOM节点,可以通过DOM diff差异算法比较虚拟DOM树结构中对应层节点的不同,从而得到需要更改的DOM节点。在一些实施例中,最小差异可以指虚拟DOM树之间需要更改的节点数目最少时的差别。
在一些实施例中,生成模块306可以基于小程序的真实首页和历史首页的区别,生成页面变化数据。
通过真实首页和历史首页的区别,可以生成页面变化数据,便于后续进行渲染。
步骤408,将页面变化数据发送给渲染组件进行渲染,进而显示所述小程序的真实首页。具体的,该步骤408可以由发送模块308执行。该步骤的执行主体可以包括移动端。
在一些实施例中,渲染组件可以为移动端应用程序中的组件,用于根据页面变化数据对历史首页进行渲染。在一些实施例中,将页面变化数据发送给渲染组件进行渲染可以包括:根据需要更改的DOM节点,更新真实首页DOM树;根据真实首页DOM树刷新程序首页。在一些实施例中,程序首页可以包括但不限于日期数据、列表数据、菜单数据、搜索数据、收藏数据等。
在一些实施例中,更新真实首页DOM树可以包括修改、创建或删除需要更改的DOM节点,得到更新后的真实首页DOM树。在一些实施例中,根据真实首页DOM树刷新程序首页可以包括将更新后的真实首页DOM树通过补丁(patch)传给浏览器内核,然后通过渲染组件刷新小程序的程序首页(即,历史首页)。具体的,渲染组件可以接收到需要更改的DOM节点,然后获取真实首页DOM树,并根据需要更改的DOM节点对真实首页DOM树进行DOM节点更新,以得到更新后的真实首页DOM树,进而用更新后的真实首页DOM树刷新程序首页(当前的历史页面)得到小程序的真实页面。
在一些实施例中,发送模块408可以将页面变化数据发送给渲染组件进行渲染。在一些实施例中,发送模块408可以在客户端界面上显示小程序的真实首页。例如,如图1-2所示的启动完成界面1006。
在一些实施例中,发送模块408可以保存真实首页作为下一次启动小程序的历史首页。
通过页面变化数据对历史首页进行渲染,可以更自然的显示小程序真实首页的展示内容,使用户的使用体验更好。
应当注意的是,上述有关流程400的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程400进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,可以增加步骤410,保存真实首页作为下一次启动小程序的历史首页。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书实施例可能带来的有益效果包括但不限于:使用历史首页替换启动等待界面,用户体验度较好;通过页面变化数据对历史首页进行渲染,无需全部替换历史首页,因而显示界面不会出现闪屏或白屏,可以提升用户体验。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
在一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (17)

1.一种启动小程序的方法,其特征在于,所述方法包括:
接收小程序的启动请求;
根据所述小程序的启动请求,获取保存的所述小程序的历史首页并进行显示;
当所述小程序的真实首页被创建后,基于所述小程序的真实首页和历史首页的区别,生成页面变化数据;以及
将所述页面变化数据发送给渲染组件进行渲染,进而显示所述小程序的真实首页。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
保存所述真实首页作为下一次启动所述小程序的历史首页。
3.如权利要求1所述的方法,其特征在于,所述小程序包括RPC小程序,所述RPC小程序的历史首页的至少部分数据由小程序开发者提供。
4.如权利要求1所述的方法,其特征在于,所述历史首页为HTML文件。
5.如权利要求4所述的方法,其特征在于,所述HTML文件为DOM树结构。
6.如权利要求1所述的方法,其特征在于,所述基于所述小程序的真实首页和历史首页的区别,生成页面变化数据包括:
基于所述历史首页,生成历史首页的虚拟DOM树;
基于所述真实首页,生成真实首页的虚拟DOM树;以及
根据所述历史首页的虚拟DOM树和所述真实首页的虚拟DOM树,得到需要更改的DOM节点。
7.如权利要求6所述的方法,其特征在于,所述根据所述历史首页的虚拟DOM树和所述真实首页的虚拟DOM树,得到需要更改的DOM节点包括:
通过DOM diff差异算法,获取所述历史首页的虚拟DOM树和所述真实首页的虚拟DOM树之间的最小差异。
8.如权利要求6所述的方法,其特征在于,将所述页面变化数据发送给渲染组件进行渲染包括:
根据所述需要更改的DOM节点,更新所述真实首页DOM树;以及
根据所述真实首页DOM树刷新程序首页。
9.一种启动小程序的装置,其特征在于,包括:
接收模块,用于接收小程序的启动请求;
获取模块,用于根据所述小程序的启动请求,获取保存的所述小程序的历史首页并进行显示;
生成模块,用于当所述小程序的真实首页被创建后,基于所述小程序的真实首页和历史首页的区别,生成页面变化数据;以及
发送模块,用于将所述页面变化数据发送给渲染组件进行渲染,进而显示所述小程序的真实首页。
10.如权利要求9所述的装置,其特征在于,所述发送模块还用于:
保存所述真实首页作为下一次启动所述小程序的历史首页。
11.如权利要求9所述的装置,其特征在于,所述小程序包括RPC小程序,所述小程序的历史首页的至少部分数据由小程序开发者提供。
12.如权利要求9所述的装置,其特征在于,所述历史首页为HTML文件。
13.如权利要求12所述的装置,其特征在于,所述HTML文件为DOM树结构。
14.如权利要求9所述的装置,其特征在于,所述生成模块还用于:
基于所述历史首页,生成历史首页的虚拟DOM树;
基于所述真实首页,生成真实首页的虚拟DOM树;以及
根据所述历史首页的虚拟DOM树和所述真实首页的虚拟DOM树,得到需要更改的DOM节点。
15.如权利要求14所述的装置,其特征在于,所述生成模块还用于:
通过DOM diff差异算法,获取所述历史首页的虚拟DOM树和所述真实首页的虚拟DOM树之间的最小差异。
16.如权利要求14所述的装置,其特征在于,所述渲染组件用于:
根据所述需要更改的DOM节点,更新所述真实首页DOM树;以及
根据所述真实首页DOM树刷新程序首页。
17.一种计算设备,其特征在于,所述设备包括至少一个处理器和至少一个存储设备,所述存储设备用于存储指令,当所述至少一个处理器执行所述指令时,实现如权利要求1~8中任一项所述的方法。
CN201910689996.4A 2019-07-29 2019-07-29 一种启动小程序的方法和装置 Pending CN110427225A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910689996.4A CN110427225A (zh) 2019-07-29 2019-07-29 一种启动小程序的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910689996.4A CN110427225A (zh) 2019-07-29 2019-07-29 一种启动小程序的方法和装置

Publications (1)

Publication Number Publication Date
CN110427225A true CN110427225A (zh) 2019-11-08

Family

ID=68412918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910689996.4A Pending CN110427225A (zh) 2019-07-29 2019-07-29 一种启动小程序的方法和装置

Country Status (1)

Country Link
CN (1) CN110427225A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026438A (zh) * 2019-11-29 2020-04-17 百度在线网络技术(北京)有限公司 小程序包和页面关键信息的提取方法、装置、设备及介质
CN112817658A (zh) * 2021-02-01 2021-05-18 中国工商银行股份有限公司 快速启动网络应用的方法和装置
CN113127115A (zh) * 2019-12-31 2021-07-16 腾讯科技(深圳)有限公司 小程序显示界面的生成方法、装置、电子设备及存储介质
CN113515286A (zh) * 2021-05-08 2021-10-19 上海安畅网络科技股份有限公司 一种小程序生成运行方法、装置、设备及存储介质
WO2021223658A1 (zh) * 2020-05-07 2021-11-11 支付宝(杭州)信息技术有限公司 小程序的更新
CN113835789A (zh) * 2020-06-08 2021-12-24 阿里巴巴集团控股有限公司 渲染方法、装置、电子设备及计算机存储介质
CN114339295A (zh) * 2022-01-13 2022-04-12 山东捷瑞数字科技股份有限公司 一种网页直播内容数据更新优化方法和系统
CN114911555A (zh) * 2022-04-19 2022-08-16 北京三快在线科技有限公司 页面显示方法、装置、电子设备及存储介质
CN115576623A (zh) * 2022-09-16 2023-01-06 花瓣云科技有限公司 一种应用程序启动方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8099739B1 (en) * 2007-06-14 2012-01-17 Keithley Instruments, Inc. Java applet management method
CN105607927A (zh) * 2015-12-18 2016-05-25 小米科技有限责任公司 页面显示方法及装置
CN109375918A (zh) * 2018-11-23 2019-02-22 天津字节跳动科技有限公司 小程序的界面渲染方法、装置、电子设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8099739B1 (en) * 2007-06-14 2012-01-17 Keithley Instruments, Inc. Java applet management method
CN105607927A (zh) * 2015-12-18 2016-05-25 小米科技有限责任公司 页面显示方法及装置
CN109375918A (zh) * 2018-11-23 2019-02-22 天津字节跳动科技有限公司 小程序的界面渲染方法、装置、电子设备和存储介质

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026438A (zh) * 2019-11-29 2020-04-17 百度在线网络技术(北京)有限公司 小程序包和页面关键信息的提取方法、装置、设备及介质
CN113127115A (zh) * 2019-12-31 2021-07-16 腾讯科技(深圳)有限公司 小程序显示界面的生成方法、装置、电子设备及存储介质
WO2021223658A1 (zh) * 2020-05-07 2021-11-11 支付宝(杭州)信息技术有限公司 小程序的更新
CN113835789A (zh) * 2020-06-08 2021-12-24 阿里巴巴集团控股有限公司 渲染方法、装置、电子设备及计算机存储介质
CN112817658A (zh) * 2021-02-01 2021-05-18 中国工商银行股份有限公司 快速启动网络应用的方法和装置
CN113515286A (zh) * 2021-05-08 2021-10-19 上海安畅网络科技股份有限公司 一种小程序生成运行方法、装置、设备及存储介质
CN113515286B (zh) * 2021-05-08 2022-06-17 上海安畅网络科技股份有限公司 一种小程序生成运行方法、装置、设备及存储介质
CN114339295A (zh) * 2022-01-13 2022-04-12 山东捷瑞数字科技股份有限公司 一种网页直播内容数据更新优化方法和系统
CN114339295B (zh) * 2022-01-13 2024-03-22 山东捷瑞数字科技股份有限公司 一种网页直播内容数据更新优化方法和系统
CN114911555A (zh) * 2022-04-19 2022-08-16 北京三快在线科技有限公司 页面显示方法、装置、电子设备及存储介质
CN115576623A (zh) * 2022-09-16 2023-01-06 花瓣云科技有限公司 一种应用程序启动方法及装置
CN115576623B (zh) * 2022-09-16 2023-08-22 花瓣云科技有限公司 一种应用程序启动方法及装置

Similar Documents

Publication Publication Date Title
CN110427225A (zh) 一种启动小程序的方法和装置
CN108279932B (zh) 一种移动终端动态配置用户界面方法和装置
CN105354013B (zh) 应用界面渲染方法及装置
US7263699B2 (en) Preparation of a software configuration using an XML type programming language
US20170102925A1 (en) Automatch process and system for software development kit for application programming interface
CN109062563B (zh) 用于生成页面的方法和装置
CN110187878A (zh) 一种页面生成方法和装置
US9858094B2 (en) Monitoring and actuation of view controller parameters to reach deep states without manual developer intervention
US8839192B2 (en) System and method for presentation of cross organizational applications
CN106997298A (zh) 一种应用资源获取方法及装置
CN104572114A (zh) 一种绑定装置、应用更新装置及方法以及应用
CN108170430B (zh) 一种界面展示的方法及系统
WO2017166448A1 (zh) 内核漏洞修复方法和装置
CN114385164A (zh) 页面生成与渲染方法、装置、电子设备及存储介质
CN114691132A (zh) 一种arxml文件生成方法、装置、设备及存储介质
CN114706616A (zh) 小程序构建方法和装置
CN110020370B (zh) 在客户端应用中实现动画的方法、装置及动画脚本的框架
CN117519877A (zh) 快应用卡片的渲染方法、装置、存储介质及电子设备
US9244672B2 (en) Optimization utility for developing embedded systems
CN112068879A (zh) 基于配置化的客户端应用程序开发框架构建方法及装置
CN115794214B (zh) 应用模块元数据管理方法、设备、存储介质及装置
CN112235132A (zh) 动态配置服务的方法、装置、介质以及服务器
CN108804088B (zh) 协议处理方法和装置
CN112307377A (zh) 信息展示方法、装置及电子设备
US11372627B2 (en) System and method for providing integrated development environment (IDE) for programmable software system

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: 40016837

Country of ref document: HK

TA01 Transfer of patent application right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20191108

RJ01 Rejection of invention patent application after publication