首页> 中国专利> 一种跨设备运行的Web应用软件实现系统和方法

一种跨设备运行的Web应用软件实现系统和方法

摘要

本发明涉及一种跨设备运行的Web应用软件实现系统和方法。该系统中,Web应用基本实现单元负责Web应用的基本实现,对本地功能方法集合的调用,以及建立实现本地功能方法的脚本文件;Web应用本地运行支撑单元负责实现Web应用在本地运行时对应用文件的引用和对本地功能方法的调用;Web应用网页运行支撑单元负责实现Web应用在网页运行时对应用文件的引用和对本地功能方法的调用。基于本发明方法,开发者只需开发一次Web应用,就能够以浏览器和本地启动两种访问方式运行这个应用,即同时作为网页Web应用和本地Web应用运行;可以提供给用户多种Web应用访问方式,并且能够让用户在更多的设备访问用户的应用和数据。

著录项

  • 公开/公告号CN105068802A

    专利类型发明专利

  • 公开/公告日2015-11-18

    原文格式PDF

  • 申请/专利权人 中国科学院软件研究所;

    申请/专利号CN201510477615.8

  • 申请日2015-08-06

  • 分类号G06F9/44(20060101);

  • 代理机构北京君尚知识产权代理事务所(普通合伙);

  • 代理人冯艺东

  • 地址 100190 北京市海淀区中关村南四街4号

  • 入库时间 2023-12-18 12:16:22

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-10-02

    授权

    授权

  • 2015-12-16

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20150806

    实质审查的生效

  • 2015-11-18

    公开

    公开

说明书

技术领域

本发明属于计算机软件及互联网通信领域,涉及一种提供给开发者快速开发跨设备运行 的Web应用软件实现系统和方法。

背景技术

随着互联网的发展和Web开发技术的不断完善,网页Web应用已经成为面向互联网的用 户交互载体。而随着用户智能终端的快速发展,无论是传统的桌面计算机,还是近几年普遍 应用的智能手机,本地应用开发也在逐渐向Web化方向发展。

目前网页Web开发是以服务器为中心的开发模式,而本地Web应用开发是以单一设备系 统为中心的开发模式,所以尽管网页Web应用和本地Web应用都是基于HTML标准来进行 的研发,但两种类型应用开发采用完全不同的开发框架,导致两种应用开发和生态环境完全 割裂、难以融合。现有的本地Web应用开发也无法充分利用用户多设备的优势进行跨设备交 互。因此,需要一种新型Web开发技术来满足现有需求。

发明内容

本发明的目的在于提供给开发者一种跨设备运行的Web应用软件实现系统和方法,能够 将开发的Web应用同时作为网页Web应用和本地Web应用运行。

本发明采用的技术方案如下:

一种跨设备运行的Web应用软件实现系统,其包括:

Web应用基本实现单元,负责进行Web应用的基本实现,并实现对本地功能方法集合的 调用(本地功能方法也可称为本地功能对象,本地功能方法集合也可称为本地功能对象集合), 以及建立实现本地功能方法的脚本文件;

Web应用本地运行支撑单元,负责实现Web应用在本地运行时对应用文件的引用和对本 地功能方法的调用;

Web应用网页运行支撑单元,负责实现Web应用在网页运行时对应用文件的引用和对本 地功能方法的调用。

进一步地,所述Web应用的基本实现兼容HTML5标准;所述本地功能方法的实现代码 写在符合CommonJS规范的脚本语言文件中,并存放在一个API路径中。

进一步地,所述Web应用基本实现单元以字符串数组为参数实现Web应用调用本地功能 方法,或者通过宏定义、序号标识、或单一字符等方式获取对本地功能方法的调用能力。

进一步地,所述Web应用网页运行支撑单元在用户需要时启动,启动后用户获得访问网 页版Web应用的地址,并通过浏览器打开运行。

一种采用上述系统的跨设备运行的Web应用软件实现方法,其特征在于,首先通过Web 应用基本实现单元进行Web应用的基本实现,以开发Web应用;然后通过Web应用本地运 行支撑单元和Web应用网页运行支撑单元,将开发的Web应用同时作为本地Web应用和网 页Web应用两种方式运行。

进一步地,所述Web应用本地运行支撑单元对于本地文件的引用路径采用相对路径表示, 具体是指本地文件相对于HTML文件的相对路径;所述Web应用本地运行支撑单元调用本地 功能方法时,加载与字符串数组参数对应的一个或多个脚本语言文件,并建立对应的一个或 多个对象组成的数组,通过回调方法将该数组返回给Web应用来获得本地功能方法调用的能 力。

