用于网络应用程序执行的客户端应用程序制造技术

技术编号:28767392 阅读:22 留言:0更新日期:2021-06-09 10:52
公开了提供能够在特定网络浏览器或客户端平台本机的客户端应用程序中执行的网络应用程序的技术。特定网络浏览器和客户端平台支持不同的功能组。服务器计算机系统托管网络应用程序以便分发给客户端应用程序的实例。服务器计算机系统从以下处接收针对网络应用程序的请求:在实现客户端平台的客户端设备上执行的客户端应用程序的特定实例。服务器计算机系统将网络应用程序发送到特定实例,以使该网络应用程序在特定实例中执行。执行网络应用程序允许网络应用程序使用特定网络浏览器不支持的至少一项功能。的至少一项功能。的至少一项功能。

【技术实现步骤摘要】
【国外来华专利技术】用于网络应用程序执行的客户端应用程序


[0001]本公开总体上涉及在客户端应用程序中执行网络应用程序。

技术介绍

[0002]计算机系统通常经过包括诸如因特网等广域网的网络与其他计算机系统进行信息通信。一种通信形式是从服务器计算机系统向客户端计算机系统发送网页(即通常以超文本标记语言(HTML)进行编写并且可以通过万维网进行访问的文档),该客户端计算机系统将网页呈现给用户,用户可以查看网页并与之交互。特别地,用户可以使用网络浏览器请求访问一组网页,然后使用网络浏览器查看网页并与之交互。这种交互可包含用户向网页提供网络浏览器的输入,从网页复制内容,使用网页链接浏览网页等。
附图说明
[0003]图1为示出了根据一些实施例的一种具有服务器系统的系统的示例元素的框图,该服务器系统能够将网络应用程序分发给网络浏览器和客户端应用程序。
[0004]图2为示出了根据一些实施例的一种服务器系统的示例元素的框图,该服务器系统能够分发网络应用程序。
[0005]图3为示出了根据一些实施例的一种网络浏览器的示例元素的框图,该网络浏览器能够执行网络应用程序。
[0006]图4为示出了根据一些实施例的一种客户端应用程序的示例元素的框图,该客户端应用程序能够执行网络应用程序。
[0007]图5和图6为示出了根据一些实施例的一种包含提供客户端应用程序的示例方法的流程图。
[0008]图7为示出了根据一些实施例的一种包含执行网络应用程序的示例方法的流程图。
[0009]图8为示出了根据一些实施例的一种示例计算机系统的框图。
[0010]本公开包括引用“一个实施例”或“一实施例”。词组“在一个实施例中”或“在一实施例中”不一定指的是相同的实施例。可以以与本公开一致的任何合适方式来对特定特征、结构或特性进行组合。
[0011]在本公开内,可以将不同实体(其可以以不同的方式称为“单元”、“电路”、其他组件等)描述或声称为“配置”以执行一项或多项任务或操作。在本文中,使用该表述(即配置为[执行一项或多项任务]的[实体])来指代结构(即电子电路等物理事物)。更具体地,该表述用于指示该结构被设置为在操作期间执行一项或多项任务。即使某个结构当前未被操作,也可以说是该结构“被配置为”执行某项任务。即使当前未使用所讨论的集成电路(例如未与其连接的电源),“被配置为通过网络进行通信的网络接口”旨在涵盖例如具有在操作期间执行此功能的集成电路。因此,被描述或叙述为“被配置为”执行某项任务的实体是指某种物理事物,例如设备、电路、存储有程序指令的存储器等,执行程序指令以实现此任务。
此词组在本文中不用于指代无形的事物。因此,该“被配置为”结构在本文中不用于指代应用编程接口(API)等软件实体。
[0012]术语“被配置为”并不旨在表示“可配置为”。例如,尽管未编程的现场可编程门阵列(FPGA)可以是“可配置为”执行某些特定功能,也可以是在编程后“被配置为”执行某些特定功能,但是不会认为其是“被配置为”执行该功能。
[0013]如本文所使用,除非特别说明,术语“第一”、“第二”等用作在它们之前的名词的标签,并且不暗示任何类型的排序(例如,空间、时间、逻辑排序等)。例如,在具有八个处理核心的处理器中,术语“第一”和“第二”处理核心可用于指八个处理核心中的任何两个。换句话说,例如,第一和第二处理核心不限于处理核心0和1。
[0014]如本文所用,术语“基于”用于描述影响确定的一个或多个因素。该术语不排除其他因素可能影响确定的可能性。即,确定可以仅基于指定因素或基于指定因素以及其他未指定因素。考虑词组“基于B确定A”,此词组说明B是用于确定A的因素或影响A的确定的因素。此词组并不排除A的确定也可以基于某些其他因素(例如C)的情况。该词组还旨在涵盖仅基于B确定A的实施例。如本文所用,词组“基于”因此与词组“至少部分基于”同义。
具体实施方式
[0015]用户在查看网页并与之交互时所具有的体验类型通常取决于所使用的网络浏览器的实现。例如,如果网络浏览器实现了基于位置的功能,则用户可以提供其位置以获得更好的体验,其中网页向用户呈现与位置有关的信息。但是,还有如地理围栏等许多功能没有通过现有网络浏览器实现。(地理围栏是基于位于预定义的地理区域内的用户执行动作的能力。)因此,在某些情况下,网络浏览器无法为用户提供功能丰富的体验。此外,网络浏览器实现的功能通常不如可在其上执行网络浏览器的客户端平台(例如)所提供的对应功能那样通用和强大。需要实现一种可以执行客户端应用程序(例如网页)并使其访问更多功能的环境,包括由客户端平台提供的功能。
[0016]本公开描述了用于实现以下内容的技术:能够执行网络应用程序并使其访问由客户端平台提供的本机功能的客户端应用程序。网络应用程序的示例可以是网页,而客户端应用程序的示例可以是专门针对开发的一款应用程序。在下面描述的各种实施例中,客户端平台本机的客户端应用程序包括:可以在其中执行网络应用程序的执行环境,以及通过其网络应用程序可以调用客户端平台的功能的功能应用编程接口(API)。在一些实施例中,功能API包括一组模块,网络应用程序可以通过该组模块调用客户端应用程序在客户端平台上执行的客户端平台的一组对应功能。
[0017]在各种实施例中,服务器计算机系统托管:可应请求分发给网络浏览器和客户端应用程序的网络应用程序。因此,服务器计算机系统可以将网络应用程序发送到在客户端设备执行的客户端应用程序的特定实例,该客户端设备实现与客户端应用程序对应的客户端平台。客户端应用程序的特定实例可用于在其执行环境中执行接收到的网络应用程序。在各种情况下,当在特定实例中执行该网络应用程序时,该网络应用程序会调用网络浏览器不支持的如地理围栏等至少一项功能。
[0018]由于这些技术允许开发人员编写一种可以提供给浏览器或特定平台本机的本机应用程序所使用的代码库(例如网络应用程序),因此认为该技术优于现有技术。也就是说,
开发人员可以仅开发一个应用程序(其可以在不同的平台上执行),而不必为每个平台开发针对于该平台的应用程序。例如,开发人员可以开发可由网络浏览器、Android
TM
以及执行的一种应用程序,而不是开发用于网络浏览器的应用程序,用于Android
TM
的应用程序以及用于的应用程序。因此,服务器计算机系统可以应请求将相同的网络应用程序提供给网络浏览器和本机应用程序。在运行时,网络应用程序可以检查哪些功能在其运行容器(即网络浏览器或本机应用程序)中是可用的,并在适当时调用这些功能。
[0019]此外,这些技术允许网络应用程序调用客户端平台的本机功能,与网络浏览器提供的对应功能相比,其各种功能会更具通用性,更强大。因此,当查看网络应用程序并与之交互时,用户可以获得更好的体验。也就是说,在本机应用程序中运行时,网络应用程序(无需更改其代码)可以使用本机功能(该功能会在网络浏览器中丢失)。从图1开始,现将在下面讨本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于提供能够在特定网络浏览器中和客户端平台本机的客户端应用程序中执行的网络应用程序的方法,其中,所述特定网络浏览器和所述客户端平台支持不同的功能组,包括:托管所述网络应用程序以便分发到所述客户端应用程序的实例,其中,所述客户端应用程序实现:一组使所述网络应用程序能够调用所述客户端平台支持的一组功能的模块,并且其中,当在所述客户端应用程序的实例中执行时,所述网络应用程序能够调用所述特定网络浏览器不支持的至少一项功能;从以下处接收针对所述网络应用程序的请求:在实现所述客户端平台的客户端设备上执行的所述客户端应用程序的特定实例;以及将所述网络应用程序发送到所述客户端应用程序的所述特定实例,以使所述网络应用程序在所述特定实例中执行,其中,在所述特定实例中执行所述网络应用程序允许所述网络应用程序调用特所述定网络浏览器不支持的所述至少一项功能。2.根据权利要求1所述的方法,其中,所述特定网络浏览器在第二客户端设备上执行,并且所述方法还包括:从在所述第二客户端设备上执行的所述特定网络浏览器处接收针对所述网络应用程序的第二请求;以及将所述网络应用程序发送到所述特定网络浏览器,以使所述网络应用程序在所述特定网络浏览器中执行,其中,当在所述特定网络浏览器中执行时,所述网络应用程序不能调用所述至少一项功能。3.根据权利要求2所述的方法,其中,所述第二客户端设备为所述客户端设备。4.根据权利要求1至3中任一项所述的方法,还包括:从以下处接收针对所述网络应用程序的第二请求:在实现第二客户端平台的第二客户端设备上执行的第二客户端应用程序的第二特定实例,其中,所述第二客户端平台支持与所述特定网络浏览器和所述客户端平台不同的功能组;以及将所述网络应用程序发送到所述第二客户端应用程序的所述第二特定实例,以使所述网络应用程序在所述第二特定实例中执行,其中,在所述第二特定实例中执行所述网络应用程序允许所述网络应用程序调用所述特定网络浏览器和所述客户端平台不支持的至少一项功能。5.根据权利要求4所述的方法,其中,所述第二客户端平台对应于与所述客户端平台不同的操作系统。6.根据权利要求1至5中任一项所述的方法,还包括:访问识别以下内容的功能信息:由所述客户端应用程序实现的所述模块组;以及响应于针对所述功能信息的请求,使得所述功能信息呈现给与针对所述功能信息的请求相关联的用户。7.根据权利要求1至6中任一项所述的方法,还包括:接收对所述网络应用程序的更新,其中,更新所述网络应用程序,使得所述网络应用程序能够调用所述客户端平台而非所述特定网络浏览器支持的附加功能。8.根据权利要求1至7中任一项所述的方法,还包括:托管第二网络应用程序以便分发给所述客户端应用程序的实例,其中,所述第二网络
应用程序能够调用与所述网络应用程序不同的功能组;以及响应于来自所述第二网络应用程序的所述特定实例的请求,服务器计算机系统将所述第二网络应用程序发送到所述特定实例,以...

【专利技术属性】
技术研发人员:W
申请(专利权)人:易享信息技术有限公司
类型:发明
国别省市:

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

1