本发明专利技术涉及一种跨设备运行的Web应用软件实现系统和方法。该系统中,Web应用基本实现单元负责Web应用的基本实现,对本地功能方法集合的调用,以及建立实现本地功能方法的脚本文件;Web应用本地运行支撑单元负责实现Web应用在本地运行时对应用文件的引用和对本地功能方法的调用;Web应用网页运行支撑单元负责实现Web应用在网页运行时对应用文件的引用和对本地功能方法的调用。基于本发明专利技术方法,开发者只需开发一次Web应用,就能够以浏览器和本地启动两种访问方式运行这个应用,即同时作为网页Web应用和本地Web应用运行;可以提供给用户多种Web应用访问方式,并且能够让用户在更多的设备访问用户的应用和数据。
【技术实现步骤摘要】
本专利技术属于计算机软件及互联网通信领域,涉及一种提供给开发者快速开发跨设备运行的Web应用软件实现系统和方法。
技术介绍
随着互联网的发展和Web开发技术的不断完善,网页Web应用已经成为面向互联网的用户交互载体。而随着用户智能终端的快速发展,无论是传统的桌面计算机,还是近几年普遍应用的智能手机,本地应用开发也在逐渐向Web化方向发展。目前网页Web开发是以服务器为中心的开发模式,而本地Web应用开发是以单一设备系统为中心的开发模式,所以尽管网页Web应用和本地Web应用都是基于HTML标准来进行的研发,但两种类型应用开发采用完全不同的开发框架,导致两种应用开发和生态环境完全割裂、难以融合。现有的本地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)ffeb应用需要进行Html页面跳转时,依次再次执行以上两步。进一步地,所述Web应用网页运行支撑单元通过如下方法实现对本地功能方法的调用:a)浏览器向Web应用网页运行支撑单元请求对应字符串数组的、写有本地功能方法实现代码的脚本语言文件;b) Web应用网页运行支撑单元收到关于所述脚本语言文件的请求时,如果该Web应用网页运行支撑单元已加载过,则从API对象数组中获得API对象,否则加载对应的脚本语言文件,并建立对应的API对象存放在API对象数组中;c)ffeb应用网页运行支撑单元遍历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.0rg/TR/html5/)。2.Web应用调用本地功能方法均通过调用以字符串数组为参数的方法(下文用requireAPI代指这一个方法),采用回调函数返回一个对象数组获取本地功能方法调用的能力。3.Web应用调用本地功能方法的第一个参数为回调函数,其他参数类型支持可进行字符串封装的类型。4.本地功能方法可以是获取本地应用列表、获取或保存本地文件、启动应用、获取可连接设备列表、获取修改本地配置等功能,即除HTML5规范中规定的方法以外的提供给应用调用的方法,用图1所示的funct1nA-l、funct1nB-l等来表示,其实现代码写在符合CommonJS规范(http://www.common js.0rg/specs/)的脚本语言文件中,并存放在一个API路径中(下文用APIPATH来代指这一目录),其中脚本语言文件名与第2步中的字符串参数名称相同。不同的本地功能实现方法不限制是否放在同一个脚本语言文件中,脚本语言文件中的方法的实现代码可以调用其他目录下的脚本语言文件,不限制在APIPATH目录下。5.Web应用中的html文件需要在head段中加入一行对本地功能方法调用的实现文件(下文中以ap1.js指代),ap1.js中提供了 requireAPI方法的实现,ap1.js也是本地运行支撑环境和网页运行支撑环境的入口。二.Web应用本地运行支撑实现方法Web应用本地运行支撑实现主要包含两个部分,一个是对应用文件的引用,包括html文件、脚本语言文件和样式文件,另一个是对本地功能方法的本文档来自技高网...
【技术保护点】
一种跨设备运行的Web应用软件实现系统,其特征在于,包括:Web应用基本实现单元,负责进行Web应用的基本实现,并实现对本地功能方法集合的调用,以及建立实现本地功能方法的脚本文件;Web应用本地运行支撑单元,负责实现Web应用在本地运行时对应用文件的引用和对本地功能方法的调用;Web应用网页运行支撑单元,负责实现Web应用在网页运行时对应用文件的引用和对本地功能方法的调用。
【技术特征摘要】
【专利技术属性】
技术研发人员:王建民,王枫,王勃,吴西飞,王坦,梁冠宇,胡渊喆,戴希铨,
申请(专利权)人:中国科学院软件研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。