混合应用中的快速页面加载制造技术

技术编号:21958983 阅读:30 留言:0更新日期:2019-08-24 22:17
本公开的示例涉及用于在混合应用中提供快速页面加载的系统和方法。在示例中,混合应用可以包括本机组件和基于web的组件。为了改进性能,该混合应用可以缓存基于web的组件,该基于web的组件可以进而缓存模板页面。该模板页面可以包括web资源并且可以使用原位更新而被更新,以使得可以在不执行完整页面重载的情况下更新内容。该模板页面可以包括请求处理程序组件,其可以接收针对web资源的请求,确定该web资源可以在模板页面内被加载,以及请求该web资源。接着,该请求处理程序组件可以基于所接收的响应利用内容来更新模板页面。如果该组件不可用,则该web资源可以在基于web的组件内正常地被加载。

Fast Page Loading in Hybrid Applications

【技术实现步骤摘要】
【国外来华专利技术】混合应用中的快速页面加载
技术介绍
混合应用可以包括多个组件,其中,每个组件可以提供应用内的不同功能。由于每个组件所提供的独特特性或益处,可以在混合应用中使用不同组件。作为示例,本机组件可以为了性能、本地硬件和存储访问而被使用,并且用来提供特定于设备的特征。相比之下,可以使用基于web(网络)的组件来降低跨平台研发的成本并且在发布对应用的更新时提供较大的灵活性。然而,与本机组件相比,这样的基于web的组件可能操作地较慢。作为结果,尤其是与由本机组件所提供的功能相比,由混合应用所提供的基于web的功能可能表现得缓慢或无响应。在本文中所公开的方面是关于这些和其他一般考虑来进行的。而且,尽管已经讨论了相对具体的问题,但应当理解的是,所述示例不应当受限于解决在
技术介绍
或该公开的其他地方中所标识的具体问题。
技术实现思路
本公开的示例涉及用于在混合应用中提供快速页面加载的系统和方法。在示例中,混合应用可以包括由多个组件所提供的功能。一个组件可以是本机组件,而另一个则可以是基于web的组件。作为示例,每个组件可以提供混合应用内的图形用户界面(GUI)中的用户界面元素。为了改进性能,该混合应用可以缓存基于web的组件,该基于web的组件可以进而缓存模板页面。该模板页面可以由一个或多个web资源组成。此外,该模板页面可以允许在基于web的组件内执行原位(inplace)更新,以使得可以在不需要执行对web资源的完整页面加载的情况下将内容添加至该模板页面。该模板页面可以包括请求处理程序(handler)组件,其可以接收针对web资源的请求(例如,从移动应用或者从本机组件)。该请求处理程序组件可以确定:可以使用该模板页面来加载web资源。作为结果,该请求处理程序可以请求web资源,从服务器接收响应,并且更新模板页面以包含所接收的内容。如果该请求处理程序组件或基于web的组件不可用或者没有被缓存,则web资源可以在基于web的组件中被正常加载。提供了该
技术实现思路
以用简化形式引入在以下的具体实施方式中进一步描述的概念的选择。该
技术实现思路
不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来限制所要求保护的主题的范围。示例的另外的方面、特征和/或优点将在随后的描述中被部分阐述并且将部分地从该描述中是显而易见的,或者可以通过对本公开的实践而习得。附图说明参考以下附图对非限制和非穷举的示例进行描述。图1图示了用于在混合应用中执行快速页面加载的示例系统的概况。图2A和2B图示了用于在混合应用中执行快速页面加载的示例系统的概况。图3图示了用于在混合应用中执行快速页面加载的示例方法的概况。图4A和4B图示了用于在混合应用中执行快速页面加载的示例方法的概况。图5是图示了可以利用其实践本公开的方面的计算设备的示例物理组件的框图。图6A和6B是可以利用其实践本公开的方面的移动计算设备的简化框图。图7是可以在其中实践本公开的方面的分布式计算系统的简化框图。图8图示了用于执行本公开的一个或多个方面的平板计算设备。具体实施方式在下文中参考形成了其一部分并且示出了具体示例性方面的附图更加完整地描述了公开的各种方面。然而,本公开的不同方面可以以许多不同的形式来实现,并且不应当被理解为限于在本文中所阐述的方面;相反,提供了这些方面以使得该公开将是彻底和完整的,并且将向本领域技术人员完全传达所述方面的范围。多个方面可以被实践为方法、系统、或设备。由此,多个方面可以采取硬件实现、完全软件实现、或者组合了软件和硬件方面的实现的形式。因此,以下的详细描述不被认为是限制性意义。本公开提供了用于在混合应用中执行快速页面加载的系统和方法。混合应用可以包括多个组件,并且每个组件可以使用不同的计算语言被编写,使用不同的框架被生成,或者由不同的过程来执行,等等。作为示例,混合应用可以包括本机组件(例如,以诸如C、C++、Objective-C、Swift等之类的计算语言被编写)以及基于web的组件(例如,以诸如HTML、JavaScript、CSS、PHP等之类的基于web的语言被编写,从web服务器获取,以及在混合应用中被显示)。本领域技术人员将会意识到,多种技术、语言、和框架可以是混合应用的一部分而不脱离该公开的精神。在一些示例中,可以使用包括混合应用的组件来基于对每个组件独特的特性来执行不同任务,所述特性包括但不限于性能考量、研发成本、或者安全性特征。如在上文中所讨论的,混合应用可以包括本机组件和基于web的组件。可以使用本机组件来提供设备集成(例如,访问本地存储的文件,与具体硬件功能交互等)、显示图形用户界面(GUI)元素、以及处理用户输入(例如,处理用户导航、解译语音输入等),等等。相比之下,基于web的组件可以对远程资源(例如,包括图像、视频、样式表、或JavaScript代码等的网页或web应用)进行访问、显示、和交互。由此,可以使用基于web的组件来降低与跨平台研发相关联的研发成本、提供快速部署、并且保持对混合应用的某些方面的控制。不幸的是,尽管有上文所讨论的益处,混合应用可能呈现出某些折衷。在示例中,基于web的组件与本机组件相比可能展现出较慢的执行时间并且响应性较差。作为结果,与由基于web的组件所提供的功能相比,由混合应用的本机组件所提供的功能可能看起来执行得更好或者响应性更好。因此,尽管基于web的组件可以提供降低的研发成本和更大的灵活度,但是由基于web的组件所提供的内容可能响应性较差,这是因为与该内容相关联的资源可能是在远离混合应用的位置处被生成或存储的。在本文中所公开的方面涉及通过以下操作来改进这样的组件的性能特性:缓存组件的至少一部分,检测到该组件被缓存,以及以关于当在混合应用中执行时降低组件的开销(例如,处理时间、远程资源请求等)的方式使用所缓存的组件。混合应用可以缓存一个或多个组件以便降低混合应用和/或其他组件所需的处理时间的量。对组件进行缓存可以包括在事件(例如,用户交互、计时器超时、接收到指示等)之前或者在为事件做准备时执行一个或多个动作。所述一个或多个动作的结果可以被混合应用存储(例如,在临时位置处,在存储设备或存储系统上,在系统存储器中,等等),并且在需要时(例如,一旦事件发生,响应于所接收的指示等)被获取。在一些示例中,混合应用可以在该混合应用被启动时缓存一个或多个组件。在另一示例中,混合应用可以在初始动作之后缓存一个或多个组件(例如,响应于第一事件,缓存可以在为潜在的第二事件做准备时进行)。在其他示例中,组件自身可以执行缓存(例如,对一个或多个页面特征、远程资源等的缓存)。在一个示例中,诸如网页、图像、JavaScript文档或库等之类的“模板”资源可以被组件加载,其中,该模板资源包括通常由该组件使用以执行操作或者通常由与该模板资源相关联的其他资源所加载的一个或多个其他资源。相关联的资源和模板资源可以共享共同的特征,例如共同的设计、布局、库、或框架等。作为结果,对模板资源进行加载可以使得其他资源和特征在接收到针对相关联的资源的请求之前被缓存。例如,一些资源可以是特定于租户的或者具有特定于租户的共享的页面特征,例如共同的框架。由此,可以创建具有共享的页面特征的模板。由此,在加载新的特定于租户的资源时,仅需要将不同于共享的页本文档来自技高网
...

