CN107122172B - 轻应用的处理方法、运行方法、设备及应用设备 - Google Patents

轻应用的处理方法、运行方法、设备及应用设备 Download PDF

Info

Publication number
CN107122172B
CN107122172B CN201710178917.4A CN201710178917A CN107122172B CN 107122172 B CN107122172 B CN 107122172B CN 201710178917 A CN201710178917 A CN 201710178917A CN 107122172 B CN107122172 B CN 107122172B
Authority
CN
China
Prior art keywords
light application
target
application service
format
description file
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.)
Active
Application number
CN201710178917.4A
Other languages
English (en)
Other versions
CN107122172A (zh
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.)
Alibaba China Co Ltd
Original Assignee
Guangzhou Shenma Mobile Information Technology Co 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 Guangzhou Shenma Mobile Information Technology Co Ltd filed Critical Guangzhou Shenma Mobile Information Technology Co Ltd
Priority to CN201710178917.4A priority Critical patent/CN107122172B/zh
Publication of CN107122172A publication Critical patent/CN107122172A/zh
Application granted granted Critical
Publication of CN107122172B publication Critical patent/CN107122172B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • 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/44568Immediately runnable code

Abstract

本发明公开了一种轻应用的处理方法、运行方法、设备及应用设备。该处理方法包括:获取与目标轻应用对应的目标源码的语言框架;根据语言框架,提取所述目标源码中包含的轻应用服务信息;将轻应用服务信息,存储为与所述目标轻应用关联的指定格式的描述文件,以供调用本地控件提供对应的轻应用服务。根据本发明,可以使得轻应用自动适配各种不同轻应用平台运行,实现开发者或服务者无需为同一种应用服务针对不同轻应用平台开发对应的轻应用,降低轻应用的开发和推广成本。

Description

