CN111324833A - 页面展示方法、装置、电子设计及计算机可读介质 - Google Patents
页面展示方法、装置、电子设计及计算机可读介质 Download PDFInfo
- Publication number
- CN111324833A CN111324833A CN201811535272.6A CN201811535272A CN111324833A CN 111324833 A CN111324833 A CN 111324833A CN 201811535272 A CN201811535272 A CN 201811535272A CN 111324833 A CN111324833 A CN 111324833A
- Authority
- CN
- China
- Prior art keywords
- data
- page
- displayed
- specific language
- language set
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000013461 design Methods 0.000 title abstract description 8
- 238000009877 rendering Methods 0.000 claims abstract description 31
- 238000012795 verification Methods 0.000 claims abstract description 22
- 238000004458 analytical method Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 7
- 238000013524 data verification Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 238000011161 development Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本公开涉及一种页面展示方法、装置、电子设计及计算机可读介质。该方法包括:获取待展示页面的领域特定语言集和待展示数据;对所述领域特定语言集和所述待展示数据进行校验处理;对校验通过后的所述领域特定语言集和所述待展示数据进行解析处理,生成展示数据;以及对所述展示数据进行渲染并进行显示。本公开涉及的页面展示方法、装置、电子设计及计算机可读介质,能够在不同的平台间进行高性能的视图渲染,呈现原生页面体验效果。
Description
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种页面展示方法、装置、电子设计及计算机可读介质。
背景技术
随着iOS、android系统的不断普及,iOS、android相关的应用层出不穷,如何能够快速的开发、上线一些业务,成了各大互联网公司要攻克的一个问题,跨平台开发的概念被提出来,市场上被广大熟知有ReactNative和weex。目前跨平台技术开发主要的途径如下:首先需要在iOS和android两个客户端集成reactnative或者weex的第三方库;然后开发工程师用相应的语言编写前端代码编写页面业务,部署到后台下发到两大客户端进行解析渲染展示;用户在此种跨平台解决方案的页面上操作会出发原生与ReactNative或者weex编写的业务层前端通信;开发工程师在各自的平台开发相应的业务。
目前的这种跨平台开发方式从市场的反馈和在业务的实践上来看,用户在页面的体验方面不能真正的达到原生效果,在iOS和android两大平台适配上有很技术难点未能实现,经常需要用一些非常规的操作去弥补。
因此,需要一种新的页面展示方法、装置、电子设计及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种页面展示方法、装置、电子设计及计算机可读介质,能够在不同的平台间进行高性能的视图渲染,呈现原生页面体验效果。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种页面展示方法,可适用于智能移动终端,该方法包括:获取待展示页面的领域特定语言集和待展示数据;对所述领域特定语言集和所述待展示数据进行校验处理;对校验通过后的所述领域特定语言集和所述待展示数据进行解析处理,生成展示数据;以及对所述展示数据进行渲染并进行显示。
在本公开的一种示例性实施例中,获取待展示页面的领域特定语言集和待展示数据包括:通过页面服务器获取所述领域特定语言集和所述待展示数据。
在本公开的一种示例性实施例中,通过页面服务器获取所述领域特定语言集和所述待展示数据包括:根据用户指令,确定待展示页面;根据待展示页面的标识向所述页面服务器发送请求;获取来自所述页面服务器的返回信息,所述返回信息中包括所述领域特定语言集和所述待展示数据;其中,所述领域特定语言集中定义了页面树、元素映射路径、元素属性、元素样式、事件、以及层级树关系。
在本公开的一种示例性实施例中,对所述领域特定语言集和所述待展示数据进行校验处理包括以下至少一者:对所述领域特定语言集进行语法校验;对所述待展示数据进行数据校验;以及将所述领域特定语言集与所述待展示数据进匹配校验。
在本公开的一种示例性实施例中,对校验通过后的所述领域特定语言集和所述待展示数据进行解析处理包括以下至少一者:基于所述领域特定语言集根据页面类型对所述待展示数据进行解析处理,以确定页面布局方式;基于所述领域特定语言集根据容器类型对所述待展示数据进行解析处理,以确定模板呈现方式;以及基于所述领域特定语言集根据模板类型对所述待展示数据进行解析处理,以确定事件响应。
在本公开的一种示例性实施例中,基于所述领域特定语言集根据模板类型对所述待展示数据进行解析处理,以确定事件响应包括:基于所述领域特定语言集根据模板类型对所述待展示数据进行解析处理,生成基础控件、控件样式、控件属性、嵌套关系;以及通过所述基础控件、所述控件样式、所述控件属性、所述嵌套关系确定所述事件响应。
在本公开的一种示例性实施例中,对校验通过后的所述领域特定语言集和所述待展示数据进行解析处理,生成展示数据还包括:通过模板呈现方式建立虚拟视图模板;以及依据解析获取的所述页面布局方式,所述事件响应,在所述虚拟视图模板上进行递归渲染,以生成所述展示数据。
在本公开的一种示例性实施例中,依据解析获取的所述页面布局方式,所述事件响应,在所述虚拟视图模板上进行递归渲染,以生成所述展示数据包括:基于所述虚拟视图模板进行层级树解析;在层级树解析后,基于所述虚拟视图模板进行基础元素渲染;在基础元素渲染后,基于所述虚拟视图模板添加事件响应以生成所述展示数据。
在本公开的一种示例性实施例中,还包括:保存所述虚拟视图模板以供复用。
在本公开的一种示例性实施例中,通过更新元素以复用所述虚拟视图模板。
根据本公开的一方面,提出一种页面展示装置,可适用于智能移动终端,该装置包括:数据模块,用于获取待展示页面的领域特定语言集和待展示数据;校验模块,用于对所述领域特定语言集和所述待展示数据进行校验处理;解析模块,用于对校验通过后的所述领域特定语言集和所述待展示数据进行解析处理,生成展示数据;以及显示模块,用于对所述展示数据进行渲染并进行显示。
根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本公开的页面展示方法、装置、电子设计及计算机可读介质,通过使用DSL语言协议自定义页面数据,然后在客户端中通过对页面数据进行解析之后再渲染显示的方式,能够在不同的平台间进行高性能的视图渲染,呈现原生页面体验效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种页面展示方法及装置的系统框图。
图2是根据一示例性实施例示出的一种页面展示方法的流程图。
图3是根据另一示例性实施例示出的一种页面展示方法的示意图。
图4是根据另一示例性实施例示出的一种页面展示方法的流程图。
图5是根据另一示例性实施例示出的一种页面展示方法的流程图。
图6是根据一示例性实施例示出的一种页面展示装置的框图。
图7是根据一示例性实施例示出的一种页面展示装置的框图。
图8是根据一示例性实施例示出的一种电子设备的框图。
图9是根据一示例性实施例示出一种计算机可读存储介质示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
目前的扩平台开发方式具有如下的缺点:
1、reactnative和weex都是用前端的方式编写页面,用户在页面上有点击行为需要前端和原生来回通信,效率有下降。
2、这两种方案目前在开发适配这一块,还需要开发人员不断的进行完善。
3、这两种方案加入到项目体积还是比较大的不够轻便。
4、对公司业务不够灵活。
5、开发资源占用较多。
为了更好呈现页面的原生展示、原生体验,本公开的页面展示方法及装置,通过预先定义的DSL(领域特定语言domain-specific languages,简称DSL),然后分别在各端开发相应的DSL解析器,最终呈现出真正的原生页面,原生体验,快速上线不需要发版,快速的应对运营和产品的一些业务需求。
下面结合具体的实施例对本公开的内容进行详细描述。
图1是根据一示例性实施例示出的一种页面展示方法及装置的系统框图。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的应用或页面提供支持的后台服务器。服务器105可以对接收到的页面展示请求进行分析等处理,并将待展示数据反馈给终端设备。
开发人员根据定义好的DSL语言协议通过编写页面树,元素取值的映射路径,元素的属性、样式、事件编写,以及对应的包含层级树关系,最后把该页面文件部署到服务器105。
终端设备101、102、103可例如通过服务器105获取待展示页面的领域特定语言集和待展示数据;终端设备101、102、103可例如对所述领域特定语言集和所述待展示数据进行校验处理;终端设备101、102、103可例如对校验通过后的所述领域特定语言集和所述待展示数据进行解析处理,生成展示数据;以及终端设备101、102、103可例如对所述展示数据进行渲染并进行显示。
服务器105可以是一个实体的服务器,还可例如为多个服务器组成,需要说明的是,本公开实施例所提供的页面展示方法可以由服务器105和/或终端设备101、102、103执行,相应地,页面展示装置可以设置于服务器105和/或终端设备101、102、103中。
根据本公开的页面展示方法及装置,通过使用DSL语言协议自定义页面数据,然后在客户端中通过对页面数据进行解析之后再渲染显示的方式,能够在不同的平台间进行高性能的视图渲染,呈现原生页面体验效果。
图2是根据一示例性实施例示出的一种页面展示方法的流程图。页面展示方法20至少包括步骤S202至S208。
如图2所示,在S202中,获取待展示页面的领域特定语言集和待展示数据。可例如:通过页面服务器获取所述领域特定语言集和所述待展示数据。
在一个实施例中,通过页面服务器获取所述领域特定语言集和所述待展示数据包括:根据用户指令,确定待展示页面;根据待展示页面的标识向所述页面服务器发送请求;获取来自所述页面服务器的返回信息,所述返回信息中包括所述领域特定语言集和所述待展示数据;其中,所述领域特定语言集中定义了页面树、元素映射路径、元素属性、元素样式、事件、以及层级树关系。
在S204中,对所述领域特定语言集和所述待展示数据进行校验处理。其中,对所述领域特定语言集和所述待展示数据进行校验处理包括以下至少一者:对所述领域特定语言集进行语法校验;对所述待展示数据进行数据校验;以及将所述领域特定语言集与所述待展示数据进匹配校验。
在S206中,对校验通过后的所述领域特定语言集和所述待展示数据进行解析处理,生成展示数据。其中,对校验通过后的所述领域特定语言集和所述待展示数据进行解析处理包括以下至少一者:基于所述领域特定语言集根据页面类型对所述待展示数据进行解析处理,以确定页面布局方式;基于所述领域特定语言集根据容器类型对所述待展示数据进行解析处理,以确定模板呈现方式;以及基于所述领域特定语言集根据模板类型对所述待展示数据进行解析处理,以确定事件响应。
在一个实施例中,基于所述领域特定语言集根据模板类型对所述待展示数据进行解析处理,以确定事件响应包括:基于所述领域特定语言集根据模板类型对所述待展示数据进行解析处理,生成基础控件、控件样式、控件属性、嵌套关系;以及通过所述基础控件、所述控件样式、所述控件属性、所述嵌套关系确定所述事件响应。
在S208中,对所述展示数据进行渲染并进行显示。包括:通过模板呈现方式建立虚拟视图模板;以及依据解析获取的所述页面布局方式,所述事件响应,在所述虚拟视图模板上进行递归渲染,以进行显示。
其中,可在客户端中显示页面数据,客户端或称为用户端,是指与服务器相对应,为客户提供本地服务的程序,具体可包括苹果、安卓、网页端等平台。
根据本公开的页面展示方法,通过使用DSL语言协议自定义页面数据,然后在客户端中通过对页面数据进行解析之后再渲染显示的方式,能够在不同的平台间进行高性能的视图渲染,呈现原生页面体验效果。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
在本公开的一种示例性实施例中,获取待展示页面的领域特定语言集和待展示数据包括:通过页面服务器获取所述领域特定语言集和所述待展示数据。其中,所述领域特定语言集中定义了页面树、元素映射路径、元素属性、元素样式、事件、以及层级树关系。
图3是根据另一示例性实施例示出的一种页面展示方法的示意图。图3显示了在服务器端,开发人员根据定义好的DSL语言协议通过编写页面树,元素取值的映射路径,元素的属性、样式、事件编写,以及对应的包含层级树关系等相关数据的部署数据图。
可在服务器端设置DSL语言编写模块,来实现如下的功能:
开发人员通过编写自定义的声明式编写语言,确定页面的布局类型、容器、模板。
1、首先编写页面类型:决定显示的页面是一个滑动列表页面、左右滚动页面、瀑布流页面等,然后编写布局方式,现在上线的业务采用绝对布局编写位置宽高,背景色,背景图等属性。
2、容器类型:通过编写页面类型已经确定整个页面的布局方式,在整个布局规则的显示区域可以编写要显示的容器类型用来表达该区域的显示方式,比如该区域容器设置为轮播容器,区域n等分容器、滑动容器、静态显示容器等,该布局区域的的代码编写决定了此处的交互方式和内部的模板之间的布局方式,容器里面放的全是模板信息。
3、模板:此处就是要编写的页面显示信息最基础的控件元素有图片、文本、按钮、视图、事件、样式、属性、控件元素的层级树关系、布局方式、控件元素的寻值路径等。
图4是根据另一示例性实施例示出的一种页面展示方法的流程图。如图4所示的页面展示方法40是对图2所示的S208中“对所述展示数据进行渲染并进行显示”的详细描述。
在S402中,通过模板呈现方式建立虚拟视图模板。
在S404中,依据解析获取的所述页面布局方式,所述事件响应,在所述虚拟视图模板上绑定。可例如:基于所述虚拟视图模板进行层级树解析;在层级树解析后,基于所述虚拟视图模板进行基础元素渲染;在基础元素渲染后,基于所述虚拟视图模板添加事件响应以进行显示。
在S406中,进行视图渲染并显示。
在客户端中,可例如建立DSL框架解析库模块,用于对显示数据进行解析:
首先,客户端把DSL语言协议和对应的数据传递到DSL框架解析库模块后,会对DSL协议和数据进行合法性的校验,待校验通过后,把对应的虚拟模板抽离交给虚拟模板管理模块进行管理(每种虚拟模板都有对应的模板键),主要目的是为了模板的复用逻辑。
然后,通过解析DSL页面代码信息确定页面类型和整体布局,确定了数据的解析方法,然后在数据层通过虚拟模板的键向模板管理模块获取具体的虚拟模板,然后对虚拟模板和数据模型进行建模存储。
最后,把虚拟模型传到视图解析管理模块,该模块会按照虚拟模型的层级树,进行递归渲染,绑定数据,事件等,等完成解析渲染后回调给客户端呈现。
图5是根据另一示例性实施例示出的一种页面展示方法的流程图。如图5所示的页面展示方法50,描述了“保存所述虚拟视图模板以供复用”的相关内容。
在S502中,判断是否需要进行虚拟视图复用。
在S504中,虚拟视图更新数据。
在S506中,渲染完成,进行展示。
在S508中,层级树解析。
在S510中,基础元素渲染。
在S512中,事件添加。
在S514中,判断是否为树节点。
在S516中,层级树完成。
通过复用池唯一标示符来确定是否进行复用,如果直接通过虚拟模型(每个元素都有对应的键)键和元素的对应关系来取出对应的元素更新,如果不是复用时新建的,开始解析视图层级树,对里面的子元素初始化,属性,样式等进行赋值,相应的事件(手势,提示框等)添加,对元素和生成一个唯一的键进行存储,方便下次复用的时候查找该元素。依次递归渲染,若判断是树节点继续走层级树解析流程,直到层级树解析完成,回传给客户端呈现给用户。
本发明主要通过DSL语言定义、数据关联、DSL框架解析器来制定高性能的跨平台解决方案。
首先:我们制定更加符合业务的DSL语言的定义,从该语言我们能直接反馈出页面的布局方式、容器布局方式、模板的样式,开发者按照定义的规则编写动态页面部署给后台。
其次:后台把自定义语言编写动态页面和相应的数据进行校验、关联准备下发给客户端解析显示。
最后:DSL框架解析器把DSL页面和数据进行模板更新存储,然后抽象建立成虚拟数据模型,通过复用池唯一标示符来确定是否进行复用,如果直接通过虚拟模型(每个元素都有对应的键)键和元素的对应关系来取出对应的元素更新,如果不是复用时新建的,开始解析视图层级树,对里面的子元素初始化,属性,样式等进行赋值,相应的事件(手势,提示框等)添加,对元素和生成一个唯一的键进行存储,方便下次复用的时候查找该元素。依次递归渲染,若判断是树节点继续走层级树解析流程,直到层级树解析完成。
根据本公开的页面展示方法,具有如下优点:
1、完全自定义的解析语言。
2、更好的达到iOS、android平台的一致性,因为解析语言和解析器完全自己研发不存在第三方插件、库,就不存在学习第三方的瓶颈。
3、高性能因为是直接把DSL语言解析成原生在渲染视图,直接是原生体验效果。
4、更贴近业务的跨平台方案,可根据常用的一类容器定制存放于DSL解析框架内。
5、解决了页面内布局的动态化能力。
6、解决了布局内业务模板的动态化能力。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图6是根据一示例性实施例示出的一种页面展示装置的框图。页面展示装置60包括:数据模块602,校验模块604,解析模块606,以及显示模块608。
数据模块602用于获取待展示页面的领域特定语言集和待展示数据;可例如:通过页面服务器获取所述领域特定语言集和所述待展示数据。
校验模块604用于对所述领域特定语言集和所述待展示数据进行校验处理;其中,对所述领域特定语言集和所述待展示数据进行校验处理包括以下至少一者:对所述领域特定语言集进行语法校验;对所述待展示数据进行数据校验;以及将所述领域特定语言集与所述待展示数据进匹配校验。
解析模块606用于对校验通过后的所述领域特定语言集和所述待展示数据进行解析处理,生成展示数据;其中,对校验通过后的所述领域特定语言集和所述待展示数据进行解析处理包括以下至少一者:基于所述领域特定语言集根据页面类型对所述待展示数据进行解析处理,以确定页面布局方式;基于所述领域特定语言集根据容器类型对所述待展示数据进行解析处理,以确定模板呈现方式;以及基于所述领域特定语言集根据模板类型对所述待展示数据进行解析处理,以确定事件响应。
显示模块608用于对所述展示数据进行渲染并进行显示。包括:通过模板呈现方式建立虚拟视图模板;以及依据解析获取的所述页面布局方式,所述事件响应,在所述虚拟视图模板上进行递归渲染,以进行显示。
根据本公开的页面展示装置,通过使用DSL语言协议自定义页面数据,然后在客户端中通过对页面数据进行解析之后再渲染显示的方式,能够在不同的平台间进行高性能的视图渲染,呈现原生页面体验效果。
图6是根据一示例性实施例示出的一种页面展示装置的框图。页面展示装置70包括:开发模块702,数据准备模块704,客户端706,DSL框架解析器708,客户端显示模块710。
开发模块702用于定义DSL语言协议,还用于通过编写页面树,元素取值的映射路径,元素的属性、样式、事件编写,以及对应的包含层级树关系,最后把该页面文件部署到服务器。
数据准备模块704用于获取页面DSL和页面对应的数据,准备下发给客户端。
客户端706用于发起该类型的网络请求获取页面DSL和页面对应的数据,传给DSL框架解析器708。
DSL框架解析器708,用于通过根页面类型、容器类型、模板解析视图完成后回传给客户端显示模块710。
客户端显示模块710用于显示页面。
图8是根据一示例性实施例示出的一种电子设备的框图。
下面参照图8来描述根据本公开的这种实施方式的电子设备200。图8显示的电子设备200仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述电子处方流转处理方法部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图2,图4,图5中所示的步骤。
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(ROM)2203。
所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
图9示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
参考图9所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品400,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取待展示页面的领域特定语言集和待展示数据;对所述领域特定语言集和所述待展示数据进行校验处理;对校验通过后的所述领域特定语言集和所述待展示数据进行解析处理,生成展示数据;以及对所述展示数据进行渲染并进行显示。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
Claims (13)
1.一种页面展示方法,可适用于智能移动终端,其特征在于,包括:
获取待展示页面的领域特定语言集和待展示数据;
对所述领域特定语言集和所述待展示数据进行校验处理;
对校验通过后的所述领域特定语言集和所述待展示数据进行解析处理,生成展示数据;以及
对所述展示数据进行渲染并进行显示。
2.如权利要求1所述的方法,其特征在于,获取待展示页面的领域特定语言集和待展示数据包括:
通过页面服务器获取所述领域特定语言集和所述待展示数据。
3.如权利要求2所述的方法,其特征在于,通过页面服务器获取所述领域特定语言集和所述待展示数据包括:
根据用户指令,确定待展示页面;
根据待展示页面的标识向所述页面服务器发送请求;
获取来自所述页面服务器的返回信息,所述返回信息中包括所述领域特定语言集和所述待展示数据;
其中,所述领域特定语言集中定义了页面树、元素映射路径、元素属性、元素样式、事件、以及层级树关系。
4.如权利要求1所述的方法,其特征在于,对所述领域特定语言集和所述待展示数据进行校验处理包括以下至少一者:
对所述领域特定语言集进行语法校验;
对所述待展示数据进行数据校验;以及
将所述领域特定语言集与所述待展示数据进匹配校验。
5.如权利要求1所述的方法,其特征在于,对校验通过后的所述领域特定语言集和所述待展示数据进行解析处理包括以下至少一者:
基于所述领域特定语言集根据页面类型对所述待展示数据进行解析处理,以确定页面布局方式;
基于所述领域特定语言集根据容器类型对所述待展示数据进行解析处理,以确定模板呈现方式;以及
基于所述领域特定语言集根据模板类型对所述待展示数据进行解析处理,以确定事件响应。
6.如权利要求5所述的方法,其特征在于,基于所述领域特定语言集根据模板类型对所述待展示数据进行解析处理,以确定事件响应包括:
基于所述领域特定语言集根据模板类型对所述待展示数据进行解析处理,生成基础控件、控件样式、控件属性、嵌套关系;以及
通过所述基础控件、所述控件样式、所述控件属性、所述嵌套关系确定所述事件响应。
7.如权利要求5所述的方法,其特征在于,对所述展示数据进行渲染并进行显示包括:
通过模板呈现方式建立虚拟视图模板;以及
依据解析获取的所述页面布局方式,所述事件响应,在所述虚拟视图模板上进行递归渲染,以进行显示。
8.如权利要求7所述的方法,其特征在于,依据解析获取的所述页面布局方式,所述事件响应,在所述虚拟视图模板上进行递归渲染,以进行显示包括:
基于所述虚拟视图模板进行层级树解析;
在层级树解析后,基于所述虚拟视图模板进行基础元素渲染;
在基础元素渲染后,基于所述虚拟视图模板添加事件响应以进行显示。
9.如权利要求7所述的方法,其特征在于,还包括:
保存所述虚拟视图模板以供复用。
10.如权利要求9所述的方法,其特征在于,通过更新元素以复用所述虚拟视图模板。
11.一种页面展示装置,可适用于智能移动终端,其特征在于,包括:
数据模块,用于获取待展示页面的领域特定语言集和待展示数据;
校验模块,用于对所述领域特定语言集和所述待展示数据进行校验处理;
解析模块,用于对校验通过后的所述领域特定语言集和所述待展示数据进行解析处理,生成展示数据;以及
显示模块,用于对所述展示数据进行渲染并进行显示。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811535272.6A CN111324833A (zh) | 2018-12-14 | 2018-12-14 | 页面展示方法、装置、电子设计及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811535272.6A CN111324833A (zh) | 2018-12-14 | 2018-12-14 | 页面展示方法、装置、电子设计及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111324833A true CN111324833A (zh) | 2020-06-23 |
Family
ID=71172548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811535272.6A Pending CN111324833A (zh) | 2018-12-14 | 2018-12-14 | 页面展示方法、装置、电子设计及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111324833A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111736834A (zh) * | 2020-06-24 | 2020-10-02 | 全球能源互联网研究院有限公司 | 一种基于dsl的用户界面生成方法、装置及存储介质 |
CN112256445A (zh) * | 2020-07-24 | 2021-01-22 | 北京沃东天骏信息技术有限公司 | 基于应用程序的数据处理方法、装置、设备及存储介质 |
CN112506602A (zh) * | 2020-12-23 | 2021-03-16 | 北京百度网讯科技有限公司 | 页面生成方法及装置、电子设备、计算机可读介质 |
CN112558970A (zh) * | 2020-12-24 | 2021-03-26 | 贵阳货车帮科技有限公司 | 前端页面的渲染生成方法、装置、前端设备及存储介质 |
CN112579241A (zh) * | 2020-12-22 | 2021-03-30 | 广州博冠信息科技有限公司 | 页面布局方法和装置、计算机可读存储介质、电子设备 |
CN112882710A (zh) * | 2021-03-10 | 2021-06-01 | 百度在线网络技术(北京)有限公司 | 基于客户端的渲染方法、装置、设备以及存储介质 |
CN113326336A (zh) * | 2021-05-13 | 2021-08-31 | 中国建设银行股份有限公司 | 一种数据可视化处理方法和装置 |
CN113361525A (zh) * | 2021-06-30 | 2021-09-07 | 深圳市斯博科技有限公司 | 基于ocr的页面生成方法、装置、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7451393B1 (en) * | 2003-12-23 | 2008-11-11 | Sun Microsystems, Inc. | System and method for a page rendering framework |
CN107480153A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 一种页面数据处理方法、客户端及终端设备 |
CN108255914A (zh) * | 2017-09-05 | 2018-07-06 | 深圳壹账通智能科技有限公司 | 网页生成方法及应用服务器 |
CN108549671A (zh) * | 2018-03-28 | 2018-09-18 | 微梦创科网络科技(中国)有限公司 | 数据实时采集并可视化的实现方法及装置 |
CN108664245A (zh) * | 2018-04-27 | 2018-10-16 | 厦门南讯软件科技有限公司 | 一种基于json自描述结构的网页界面生成方法及装置 |
CN108762744A (zh) * | 2018-05-24 | 2018-11-06 | 吉旗(成都)科技有限公司 | 一种提高移动端跨平台快速开发的方法 |
-
2018
- 2018-12-14 CN CN201811535272.6A patent/CN111324833A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7451393B1 (en) * | 2003-12-23 | 2008-11-11 | Sun Microsystems, Inc. | System and method for a page rendering framework |
CN107480153A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 一种页面数据处理方法、客户端及终端设备 |
CN108255914A (zh) * | 2017-09-05 | 2018-07-06 | 深圳壹账通智能科技有限公司 | 网页生成方法及应用服务器 |
CN108549671A (zh) * | 2018-03-28 | 2018-09-18 | 微梦创科网络科技(中国)有限公司 | 数据实时采集并可视化的实现方法及装置 |
CN108664245A (zh) * | 2018-04-27 | 2018-10-16 | 厦门南讯软件科技有限公司 | 一种基于json自描述结构的网页界面生成方法及装置 |
CN108762744A (zh) * | 2018-05-24 | 2018-11-06 | 吉旗(成都)科技有限公司 | 一种提高移动端跨平台快速开发的方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111736834A (zh) * | 2020-06-24 | 2020-10-02 | 全球能源互联网研究院有限公司 | 一种基于dsl的用户界面生成方法、装置及存储介质 |
CN112256445A (zh) * | 2020-07-24 | 2021-01-22 | 北京沃东天骏信息技术有限公司 | 基于应用程序的数据处理方法、装置、设备及存储介质 |
CN112579241A (zh) * | 2020-12-22 | 2021-03-30 | 广州博冠信息科技有限公司 | 页面布局方法和装置、计算机可读存储介质、电子设备 |
CN112506602A (zh) * | 2020-12-23 | 2021-03-16 | 北京百度网讯科技有限公司 | 页面生成方法及装置、电子设备、计算机可读介质 |
CN112506602B (zh) * | 2020-12-23 | 2023-08-08 | 北京百度网讯科技有限公司 | 页面生成方法及装置、电子设备、计算机可读介质 |
CN112558970A (zh) * | 2020-12-24 | 2021-03-26 | 贵阳货车帮科技有限公司 | 前端页面的渲染生成方法、装置、前端设备及存储介质 |
CN112558970B (zh) * | 2020-12-24 | 2024-04-19 | 贵阳货车帮科技有限公司 | 前端页面的渲染生成方法、装置、前端设备及存储介质 |
CN112882710A (zh) * | 2021-03-10 | 2021-06-01 | 百度在线网络技术(北京)有限公司 | 基于客户端的渲染方法、装置、设备以及存储介质 |
CN112882710B (zh) * | 2021-03-10 | 2024-06-04 | 百度在线网络技术(北京)有限公司 | 基于客户端的渲染方法、装置、设备以及存储介质 |
CN113326336A (zh) * | 2021-05-13 | 2021-08-31 | 中国建设银行股份有限公司 | 一种数据可视化处理方法和装置 |
CN113361525A (zh) * | 2021-06-30 | 2021-09-07 | 深圳市斯博科技有限公司 | 基于ocr的页面生成方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111324833A (zh) | 页面展示方法、装置、电子设计及计算机可读介质 | |
US10990367B2 (en) | Application development method, tool, and device, and storage medium | |
CN108984714B (zh) | 页面渲染方法、装置、电子设备及计算机可读介质 | |
WO2018228211A1 (zh) | 应用转换方法、装置及设备 | |
US10628132B2 (en) | Inversion of control framework for multiple behaviors of a process | |
TWI590082B (zh) | 應用程式的共享分散式詞庫 | |
US11048885B2 (en) | Cognitive translation service integrated with context-sensitive derivations for determining program-integrated information relationships | |
CN112100550A (zh) | 一种页面构建方法和装置 | |
CN110543297B (zh) | 用于生成源码的方法和装置 | |
CN110795649A (zh) | 目标页面展示方法、装置、系统及电子设备 | |
CN110895471A (zh) | 安装包生成方法、装置、介质及电子设备 | |
WO2021217661A1 (zh) | 一种实现图形化无代码软件开发平台及方法、计算机设备及存储介质 | |
US20170177882A1 (en) | Software-as-a-service reference process extension verification framework | |
US20200302350A1 (en) | Natural language processing based business domain modeling | |
CN111078228A (zh) | 网页到小程序的转换方法、装置、服务器及存储介质 | |
CN115599386A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN113495730A (zh) | 资源包的生成及解析方法和装置 | |
CN111831277B (zh) | 虚拟数据生成方法、系统、设备及计算机可读存储介质 | |
CN113778897A (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
Miravet et al. | Framework for the declarative implementation of native mobile applications | |
CN111198738A (zh) | 移动端页面展示方法、装置及电子设备 | |
US10936557B2 (en) | Relational database schema generation | |
CN111597059A (zh) | 接口调用请求处理方法、装置及电子设备 | |
CN114115855A (zh) | 代码复用方法及装置、计算机可读存储介质、电子设备 | |
US9141342B2 (en) | Programmatic conversion of support documentation into executable programs |
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 |