【技术保护点】
1.一种系统,包括:至少一个处理器;以及存储指令的存储器,所述指令当由所述至少一个处理器执行时,实行一组操作,所述一组操作包括:在具有请求处理程序的基于web的组件中缓存包括一个或多个web资源的模板页面;由混合应用来接收针对资源的请求;由所述请求处理程序来确定针对所述资源的所述请求是否能够使用所述基于web的组件中的所述模板页面被处理;当确定所述请求能够被处理时:请求所述资源;响应于所述请求,接收与所述资源相关联的内容;使用所接收到的内容来更新所述模板页面;以及由所述混合应用中的所述基于web的组件,使用由所述基于web的组件所缓存的所述一个或多个web资源中的至少一个web资源来显示经更新的模板页面。

【技术特征摘要】
【国外来华专利技术】2017.01.13 US 62/445,861;2017.05.12 US 15/594,0411.一种系统,包括:至少一个处理器;以及存储指令的存储器,所述指令当由所述至少一个处理器执行时,实行一组操作,所述一组操作包括:在具有请求处理程序的基于web的组件中缓存包括一个或多个web资源的模板页面;由混合应用来接收针对资源的请求;由所述请求处理程序来确定针对所述资源的所述请求是否能够使用所述基于web的组件中的所述模板页面被处理;当确定所述请求能够被处理时:请求所述资源;响应于所述请求,接收与所述资源相关联的内容;使用所接收到的内容来更新所述模板页面;以及由所述混合应用中的所述基于web的组件,使用由所述基于web的组件所缓存的所述一个或多个web资源中的至少一个web资源来显示经更新的模板页面。2.根据权利要求1所述的系统,其中,更新所述模板页面包括基于所接收的内容的至少一部分来执行对所述模板页面的原位更新。3.根据权利要求1所述的系统,其中,与所述资源相关联的所述内容包括与所述资源相关联的一个或多个另外的web资源的清单。4.一种计算机实现的方法,所述方法包括:在具有请求处理程序的基于web的组件中缓存与web应用相关联的模板页面,其中,所述模板页面包括一个或多个web资源;由混合应用来接收针对资源的请求;由所述请求处理程序来确定所述资源是否与所述web应用相关联以及所述模板页面是否可用于处理所述请求;基于确定所述资源与所述web应用相关联以及所述请求能够被处理:请求所述资源;响应于所述请求来接收与所述资源相关联的内容;基于所接收的内容来更新所述模板页面;以及由所述混合应用中的所述基于web的组件,使用由所述基于web的组件所缓存的所述一个或多个web资源中的至少一个web资源来显示经更新的模板页面;以及基于确定所述请求不能够使用所述模板页面被处理,在所述基于web的组件中加载所请求的资源。5.根据权利要求4所述的计算机实现的方法,其中,缓存所述模板页面包括基于所述模板页面来准备文档对象模型...

【专利技术属性】
技术研发人员:D·米伦K·E·利姆
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1