进一步地,所述Web应用网页运行支撑单元在用户需要时启动,启动后用户获得访问网 页版Web应用的地址,并通过浏览器打开运行,然后通过如下方法实现对应用文件的引用:

a)用户访问对应地址时,Web应用网页运行支撑单元收到请求并返回对应应用的主页面 HTML文件;

b)浏览器通过对HTML的解析,向Web应用网页运行支撑单元请求相关的脚本语言文 件、样式文件,Web应用网页运行支撑单元根据相对地址返回Web应用需要加载的文件;

c)Web应用需要进行Html页面跳转时,依次再次执行以上两步。

进一步地,所述Web应用网页运行支撑单元通过如下方法实现对本地功能方法的调用:

a)浏览器向Web应用网页运行支撑单元请求对应字符串数组的、写有本地功能方法实 现代码的脚本语言文件;

b)Web应用网页运行支撑单元收到关于所述脚本语言文件的请求时,如果该Web应用 网页运行支撑单元已加载过,则从API对象数组中获得API对象,否则加载对应的脚本语言 文件,并建立对应的API对象存放在API对象数组中;

c)Web应用网页运行支撑单元遍历API对象所具有的本地功能方法,获得该方法的名 称,然后根据本地功能方法的名称,按照脚本语言文件规范,建立一个远程调用本地方法的 代理脚本语言文件,并将此代理脚本语言文件返回给步骤a)中浏览器的请求;

d)所述代理脚本语言文件中每一个方法的实现都是向网页运行支撑发起一个异步请求, 当异步请求返回时,利用调用方法中作为第一个参数的回调函数来完成Web应用的本地功能 调用。

本发明的优点是:基于该方法开发者只需要开发一次Web应用并部署在设备上,就能够 以浏览器和本地启动两种访问方式运行这个应用,即同时作为网页Web应用和本地Web应用 运行。该方法可以提供给用户多种Web应用访问方式,并且能够让用户在更多的设备访问用 户的应用和数据。

附图说明

图1为本发明Web应用本地运行支撑(本地功能方法调用)框架图。

图2为本发明Web应用网页运行支撑框架图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图, 对本发明做进一步说明。

本发明的快速开发跨设备运行的新型Web应用软件实现方法,包含三个部分:Web应用 基本实现方法、Web应用本地运行支撑实现方法、Web应用网页运行支撑实现方法。这三部 分也可分别称为Web应用基本实现单元、Web应用本地运行支撑单元、Web应用网页运行支 撑单元。

一.Web应用基本实现方法

Web应用基本实现包括兼容HTML5标准的应用实现,一个以字符串(数组)为参数的 请求本地功能方法集合(本地功能方法也可称为本地功能对象,本地功能方法集合也可称为 本地功能对象集合)的方法,以及一系列实现本地功能的脚本文件。