轻应用的处理方法、运行方法、设备及应用设备
技术领域
本发明涉及互联网技术领域,更具体地,涉及一种轻应用的处理方法、运行方法、设备及应用设备。
背景技术
轻应用是一种无需下载安装、即搜即用(搜索后直接加载使用)的全功能应用(App),其既具备Web应用(Web App)的可被检索与智能分发的特性,又具有媲美甚至超越本地应用(Native App)的用户体验,可以有效解决优质应用和服务与移动用户需求对接的问题。同时,轻应用的开发对于开发者而言,更为简单友好,成本更低,更易于推广。因此,轻应用得到较广泛的应用。
目前业界中,期望通过轻应用提供应用服务的开发者或者服务商等,通常是基于轻应用平台进行轻应用的开发,但是,不同的轻应用平台可支持的轻应用的具体制式是不同的,例如,新浪微博支持iframe(超文本标记语言标签)嵌入的网页(web)版轻应用和网页视图控件(webview)展示的HTML5(第5版超文本标记语言)版轻应用,而微信支持硬编码(hardcode)的原生(native)版轻应用,因此,导致开发者或者服务商对于同一种应用服务,如果需要在不同的轻应用平台上推广,需要分别针对每个轻应用平台开发对应的轻应用,例如,服务商提供一款用于车贷或房贷的贷款计算轻应用,期望在微博、微信、浏览器以及其他轻应用平台上同步推广,就必须针对上述不同的轻应用平台进行开发,学习开发的成本较高,并且重复开发会带来较高的开发成本以及后期维护和更新成本,实现推广成本较高。
因此,发明人认为,有必要对现有技术中存在的问题进行改进。
发明内容
本发明的一个目的是提供一种用于使得轻应用自动适配不同的轻应用平台运行的新技术方案。
根据本发明的第一方面,提供了一种轻应用的处理方法,包括:
获取与目标轻应用对应的目标源码的语言框架;
根据所述语言框架,提取所述目标源码中包含的轻应用服务信息;
将所述轻应用服务信息,存储为与所述目标轻应用关联的指定格式的描述文件,以供调用本地控件提供对应的轻应用服务。
可选地,所述获取与目标轻应用对应的目标源码的语言框架步骤包括:
根据所获取的目标轻应用的语言框架标识,确定所述语言框架;
和/或
扫描所述目标源码获取对应的引用描述信息,并根据所述引用描述信息确定所述语言框架。
可选地,
所述轻应用服务信息至少包括轻应用视图信息,其中,所述轻应用视图信息用于描述对应的轻应用提供的界面视图服务;
和/或
所述指定格式是XMT格式、JSON格式、TEXT格式或者自定义的HTML5格式中的一种,其中,所述自定义的HTML5格式采用自定义的内容标签。
根据本发明的第二方面,提供一种轻应用的运行方法,包括:
响应于目标轻应用的运行请求,获取与所述目标轻应用关联的指定格式的描述文件;
根据所述描述文件中包含的轻应用服务信息,调用本地控件提供对应的轻应用服务。
可选地,
所述指定格式是所述自定义的HTML5格式,其中,所述自定义的HTML5格式采用自定义的内容标签;
所述方法还包括:
当根据所述描述文件中包含的轻应用服务信息,调用本地控件提供对应的轻应用服务出现异常时,
根据所述描述文件中包含的轻应用服务信息,调用网页控件提供对应的轻应用服务。
可选地,
所述轻应用服务信息至少包括轻应用视图信息,其中,所述轻应用视图信息用于描述对应的轻应用提供的界面视图服务;
和/或
所述指定格式是XMT格式、JSON格式、TEXT格式或者自定义的HTML5格式中的一种,其中,所述自定义的HTML5格式采用自定义的内容标签。
根据本发明的第三方面,提供一种轻应用的处理设备,包括:
语言框架获取单元,用于获取与目标轻应用对应的目标源码的语言框架;
服务信息提取单元,用于根据所述语言框架,提取所述目标源码中包含的轻应用服务信息;
描述文件存储单元,用于将所述轻应用服务信息,存储为与所述目标轻应用关联的指定格式的描述文件,以供调用本地控件提供对应的轻应用服务。
可选地,
所述语言框架获取单元包括:
第一获取单元,用于根据所获取的目标轻应用的语言框架标识,确定所述语言框架;
和/或
第二获取单元,用于扫描所述目标源码获取对应的引用描述信息,并根据所述引用描述信息确定所述语言框架。
根据本发明的第四方面,提供一种轻应用的运行设备,包括:
描述文件获取单元,用于响应于目标轻应用的运行请求,获取与所述目标轻应用关联的指定格式的描述文件;
本地控件调用单元,根据所述描述文件中包含的轻应用服务信息,调用本地控件提供对应的轻应用服务。
可选地,
所述指定格式是所述自定义的HTML5格式,其中,所述自定义的HTML5格式采用自定义的内容标签;
所述设备还包括:
网页控件调用单元,用于所述出现本地控件调用单元出现异常时,根据所述描述文件中包含的轻应用服务信息,调用网页控件提供对应的轻应用服务。
根据本发明的第五方面,提供一种应用设备,包括:
根据本发明的第三方面提供的轻应用的处理设备;
和/或
根据本发明的第四方面提供的轻应用的运行设备。
根据本发明的第六方面,提供一种应用设备,
包括存储器和处理器,
所述存储器,用于存储指令;
所述处理器,用于根据所述指令的控制进行操作以执行本发明的第一方面提供的任一项所述的轻应用的处理方法,
和/或
用于根据所述指令的控制进行操作以执行本发明的第二方面提供的任一项所述的轻应用的运行方法。
本发明的发明人发现,在现有技术中,尚未存在一种轻应用的处理方法、运行方法、设备及应用设备,可以使得轻应用可以自动适配不同的轻应用平台运行,实现开发者或服务者无需为同一种应用服务针对不同轻应用平台开发对应的轻应用,降低轻应用的开发和推广成本。
因此,本发明所要实现的技术任务或者所要解决的技术问题是本领域技术人员从未想到的或者没有预期到的,故本发明是一种新的技术方案。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是显示可用于实现本发明的实施例的应用设备的硬件配置的例子的框图。
图2示出了本发明的第一实施例的轻应用的处理方法的流程图。
图3示出了本发明的第一实施例的轻应用的处理设备的框图。
图4示出了本发明的第二实施例的轻应用的运行方法的示意图。
图5示出了本发明的第二实施例的轻应用的运行设备的框图。
图6示出了本发明的第三实施例的应用设备的框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<实体设备>
图1是示出可以实现本发明的实施例的应用设备1000的硬件配置的框图。
应用设备1000可以是便携式电脑、台式计算机、手机、平板电脑等。如图1所示,应用设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信,具体地可以包括Wifi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。用户可以通过扬声器1700和麦克风1800输入/输出语音信息。
图1所示的应用设备仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。
应用于本发明的实施例中,应用设备1000的所述存储器1200用于存储指令,所述处理器1100用于根据所述指令的控制进行操作。
一个具体的实施例中,所述处理器1100用于根据所述指令的控制进行操作,以执行本发明实施例提供的任意一项轻应用的处理方法,例如,所述存储器1200存储控制轻应用的处理的指令,所述处理器1100根据所述指令控制进行操作:获取与目标轻应用对应的目标源码的语言框架,并根据所述语言框架,提取所述目标源码中包含的轻应用服务信息;将所述轻应用服务信息,存储为与所述目标轻应用关联的指定格式的描述文件,以供调用本地控件提供对应的轻应用服务。
在另一个具体的实施例中,所述处理器1100用于根据所述指令的控制进行操作,以执行本发明实施例提供的任意一项轻应用的运行方法,例如,所述存储器1200存储控制轻应用的运行的指令,所述处理器1100根据所述指令控制进行操作:响应于目标轻应用的运行请求,获取与所述目标轻应用关联的指定格式的描述文件;根据所述描述文件中包含的轻应用服务信息,调用本地控件提供对应的轻应用服务。
而在又一个具体的实施例中,所述处理器1100还可以用于根据所述指令的控制进行操作以执行本发明实施例提供的任意一项轻应用的处理方法,以及可以根据所述指令的控制进行操作以执行本发明实施例提供的任意一项轻应用的运行方法。应当理解的是,此处所述处理器1100可以根据所述指令的控制进行操作以处理某个轻应用,同时还可以根据所述指令的控制进行操作以运行另一轻应用;或者,所述处理器1100可以根据所述指令的控制进行操作以处理某个轻应用,而后还可以根据所述指令的控制进行操作以运行该轻应用等等。
本领域技术人员应当理解,尽管在图1中对应用设备1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,应用设备1000只涉及处理器1100和存储装置1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
<第一实施例>
本实施例的总体构思,是提供一种轻应用的处理方法,基于开发者或者服务商已经基于某个轻应用平台开发得到的轻应用进行处理,使得该轻应用可以自动适配各种不同轻应用平台运行,实现开发者或服务者可以无需为同一种应用服务针对不同轻应用平台开发对应的轻应用,降低轻应用的开发和推广成本。
<方法>
在本实施例中,提供一种轻应用的处理方法及设备,如图2所示,包括:
步骤S2100,获取与目标轻应用对应的目标源码的语言框架;
在本实施例中,目标轻应用是服务商或者开发者期望提供某一种应用服务,而基于某个轻应用平台开发的无需下载、即搜即用的全功能应用。
所述轻应用平台可以是例如浏览器、或者具有浏览器功能的应用,例如微信或者微博。而在现有技术中,基于不同轻应用平台开发的轻应用只能在该轻应用平台上运行,例如,基于微信开发的支持硬编码(hardcode)的原生(native)版轻应用,就不能在微博上运行。
而在本实施例中,可以通过获取与目标轻应用的目标源码的语言框架,基于如图2所示的方法对目标轻应用进行处理,使得该轻应用可以自动适配各种不同轻应用平台运行。
具体应用中,所述目标源码可以由目标轻应用开发者或者服务商上传,也可以通过解析目标轻应用对应的文件获取。
而所述语言框架,是轻应用开发时所使用的基于某一种开发语言的开发框架,所述开发语言可以是例如HTML5(第5版超文本标记语言)、JavaScript(直译式脚本语言)等。不同的轻应用平台支持不同的语言框架,例如,某些浏览器支持基于weex的语言框架(支持基于JavaScript\HTML5\CSS语言开发的开发框架)、或者某些类似浏览器应用如脸书支持的基于ReactNative的语言框架(基于JavaScript语言的开发框架)。服务商或者开发者基于某个轻应用平台开发的目标轻应用,必须基于对应的语言框架进行开发得到符合该语言框架的源码。
具体的一个例子中,服务商或者开发者可以在上传目标轻应用对应的目标源码时,通过向实施本实施例的设备发送消息或者在该设备的界面上提供的输入框输入或者点击选择,来设置语言框架标识,以指明所述目标源码的语言框架,例如是基于weex的语言框架或者是基于react-native的语言框架等等,因此,获取与目标轻应用对应的目标源码的语言框架步骤可以包括:根据所获取的目标轻应用的语言框架标识,确定所述语言框架。
在另一个例子中,可以通过扫描所述目标源码自动检测获取所述目标源码的语言框架,具体地,获取与目标轻应用对应的目标源码的语言框架步骤可以包括:扫描所述目标源码获取对应的引用描述信息,并根据所述引用描述信息确定所述语言框架。
例如,轻应用通常是以压缩文件的形式存在,压缩文件中有多个包含目标源码的文件,通常这些文件中会存在类似index文件这样的包含引用描述信息的入口文件,而引用描述信息中通常描述对应的轻应用引用提供应用服务的文件或者对象,例如,对基于weex的语言框架,会引用后缀为.we的文件,而对基于react-native的语言框架,会使用require('react-native')来获取react对应,因此扫描目标源码获取对应的引用描述信息,就可以根据引用描述信息确定语言框架。
在步骤S2100获取语言框架后,进入步骤S2200,根据所述语言框架,提取所述目标源码中包含的轻应用服务信息;
其中,所述轻应用服务信息是描述对应的轻应用可以提供的服务的信息。具体的,所述轻应用服务信息至少包括轻应用视图信息,其中,所述轻应用视图信息用于描述对应的轻应用提供的界面视图服务,例如,所述轻应用视图信息,可以包括对应的轻应用界面的界面架构信息、包含的文本属性信息(字体、大小、颜色、位置等)和对应的文本资源地址(例如)、图片属性信息(大小、位置、展示样式等)和对应的图片资源地址、其他类型的资源属性信息和对应资源地址等等。此外,所述轻应用服务信息还可以包括轻应用的功能信息,该功能信息用于描述对应的轻应用提供的服务能力。
在步骤S2200获取轻应用服务信息之后,进入步骤S2300,将所述轻应用服务信息,存储为与所述目标轻应用关联的指定格式的描述文件,以供调用本地控件提供对应的轻应用服务。
其中,所述指定格式是支持用于描述轻应用服务信息并可被读取以支持运行轻应用的文件格式,例如,所述指定格式可以是开发者或者服务商期望进行轻应用推广的轻应用平台可支持读取的文件格式。
通过将轻应用服务信息存储为与所述目标轻应用关联的指定格式的描述文件,使得运行目标轻应用时可以根据关联的指定格式描述文件调用本地控件提供对应的轻应用服务,实现基于不同轻应用平台开发的(或者不同语言框架下开发)的轻应用能以统一的方式运行,从而使得该轻应用可以自动适配各种不同轻应用平台运行,实现开发者或服务者可以无需为同一种应用服务针对不同轻应用平台开发对应的轻应用,降低轻应用的开发和推广成本。
其中,所述指定格式可以是XMT(Extensible Markup Language可扩展标记语言)格式、JSON(JavaScript Object Notation,直译式脚本对应表示)格式、TEXT(文本)格式或者自定义的HTML5格式中的一种,其中,所述自定义的HTML5格式采用自定义的内容标签。
具体地,所述自定义的HTML5格式中,采用自定义的内容标签可以使得不同语言框架下使用的内容标签统一,例如,可以将如<b>(粗体)<i>(斜体)等这类文本内容的标签统一为<span>+style或其他自定义形式的文本标签,使得在运行该轻应用调用本地控件显示界面时,无需再针对多种不同的文本标签分别进行适配,导致因为多次适配使得显示速度缓慢。
并且,根据自定义的HTML5格式的描述文件,调用本地控件提供轻应用服务出现异常时,还可以根据自定义的HTML格式调用网页控件提供轻应用服务,例如,当根据自定义的HTML5格式的描述文件调用本地控件(Native控件)展示轻应用的界面,出现HTML标签出现闭合、丢失或者其他解析失败的异常时,可以根据自定义的HTML格式调用网页控件(Web控件)展示轻应用的页面。
<装置>
在本实施例中,还提供一种轻应用的处理设备3000,如图3所示,包括:语言框架获取单元3100、服务信息提取单元3200以及描述文件存储单元3300,用于实施本实施例中提供的轻应用处理方法,在此不再赘述。
所述轻应用的处理设备3000,包括:
语言框架获取单元3100,用于获取与目标轻应用对应的目标源码的语言框架;
服务信息提取单元3200,用于根据所述语言框架,提取所述目标源码中包含的轻应用服务信息;
描述文件存储单元3300,用于将所述轻应用服务信息,存储为与所述目标轻应用关联的指定格式的描述文件,以供调用本地控件提供对应的轻应用服务。
可选地,所述语言框架获取单元3100还包括:
第一获取单元3101,用于根据所获取的目标轻应用的语言框架标识,确定所述语言框架;
和/或
第二获取单元3102,用于扫描所述目标源码获取对应的引用描述信息,并根据所述引用描述信息确定所述语言框架。
在本实施例中,并不限制所述轻应用的处理设备3000的实施形式,所述轻应用的处理设备3000可以是SDK形式(Software Development Kit,软件开发工具包)支持安装于不同的轻应用平台,或者是以插件的形式安装于不同的轻应用平台,还可以是内置于轻应用平台中的功能组件或者轻应用平台本身等等,并且,应当理解是,轻应用平台通常包括客户端和服务器,本实施例中轻应用的处理设备3000可以根据实际需要安装或者设置于轻应用平台的客户端或者服务器。
本领域技术人员应当明白,可以通过各种方式来实现轻应用的处理设备3000。例如,可以通过指令配置处理器来实现轻应用的处理设备3000。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现轻应用的处理设备3000。例如,可以将轻应用的处理设备3000固化到专用器件(例如ASIC)中。可以将轻应用的处理设备3000分成相互独立的单元,或者可以将它们合并在一起实现轻应用的处理设备3000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
以上已经结合附图描述了本发明的第一实施例,根据本实施例,提供一种轻应用的处理方法,通过获取轻应用对应的源码的语言框架,提取对应的轻应用服务信息,并存储为与轻应用关联的指定格式的描述文件,使得运行轻应用时,可以根据描述文件调用本地控件提供对应的轻应用服务,实现基于不同轻应用平台开发的(或者不同语言框架下开发)的轻应用能以统一的方式运行,从而使得该轻应用可以自动适配各种不同轻应用平台运行,实现开发者或服务者可以无需为同一种应用服务针对不同轻应用平台开发对应的轻应用,降低轻应用的开发和推广成本。
<第二实施例>
本实施例的总体构思,是提供一种轻应用的运行方法,使得轻应用可以自动适配各种不同轻应用平台运行,实现开发者或服务者可以无需为同一种应用服务针对不同轻应用平台开发对应的轻应用,降低轻应用的开发和推广成本。
<方法>
本实施例中提供的轻应用运行方法如图4所示,包括:
步骤S4110,响应于目标轻应用的运行请求,获取与所述目标轻应用关联的指定格式的描述文件;
所述目标轻应用的运行请求通常由期望获取轻应用服务的用户,通过某个轻应用平台触发。在本实施例中,响应于目标轻应用的运行请求,获取与目标轻应用关联的指定格式的描述文件,具体地,可以根据本第一实施例中的轻应用的处理方法,可以根据获取的目标轻应用对应的源码的语言框架,获取目标轻应用提供的轻应用服务信息,并存储为与目标轻应用关联的指定格式的描述文件,在此不再赘述。
其中,所述轻应用服务信息是描述对应的轻应用可以提供的服务的信息。具体的,所述轻应用服务信息至少包括轻应用视图信息,其中,所述轻应用视图信息用于描述对应的轻应用提供的界面视图服务,例如,所述轻应用视图信息,可以包括对应的轻应用界面的界面架构信息、包含的文本属性信息(字体、大小、颜色、位置等)和对应的文本资源地址、图片属性信息(大小、位置、展示样式等)和对应的图片资源地址、其他类型的资源属性信息和对应的资源地址等等。
应当理解的是,所述轻应用视图信息中包含各种类型的资源属性信息和对应的资源地址,当轻应用视图中展示的某类资源的具体内容发生更新时,相应地体现为对应的资源地址指向的资源发生更新,例如某个图片内容更新时,相应地体现为对应的图片资源地址指向的图片资源发生更新,因此,在目标轻应用的轻应用视图发生更新后,无需根据第一实施例提供的轻应用处理方法更新与目标轻应用关联的指定格式的描述文件,根据本实施例提供的轻应用运行方法运行所述目标轻应用,展示的轻应用视图即为更新后的轻应用视图。
此外,所述轻应用服务信息还可以包括轻应用的功能信息,该功能信息用于描述对应的轻应用提供的服务能力。
此外,所述指定格式可以是XMT(Extensible Markup Language可扩展标记语言)格式、JSON(JavaScript Object Notation,直译式脚本对应表示)格式、TEXT(文本)格式或者自定义的HTML5格式中的一种,其中,所述自定义的HTML5格式采用自定义的内容标签。
在步骤S4100中获取描述文件之后,进入步骤S4200,根据所述描述文件中包含的轻应用服务信息,调用本地控件提供对应的轻应用服务。
通过轻应用服务信息,调用本地控件提供对应的轻应用服务,例如,例如,轻应用服务信息中包含描述文本的<span>+sytle标签,可以调用本地控件TextView将展示<span>对应文本描述的内容,其中调用TextView的textColor和textSize展示对style中描述的文字颜色和字号。
因此,可以实现基于不同轻应用平台开发的(或者不同语言框架下开发)的轻应用能以统一的方式运行,从而使得该轻应用可以自动适配各种不同轻应用平台运行,实现开发者或服务者可以无需为同一种应用服务针对不同轻应用平台开发对应的轻应用,降低轻应用的开发和推广成本。
具体地,当所述指定格式自定义的HTML5格式中,采用自定义的内容标签可以使得不同语言框架下使用的内容标签统一,例如,可以将如<b>(粗体)<i>(斜体)等这类文本内容的标签统一为<span>+style或其他自定义形式的文本标签,使得在运行该轻应用调用本地控件显示文本内容时,无需再针对不同的文本标签分别进行适配,导致因为多次适配使得显示速度缓慢。
并且,根据自定义的HTML5格式的描述文件,调用本地控件提供轻应用服务出现异常时,还可以根据自定义的HTML格式调用网页控件提供轻应用服务,例如,当根据自定义的HTML5格式的描述文件调用本地控件(Native控件)展示轻应用的界面,出现HTML标签出现闭合、丢失或者其他解析失败的异常时,可以根据自定义的HTML格式调用网页控件(Web控件)展示轻应用的页面。
<设备>
在本实施例中,还提供一种轻应用的运行设备5000,如图5所示,包括描述文件获取单元5100、本地控件调用单元5200,可选地,包括网页控件调用单元5300,用于实施本实施例中提供的轻应用的运行方法,在此不再赘述。
轻应用的运行设备5000,包括:
描述文件获取单元5100,用于响应于目标轻应用的运行请求,获取与所述目标轻应用关联的指定格式的描述文件;
本地控件调用单元5200,根据所述描述文件中包含的轻应用服务信息,调用本地控件提供对应的轻应用服务。
可选地,所述指定格式是所述自定义的HTML5格式,其中,所述自定义的HTML5格式采用自定义的内容标签;
所述轻应用的运行设备5000还包括:
网页控件调用单元,用于所述出现本地控件调用单元出现异常时,根据所述描述文件中包含的轻应用服务信息,调用网页控件提供对应的轻应用服务。
在本实施例中,并不限制所述轻应用的运行设备5000的实施形式,所述轻应用的运行设备5000可以是SDK形式(Software Development Kit,软件开发工具包)支持安装于不同的轻应用平台,或者是以插件的形式安装于不同的轻应用平台,还可以是内置于轻应用平台中的功能组件或者轻应用平台本身等等,并且,应当理解是,轻应用平台通常包括客户端和服务器,本实施例中轻应用的运行设备5000可以根据实际需要安装或者设置于轻应用平台的客户端或者服务器。
本领域技术人员应当明白,可以通过各种方式来实现轻应用的运行设备5000。例如,可以通过指令配置处理器来实现轻应用的运行设备5000。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现轻应用的运行设备5000。例如,可以将轻应用的运行设备5000固化到专用器件(例如ASIC)中。可以将轻应用的运行设备5000分成相互独立的单元,或者可以将它们合并在一起实现轻应用的运行设备5000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
以上已经结合附图描述了本发明的第二实施例,根据本实施例,提供一种轻应用的运行方法,通过获取与轻应用关联的指定格式的描述文件,根据描述文件中包含的轻应用服务信息,调用本地控件提供对应的轻应用服务,实现基于不同轻应用平台开发的(或者不同语言框架下开发)的轻应用能以统一的方式运行,从而使得该轻应用可以自动适配各种不同轻应用平台运行,实现开发者或服务者可以无需为同一种应用服务针对不同轻应用平台开发对应的轻应用,降低轻应用的开发和推广成本。
<第三实施例>
本实施例中,提供一种应用设备6000,该应用设备6000包括第一实施例中提供的轻应用的处理设备3000和/或第二实施例中提供的轻应用运行设备5000。
在本实施例中,并不限制所述应用设备6000的具体实施形式,所述应用设备6000可以是SDK形式(Software Development Kit,软件开发工具包)支持安装于不同的轻应用平台,或者是以插件的形式安装于不同的轻应用平台,还可以是内置于轻应用平台中的功能组件或者轻应用平台本身等等,并且,应当理解是,轻应用平台通常包括客户端和服务器,本实施例中应用设备6000可以根据实际需要安装或者设置于轻应用平台的客户端或者服务器。
本领域技术人员应当明白,可以通过各种方式来实现应用设备6000。例如,可以通过指令配置处理器来实现应用设备6000。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现应用设备6000。例如,可以将应用设备6000固化到专用器件(例如ASIC)中。可以将应用设备6000分成相互独立的单元,或者可以将它们合并在一起实现。应用设备6000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
<例子>
以下将结合一个例子进一步说明本实施例中提供的应用设备6000,如图6所示,应用设备6000包括轻应用的处理设备3000和轻应用运行设备5000。
在本例中,期望运行于不同的轻应用平台的目标轻应用是基于weex的语言框架开发的,用户上传与目标轻应用对应的目标源码示例如下:
Figure BDA0001253127910000161
步骤S601,通过应用设备6000中包含的语言框架获取单元3100,确定目标源码的语言框架是基于weex的语言框架;
步骤S602,通过应用设备6000中包含的服务信息提取单元3200,提取所述目标源码中包含的轻应用服务信息:上述目标源码中描述的包含的按钮、文本、列表对应的属性;
步骤S603,通过应用设备6000中包含的描述文件存储单元3300,将将轻应用服务信息,存储为与所述目标轻应用关联的自定义的HTML5格式的描述文件,下述示出本例中的轻应用服务信息在描述文件中的存储形式:
Figure BDA0001253127910000171
在存储与目标轻应用相关联的描述文件后,当目标轻应用的运行请求被用户触发时,进入步骤S605,通过描述文件获取单元5100,读取对应的自定义的HTML5格式的描述文件;
步骤S606,通过本地控件调用单元5200,根据所述描述文件中包含的轻应用服务信息,调用本地控件提供对应的轻应用服务,以下示出本示例中具体调用时所使用的伪代码:
//按钮:
Button button=new Button(context);
button.setText({{type}});
button.setTextColor(#555555);
button.setTextSize(16px);
//文本:
TextView textView=new TextView(context);
textView.setText({{type}});
textView.setTextColor(#555555);
textView.setTextSize(16px);
//列表:
ListView+Adapter
以上已经结合附图和例子描述了本发明的第三实施例,根据本实施例,提供一种应用设备,可以基于轻应用的源码对轻应用进行处理,提取对应的轻应用服务信息,并存储为与轻应用关联的指定格式的描述文件,并通过在运行轻应用时,根据描述文件中包含的轻应用服务信息,调用本地控件提供对应的轻应用服务,实现基于不同轻应用平台开发的(或者不同语言框架下开发)的轻应用能以统一的方式运行,从而使得该轻应用可以自动适配各种不同轻应用平台运行,实现开发者或服务者可以无需为同一种应用服务针对不同轻应用平台开发对应的轻应用,降低轻应用的开发和推广成本。
本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机系统软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以由硬件来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。因此,对于电子信息技术领域的普通技术人员来说,更为直接和清楚地描述一个技术方案的方式是描述该方案中的各个操作。在知道所要执行的操作的情况下,本领域技术人员可以基于对所述非技术性因素的考虑直接设计出期望的产品。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

Claims (10)

1.一种轻应用的处理方法,其特征在于,包括:
获取与目标轻应用对应的目标源码的语言框架;
根据所述语言框架,提取所述目标源码中包含的轻应用服务信息;
将所述轻应用服务信息,存储为与所述目标轻应用关联的指定格式的描述文件,以供调用本地控件提供对应的轻应用服务。
2.根据权利要求1所述的方法,其特征在于,
所述获取与目标轻应用对应的目标源码的语言框架步骤包括:
根据所获取的目标轻应用的语言框架标识,确定所述语言框架;
和/或
扫描所述目标源码获取对应的引用描述信息,并根据所述引用描述信息确定所述语言框架。
3.根据权利要求1所述的方法,其特征在于,
所述轻应用服务信息至少包括轻应用视图信息,其中,所述轻应用视图信息用于描述对应的轻应用提供的界面视图服务;
和/或
所述指定格式是XML格式、JSON格式、TEXT格式或者自定义的HTML5格式中的一种,其中,所述自定义的HTML5格式采用自定义的内容标签。
4.一种轻应用的运行方法,其特征在于,包括:
响应于目标轻应用的运行请求,获取与所述目标轻应用关联的指定格式的描述文件;
根据所述描述文件中包含的轻应用服务信息,调用本地控件提供对应的轻应用服务;
所述指定格式是XML格式、JSON格式、TEXT格式或者自定义的HTML5格式中的一种,其中,所述自定义的HTML5格式采用自定义的内容标签;
所述方法还包括:
当根据所述描述文件中包含的轻应用服务信息,调用本地控件提供对应的轻应用服务出现异常时,
根据所述描述文件中包含的轻应用服务信息,调用网页控件提供对应的轻应用服务。
5.根据权利要求4所述的运行方法,其特征在于,
所述轻应用服务信息至少包括轻应用视图信息,其中,所述轻应用视图信息用于描述对应的轻应用提供的界面视图服务。
6.一种轻应用的处理设备,其特征在于,包括:
语言框架获取单元,用于获取与目标轻应用对应的目标源码的语言框架;
服务信息提取单元,用于根据所述语言框架,提取所述目标源码中包含的轻应用服务信息;
描述文件存储单元,用于将所述轻应用服务信息,存储为与所述目标轻应用关联的指定格式的描述文件,以供调用本地控件提供对应的轻应用服务。
7.根据权利要求6所述的设备,其特征在于,
所述语言框架获取单元包括:
第一获取单元,用于根据所获取的目标轻应用的语言框架标识,确定所述语言框架;
和/或
第二获取单元,用于扫描所述目标源码获取对应的引用描述信息,并根据所述引用描述信息确定所述语言框架。
8.一种轻应用的运行设备,其特征在于,包括:
描述文件获取单元,用于响应于目标轻应用的运行请求,获取与所述目标轻应用关联的指定格式的描述文件;
本地控件调用单元,根据所述描述文件中包含的轻应用服务信息,调用本地控件提供对应的轻应用服务;
所述指定格式是自定义的HTML5格式,其中,所述自定义的HTML5格式采用自定义的内容标签;
所述设备还包括:
网页控件调用单元,用于出现本地控件调用单元出现异常时,根据所述描述文件中包含的轻应用服务信息,调用网页控件提供对应的轻应用服务。
9.一种应用设备,其特征在于,包括:
如权利要求6或7所述的轻应用的处理设备;
和/或
如权利要求8所述的轻应用的运行设备。
10.一种应用设备,其特征在于,
包括存储器和处理器,
所述存储器,用于存储指令;
所述处理器,用于根据所述指令的控制进行操作以执行如权利要求1-3中任一项所述的方法,
和/或
用于根据所述指令的控制进行操作以执行如权利要求4-5中任一项所述的方法。
CN201710178917.4A 2017-03-23 2017-03-23 轻应用的处理方法、运行方法、设备及应用设备 Active CN107122172B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710178917.4A CN107122172B (zh) 2017-03-23 2017-03-23 轻应用的处理方法、运行方法、设备及应用设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710178917.4A CN107122172B (zh) 2017-03-23 2017-03-23 轻应用的处理方法、运行方法、设备及应用设备

Publications (2)

Publication Number Publication Date
CN107122172A CN107122172A (zh) 2017-09-01
CN107122172B true CN107122172B (zh) 2020-05-22

Family

ID=59718113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710178917.4A Active CN107122172B (zh) 2017-03-23 2017-03-23 轻应用的处理方法、运行方法、设备及应用设备

Country Status (1)

Country Link
CN (1) CN107122172B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682238B (zh) * 2017-09-15 2020-10-16 阿里巴巴(中国)有限公司 智能家居平台设备及终端电子设备
CN107918552B (zh) * 2017-11-02 2021-10-08 阿里巴巴(中国)有限公司 轻应用调用方法、装置、客户端装置及电子设备
CN108491232B (zh) * 2018-03-15 2022-04-12 思必驰科技股份有限公司 在语音对话平台加载控件的方法及系统
CN109165012B (zh) * 2018-09-17 2022-03-15 北京中电普华信息技术有限公司 一种非解释型微应用实现方法及系统
CN110909319B (zh) * 2019-11-29 2022-03-29 Oppo(重庆)智能科技有限公司 应用处理方法及相关产品
CN113238732A (zh) * 2021-03-26 2021-08-10 北京汗粮科技有限公司 一种基于脚本语言开发电视端应用的扩展屏引擎

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103886029A (zh) * 2014-03-03 2014-06-25 百度在线网络技术(北京)有限公司 网页应用的实现方法、装置、服务器及系统
CN104866301A (zh) * 2015-03-25 2015-08-26 百度在线网络技术(北京)有限公司 用于调用及辅助调用本地端能力的方法及装置
CN105354013A (zh) * 2014-08-18 2016-02-24 阿里巴巴集团控股有限公司 应用界面渲染方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519814B2 (en) * 2003-09-15 2009-04-14 Trigence Corp. System for containerization of application sets
KR100962403B1 (ko) * 2007-12-17 2010-06-10 한국전자통신연구원 통합 소프트웨어 관리 시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103886029A (zh) * 2014-03-03 2014-06-25 百度在线网络技术(北京)有限公司 网页应用的实现方法、装置、服务器及系统
CN105354013A (zh) * 2014-08-18 2016-02-24 阿里巴巴集团控股有限公司 应用界面渲染方法及装置
CN104866301A (zh) * 2015-03-25 2015-08-26 百度在线网络技术(北京)有限公司 用于调用及辅助调用本地端能力的方法及装置

Also Published As

Publication number Publication date
CN107122172A (zh) 2017-09-01

Similar Documents

Publication Publication Date Title
CN107122172B (zh) 轻应用的处理方法、运行方法、设备及应用设备
CN107451162B (zh) 网络资源访问设备、混合设备及方法
US10831858B2 (en) Mobile enablement of existing web sites
CN108255485B (zh) 页面搭建方法、设备及电子设备
CN107679113B (zh) 轻应用的获取方法、设备及电子设备
CN104995601B (zh) 切换到本机网页应用程序及从本机网页应用程序切换离开
US20170371974A1 (en) Method for loading webpage, client and programmable device
US20100281475A1 (en) System and method for mobile smartphone application development and delivery
US20160179767A1 (en) Architecture for an application with integrated dynamic content
US20140281859A1 (en) Enhanced mobilization of existing web sites
EP3416054A1 (en) Method and device for page display, and storage medium
US20130036196A1 (en) Method and system for publishing template-based content
US9426202B2 (en) Transforming application cached template using personalized content
CN108449255B (zh) 评论交互方法、设备、客户端装置及电子设备
US10747943B2 (en) Method, device, client apparatus, and electronic device for presenting webpages
US20160192106A1 (en) Lightweight application integration for mobile cloud computing
CN110618811B (zh) 信息呈现方法和装置
CN107918552B (zh) 轻应用调用方法、装置、客户端装置及电子设备
CN111177634A (zh) 支持多语言的文案内容加载方法、装置、设备、及介质
CN110088750B (zh) 在静态网页中提供场境功能的方法和系统
CN111506848A (zh) 网页处理方法、装置、设备及可读存储介质
CN114115855A (zh) 代码复用方法及装置、计算机可读存储介质、电子设备
CN111506847B (zh) 网页展示方法、装置、设备及可读存储介质
CN111158678B (zh) 视频播放的方法、设备、客户端装置及电子设备
US20160147741A1 (en) Techniques for providing a user interface incorporating sign language

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200527

Address after: 310051 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Alibaba (China) Co.,Ltd.

Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping square B radio tower 12 layer self unit 01

Patentee before: GUANGZHOU SHENMA MOBILE INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right