1.Web应用开发基础实现兼容HTML5标准(http://www.w3.org/TR/html5/)。

2.Web应用调用本地功能方法均通过调用以字符串数组为参数的方法(下文用requireAPI 代指这一个方法),采用回调函数返回一个对象数组获取本地功能方法调用的能力。

3.Web应用调用本地功能方法的第一个参数为回调函数,其他参数类型支持可进行字符 串封装的类型。

4.本地功能方法可以是获取本地应用列表、获取或保存本地文件、启动应用、获取可连 接设备列表、获取修改本地配置等功能,即除HTML5规范中规定的方法以外的提供给应用 调用的方法,用图1所示的functionA-1、functionB-1等来表示,其实现代码写在符合CommonJS 规范(http://www.commonjs.org/specs/)的脚本语言文件中,并存放在一个API路径中(下文 用APIPATH来代指这一目录),其中脚本语言文件名与第2步中的字符串参数名称相同。不 同的本地功能实现方法不限制是否放在同一个脚本语言文件中,脚本语言文件中的方法的实 现代码可以调用其他目录下的脚本语言文件,不限制在APIPATH目录下。

5.Web应用中的html文件需要在head段中加入一行对本地功能方法调用的实现文件(下 文中以api.js指代),api.js中提供了requireAPI方法的实现,api.js也是本地运行支撑环境和 网页运行支撑环境的入口。

二.Web应用本地运行支撑实现方法

Web应用本地运行支撑实现主要包含两个部分,一个是对应用文件的引用,包括html文 件、脚本语言文件和样式文件,另一个是对本地功能方法的调用。

1.对应用文件的引用

对于本地文件的引用路径采用相对路径表示,具体是指本地文件(如脚本语言文件、样 式文件)相对于HTML文件的相对路径,如类似于./path/filename或../path/filename的路径 表示方式(图1-①)。

2.对本地功能方法的调用

本地运行支撑提供的api.js提供了requireAPI的方法的实现:当Web应用调用requireAPI 的方法时(图1-②),本地运行支撑通过加载APIPATH目录下的与字符串数组参数对应的一 个或多个脚本语言文件,并建立对应的一个或多个对象组成的数组(图1-④),并通过回调方 法将该数组返回给Web应用来获得本地功能方法调用的能力((图1-③)。

三.Web应用网页运行支撑实现方法

Web应用网页运行支撑实现主要包含两个部分,一个是对应用文件的引用,包括html文 件、脚本语言文件和样式文件,另一个是对本地功能方法的调用。具体来说,Web应用网页 运行支撑包括一个提供Web应用文件远程访问的服务程序、远程请求本地功能的代理脚本文 件生成、远程调用本地功能的代理脚本文件生成、远程方法调用的解析和代理执行等内容。

1.对应用文件的引用

1.1.Web应用网页运行支撑将在用户需要时启动,启动后用户获得访问网页版Web应用 的地址,可在任意可连接运行网页运行支撑机器的设备上通过浏览器打开运行,由图2中所 示的“网页支撑路由”按如下实现方法提供支持。

1.2.用户访问对应地址时,Web应用网页运行支撑收到请求并返回对应应用的主页面 HTML文件(图2-①);

1.3.浏览器通过对HTML的解析,将向网页运行支撑请求相关的脚本语言文件、样式文 件,这里与Web应用本地运行支撑实现方法中相同,发出的请求是脚本语言文件、样式文件 相对于HTML文件的相对路径,网页运行支撑将根据请求的相对地址返回Web应用需要加载 的文件(图2-②);

1.4.Web应用需要进行html页面跳转时,将依次再次执行以上两步。

2.对本地功能方法的调用

2.1.用户在执行1.2步时,浏览器会向网页运行支撑请求api.js文件(图2-③);

2.2.网页运行支撑提供的api.js文件提供了requireAPI方法的实现:通过ajax异步向 网页运行支撑请求对应字符串数组的多个APIPATH目录下的脚本语言文件(图2-④);

2.3.当网页运行支撑收到针对APIPATH目录的脚本语言文件请求时,如果网页运行支 撑已加载过,则从API对象数组中获得该对象,否则将加载APIPATH目录下对应的脚本语 言文件,并建立对应的对象存放在API对象数组中(图2-⑤);

2.4.网页运行支撑将遍历API对象所具有的本地功能方法,获得该方法的名称;

2.5.网页运行支撑根据本地功能方法的名称,按照脚本语言文件规范,建立一个远程调 用本地方法的代理脚本语言文件(图2-⑥所示的代理js文件),并将此脚本语言文件返回给 2.2步中浏览器的请求(图2-⑦);

2.6.代理脚本语言文件中每一个方法的实现都是向网页运行支撑发起一个异步请求,参 数为调用的方法名和参数,当异步请求返回时,将调用方法中作为第一个参数的回调函数来 完成Web应用的本地功能调用(图2-⑧);

2.7.当Web应用执行过程中执行了本地功能调用apiA.funcA时,将按2.6步执行,网页 运行支撑收到这种异步请求时,将从API对象数组获取对应的apiA对象,并代理执行funcA 方法,网页运行支撑通过回调方法获得funcA方法的返回值数组,然后调用异步请求回调将 返回值数组返回给浏览器端;

2.8.浏览器端收到异步回调,并根据2.6步执行完成Web应用的本地功能调用。

至此,已经完成开发一个Web应用同时作为本地Web应用和网页Web应用两种方式的 运行。

综上所述,通过综合利用本地Web应用和网页Web应用加载方法的异同点,结合本地功 能方法调用的特点和规范化,实现了开发者只需要开发一次Web应用和部署一次web应用, 就可以提供给用户多种Web应用访问方式,并且能够让用户在更多的设备访问用户的应用和 数据。

上述实施例以字符串为参数来获取本地功能对象(方法)的调用能力,在其它实施例中 也可以通过宏定义、序号标识、单一字符等方式来获取,均属于本发明方案描述的替代方式。 另外,对于本地功能方法的调用,也可以不经过请求本地功能对象数组的方式而直接通过名 称引用的方式进行调用。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可 以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保 护范围应以权利要求书所述为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号