CN104158836B - 一种通过数据渲染移动应用界面的方法 - Google Patents

一种通过数据渲染移动应用界面的方法 Download PDF

Info

Publication number
CN104158836B
CN104158836B CN201410284680.4A CN201410284680A CN104158836B CN 104158836 B CN104158836 B CN 104158836B CN 201410284680 A CN201410284680 A CN 201410284680A CN 104158836 B CN104158836 B CN 104158836B
Authority
CN
China
Prior art keywords
page
data
control
model
server
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.)
Expired - Fee Related
Application number
CN201410284680.4A
Other languages
English (en)
Other versions
CN104158836A (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.)
Zhejiang University City College ZUCC
Original Assignee
Zhejiang University City College ZUCC
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 Zhejiang University City College ZUCC filed Critical Zhejiang University City College ZUCC
Priority to CN201410284680.4A priority Critical patent/CN104158836B/zh
Publication of CN104158836A publication Critical patent/CN104158836A/zh
Application granted granted Critical
Publication of CN104158836B publication Critical patent/CN104158836B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及通过数据渲染移动应用界面的方法,包括以下步骤S1~S3,其中,S1为:在服务器植入页面模板html与控件xml,并解析形成页面数据以及控件数据的Json数据包;S2为:客户端向服务器发送请求并接收该Json数据包,将其转化为页面模型;S3为:将该页面模型数据进行处理生成页面事件、页面控件,同时渲染页面布局。本发明的有益效果为:能够通过数据渲染出移动的web页面,可以使前端程序员不必过于关注页面的控件实现细节,不仅节约了开发时间,而且增加了移动应用之间的页面复用度。

Description

一种通过数据渲染移动应用界面的方法
技术领域
本发明涉及一种能够增加移动应用页面复用度的通过数据渲染移动应用界面的方法。
背景技术
目前移动应用对于跨平台的解决方案,大多是通过使用web技术来解决的,而对于web页面编写通常是前端程序员设计成固定的页面而完成的。这种方式创建的应用的页面并不能在多个应用间进行复用,因而需要花费巨大的人力成本。
目前web界面的渲染主要为两种技术:一种是网页跳转方式,客户端直接请求新页面替换当前页,另一种是通过交互的数据来渲染页面,通过程序解析交互的数据,再渲染页面。传统网页技术一般使用跳转的方式请求新的页面,但是一些新的应用开始使用AJAX技术,通过数据交互来渲染部分页面。
在现有技术中,移动界面的设计实现大多基于HTML或者XML的配置式进行构造,比如Andriod的页面设计就是基于编写页面XML布局模版,开发人员通过编写XML文件来描述某个Activity的内容,程序会对布局模版进行解析,然后渲染产生页面。而基于传统的WEB方法的JqueryMobile等都是基于HTML文本进行描述。本发明是在抽取出了页面交互特性的基础上,将数据、布局和控件分离,用单独的配置文件和各自特定的的标签来描述页面,并且将常用的组件进行抽象分离,使其能够更加多样化,适用于多种移动环境下,保证了不论在PC端和移动端(比如Android,iOS),只要是支持HTML5的环境中都能得到同样的应用界面渲染效果。
发明内容
针对现有技术中存在的不足,本发明的目的在于提供一种通过数据渲染移动应用界面的方法,能够通过数据渲染出移动的web页面,极大的提高了用于构建应用页面的复用度。
本发明的技术方案如下:
一种通过数据渲染移动应用界面的方法,包括以下步骤:
S1:在服务器植入页面模板html与控件xml,并解析形成页面数据以及控件数据的Json数据包;
S2:客户端向服务器发送请求并接收该Json数据包,将其转化为页面模型;
S3:将该页面模型数据进行处理生成页面事件、页面控件,同时渲染页面布局。
上述的方法,进一步包括:
客户端检查Json数据包的完整性;
将页面事件绑定至页面控件上,以使两者进行集中管理。
上述的方法,在步骤S2中,进一步包括:
通过浏览器启动指定的初始页面,并读入指定的配置文件;
读取配置文件中的信息并获取服务Url,开始构建请求服务器的Json数据包;
通过http协议向服务器发送Ajax请求;
获取响应的Json数据,验证其状态值,判断响应是否成功;
将成功响应的Json数据转化为页面模型数据。
上述的方法,通过Ajax请求获得服务器的响应数据,包括以下步骤:
通过Ajax请求指定的服务器地址获得页面Json数据;
解析获得的Json数据,验证数据的状态。
上述的方法,将请求的页面Json数据转化为页面模型,包括以下步骤:
将请求获得的页面数据进行分割;
将分割获得的页面数据按照不同的类型封装为不同的数据模型;
将数据模型搜集在不同的collection中。
上述的方法,在步骤S3中,进一步地包括以下步骤:
从不同类型的collection中将数据模型还原;
将数据模型分为控件模型与事件模型;
按照控件模型的类型将其渲染成不同的控件;
通过页面模型的所属ID将其绑定在指定的控件模型上。
上述的方法,进一步还包括以下步骤:
将页面事件、页面控件进行集中管理,包括有:
在生成页面控件和页面事件时将其放入页面管理器中;
在页面数据进行切换时将指定的页面控件和页面事件清除。
上述的方法,配置文件定义的内容包括:页面响应服务器的地址;应用所属的ID;应用初始化页面;事件的响应地址;
上述的方法,进一步包括:
页面事件响应产生页面迁移时,搜集页面控件信息,构造请求的数据包信息;
获取服务器的响应Json数据,重新使用以上方法渲染新的页面。
上述的方法,服务器响应的Json数据格式包括:数据包的状态值、页面的模版数据、页面的控件描述信息集合、页面事件的定义集合、应用认证信息以及页面签名信息中的一种或者几种。
本发明的有益效果是:
(1)能够通过数据渲染出移动的web页面,可以使前端程序员不必过于关注页面的控件实现细节,不仅节约了开发时间,而且增加了移动应用之间的页面复用度;
(2)使用数据来渲染界面,减少了前端开发人员的工作量,同时使得应用程序升级变得方便;
(3)本发明运用了AJAX技术,不但加快了页面的渲染速度,减少了数据的交互量,而且在传统AJAX交互的基础上,采用了纯JSON数据交互的方式,进一步降低了交互的数据量,提升了在移动环境下的使用性能;
(4)在抽取出了页面交互特性的基础上,将数据、布局和控件分离,用单独的配置文件和各自特定的的标签来描述页面,并且将常用的组件进行抽象分离,使其能够更加多样化,适用于多种移动环境下,保证了不论在PC端和移动端(比如Android,iOS),只要是支持HTML5的环境中都能得到同样的应用界面渲染效果。
附图说明
图1为本发明的流程框图;
图2为客户端渲染页面的工作过程示意图;
图3为定义文件、服务器、客户端关系图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。
图1示出了本发明实施例所述的通过数据渲染移动应用界面的方法的总体流程图,如图1所示,一种通过数据渲染移动应用界面的方法,包括以下步骤S1~S3,其中,S1为:在服务器植入页面模板html与控件xml,并解析形成页面数据以及控件数据的Json数据包;S2为:客户端向服务器发送请求并接收该Json数据包,将其转化为页面模型;S3为:将该页面模型数据进行处理生成页面事件、页面控件,同时渲染页面布局。
在本实施例中,页面模板html为:
本发明的方法应用在至少一个客户端和服务器之间,即,移动客户端的个数可以为多个,且各移动客户端均可通过访问接收服务器的数据进行自身的应用界面渲染,以达到节省人力成本之目的。
开发人员事先将页面模板html与控件xml放入服务器中,由服务器进行解析,将页面模板数据与控件数据形成的Json数据包存储到服务器的数据库中,任何一移动的客户端请求到这些数据后即可完成整个移动应用界面的渲染。
其中,所述的客户端具有一移动前端的浏览器,浏览器的作用是:点击运行该浏览器,在浏览器中输入一指定的Url将指定的页面打开,以启动指定的初始页面,从而在该初始页面中读入一指定的配置文件,通过读取配置文件中的信息获取服务Url,开始构建请求服务器的Json数据包。
通过指定的配置文件构建数据请求,包括以下步骤:
a)配置指定路径下的配置文件;
b)导入并解析该配置文件信息;
c)通过配置文件定义的服务地址与主页信息构建Url;
d)开始对解析获得的Url进行数据请求。
以上对于指定的配置文件构建数据的请求是通过HTTP协议完成的。
通过http协议向服务器发送Ajax请求,以获取响应的Json数据,包括以下步骤:
a)通过Ajax请求指定的服务器地址获得页面Json数据;
b)解析获得的Json数据,验证数据的状态,通过验证得到的Json数据的状态值来判断响应是否成功。
其中,服务器响应的Json数据格式包括:数据包的状态值、页面的模版数据、页面的控件描述信息集合、页面事件的定义集合、应用认证信息以及页面签名信息等,在客户端进行数据请求时,请求的Json数据定义的内容至少包括有页面事件及页面控件的描述信息、请求状态信息以及页面模板信息。
对于响应成功的Json数据转化为页面模型数据,其过程如下:
a)将请求获得的页面数据进行分割;
b)将分割获得的页面数据按照不同的类型封装为不同的数据模型;
c)将数据模型搜集在不同的collection(数据模型集合)中,以形成页面模型数据。
并进一步形成的页面模块经过以下处理生成页面事件以及页面控件:
a)从不同类型的collection中将数据模型还原;
b)将数据模型分为控件模型与事件模型;
c)按照控件模型的类型将其渲染成不同的控件;
d)通过页面模型的所属ID将其绑定在指定的控件模型上。
通过以下步骤,对页面事件和页面控件进行集中管理:
a)在生成页面控件和页面事件时将其放入页面管理器中;
b)在页面数据进行切换时将指定的页面控件和页面事件清除。
具体地,本实施例中的页面模板html和控件xml的基础上的代码如下:
图2为数据渲染界面的工作过程示意图,参见图2,该过程包括:
步骤1):客户端应用打开,发送请求给服务器,向服务器请求初始页面数据。在本实施例中,请求格式为http://10.66.4.69:8080/SmartX/webapi/adapterx/page/get/guodong/login。
步骤2):服务器接收到请求,从数据库中读取出相关数据发送给客户端。在本实施例中服务器发给客户端的json数据为:
步骤3):客户端接收到服务器发送的数据,检查数据包的完整性,确认数据在发送过程中没有错误。
步骤4):客户端解析接收到的数据,读取datas中的layout内容,并将这些内容加入至html页面id为pageviews的div中。
步骤5):客户端根据datas中的pagewidgets的若干个控件数据来渲染控件,这些数据中存储了控件的类型、id、父容器、内容、类名等信息,以及一些特定控件包含的信息如只读属性、循环属性等信息。
步骤6):客户端根据datas中的pageactions的若干行为数据来绑定事件,这些数据中存储了行为的类型、行为的所属控件、行为的内容。
上述实施例仅仅是为清楚地说明本发明创造所作的举例,而并非对本发明具体实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所引伸出的任何显而易见的变化或变动仍处于本权利要求的保护范围之中。

Claims (7)

1.一种通过数据渲染移动应用界面的方法,其特征在于,包括以下步骤:
S1:抽取页面交互特性,分离数据、布局以及控件,在服务器植入页面模板html与控件xml,并解析形成页面数据以及控件数据的Json数据包;
S2:客户端向服务器发送请求并接收该Json数据包,将其转化为页面模型;
S3:将该页面模型数据进行处理生成页面事件、页面控件,同时渲染页面布局;
在步骤S2中,进一步包括:
通过浏览器启动指定的初始页面,并读入指定的配置文件;
读取配置文件中的信息并获取服务Url,开始构建请求服务器的Json数据包;
通过http协议向服务器发送Ajax请求;
获取响应的Json数据,验证其状态值,判断响应是否成功;
将成功响应的Json数据转化为页面模型数据;
进一步地,
将请求的页面Json数据转化为页面模型,包括以下步骤:
将请求获得的页面数据进行分割;
将分割获得的页面数据按照不同的类型封装为不同的数据模型;
将数据模型搜集在不同的collection中;
在步骤S3中,进一步地包括以下步骤;
从不同类型的collection中将数据模型还原;
将数据模型分为控件模型与事件模型;
按照控件模型的类型将其渲染成不同的控件;
通过页面模型的所属ID将其绑定在指定的控件模型上。
2.根据权利要求1所述的方法,其特征在于,进一步包括:
客户端检查Json数据包的完整性;
将页面事件绑定至页面控件上,以使两者进行集中管理。
3.根据权利要求1所述的方法,其特征在于,通过Ajax请求获得服务器的响应数据,包括以下步骤:
通过Ajax请求指定的服务器地址获得页面Json数据;
解析获得的Json数据,验证数据的状态。
4.根据权利要求1所述的方法,其特征在于,进一步还包括以下步骤:
将页面事件、页面控件进行集中管理,包括有:
在生成页面控件和页面事件时将其放入页面管理器中;
在页面数据进行切换时将指定的页面控件和页面事件清除。
5.根据权利要求1所述的方法,其特征在于,配置文件定义的内容包括:页面响应服务器的地址;应用所属的ID;应用初始化页面;事件的响应地址。
6.根据权利要求1所述的方法,其特征在于,进一步包括:
页面事件响应产生页面迁移时,搜集页面控件信息,构造请求的数据包信息;
获取服务器的响应Json数据,重新使用以上方法渲染新的页面。
7.根据权利要求1所述的方法,其特征在于,服务器响应的Json数据格式包括:数据包的状态值、页面的模版数据、页面的控件描述信息集合、页面事件的定义集合、应用认证信息以及页面签名信息中的一种或者几种。
CN201410284680.4A 2014-06-23 2014-06-23 一种通过数据渲染移动应用界面的方法 Expired - Fee Related CN104158836B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410284680.4A CN104158836B (zh) 2014-06-23 2014-06-23 一种通过数据渲染移动应用界面的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410284680.4A CN104158836B (zh) 2014-06-23 2014-06-23 一种通过数据渲染移动应用界面的方法

Publications (2)

Publication Number Publication Date
CN104158836A CN104158836A (zh) 2014-11-19
CN104158836B true CN104158836B (zh) 2018-05-01

Family

ID=51884241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410284680.4A Expired - Fee Related CN104158836B (zh) 2014-06-23 2014-06-23 一种通过数据渲染移动应用界面的方法

Country Status (1)

Country Link
CN (1) CN104158836B (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573066B (zh) * 2015-01-26 2017-11-03 中国工商银行股份有限公司 页面复用方法及装置
CN104731594A (zh) * 2015-03-26 2015-06-24 浪潮集团有限公司 一种基于Bootstrap显示运行时定制页面的方法
CN104765844B (zh) * 2015-04-16 2019-02-19 北京京东尚科信息技术有限公司 一种网站页面的生成方法和装置
CN106202096A (zh) * 2015-05-05 2016-12-07 阿里巴巴集团控股有限公司 客户端页面渲染方法及装置
CN105589918B (zh) * 2015-09-17 2017-04-05 广州市动景计算机科技有限公司 一种提取页面信息的方法及装置
CN105242926A (zh) * 2015-09-30 2016-01-13 北京锐安科技有限公司 Web前端开发平台
CN105404514B (zh) * 2015-12-01 2019-02-15 广州华多网络科技有限公司 JavaScript渲染方法和装置
CN105468377A (zh) * 2015-12-10 2016-04-06 北京中科汇联科技股份有限公司 一种移动端页面生成方法及系统
CN105574755A (zh) * 2015-12-22 2016-05-11 北京奇虎科技有限公司 一种提供前端服务的方法和装置
CN106936871B (zh) * 2015-12-30 2020-05-29 阿里巴巴集团控股有限公司 界面展示数据的方法及装置
CN107015819B (zh) * 2016-01-27 2020-11-13 阿里巴巴集团控股有限公司 在服务器端更新html模板的方法和装置
CN105808259A (zh) * 2016-03-09 2016-07-27 北京京东尚科信息技术有限公司 视图元素动态配置响应事件的方法及移动终端和服务器
CN107666406B (zh) * 2016-07-29 2021-03-23 腾讯科技(深圳)有限公司 智能卡片显示方法及装置
CN106407388A (zh) * 2016-09-19 2017-02-15 福建中金在线信息科技有限公司 一种网页生成方法及装置
CN108132954B (zh) * 2016-11-30 2021-12-28 深圳联友科技有限公司 一种html页面的本地化加载方法及装置
CN108664296A (zh) * 2017-03-31 2018-10-16 阿里巴巴集团控股有限公司 一种页面渲染方法和装置、一种页面处理方法和装置
CN107169007B (zh) * 2017-03-31 2021-04-16 北京奇艺世纪科技有限公司 一种移动终端的显示界面设置方法及装置
CN107450929A (zh) * 2017-08-10 2017-12-08 武汉斗鱼网络科技有限公司 页面开发方法及装置
CN107562427B (zh) * 2017-09-07 2020-07-10 南威软件股份有限公司 一种基于NodeJS的页面模板引擎渲染方法
CN109857473A (zh) * 2017-11-29 2019-06-07 北京京东尚科信息技术有限公司 一种页面数据的加载方法和装置
CN108241501A (zh) * 2018-01-26 2018-07-03 长春玖佰软件技术有限公司 一种移动客户端软件实现及更新方法
CN110347390B (zh) * 2018-04-03 2023-07-11 广州洋葱时尚集团有限公司 一种快速生成web页面的方法、存储介质、设备及系统
CN109684008B (zh) * 2018-12-19 2022-03-29 Oppo广东移动通信有限公司 卡片渲染方法、装置、终端及计算机可读存储介质
CN110209967B (zh) * 2019-04-17 2022-05-03 北京奇艺世纪科技有限公司 页面加载方法、装置、终端设备和计算机可读介质
CN110837358B (zh) * 2019-10-28 2021-11-02 杭州衣科信息技术股份有限公司 一种基于iOS平台的事件引擎和数据引擎的运作方法
CN111259286A (zh) * 2020-01-14 2020-06-09 上海英方软件股份有限公司 一种通用web页面布局生成装置及方法
CN111125606A (zh) * 2020-03-27 2020-05-08 大汉软件股份有限公司 一种实现门户网站移动化展现的自动化方法和系统
CN111752667A (zh) * 2020-07-01 2020-10-09 湖南快乐阳光互动娱乐传媒有限公司 一种页面生成方法及装置
CN114327384A (zh) * 2021-11-30 2022-04-12 航天信息股份有限公司 一种动态页面生成系统及方法
CN114385290B (zh) * 2021-12-24 2024-04-05 国泰新点软件股份有限公司 页面转换方法、装置和存储介质
CN114675916A (zh) * 2022-03-02 2022-06-28 青岛海尔科技有限公司 屏幕布局生成方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676288B2 (en) * 2006-06-23 2010-03-09 Invensys Systems, Inc. Presenting continuous timestamped time-series data values for observed supervisory control and manufacturing/production parameters
CN103034690A (zh) * 2012-11-28 2013-04-10 华南理工大学 一种基于web服务的移动客户端应用程序自定制方法
CN103731492A (zh) * 2013-12-31 2014-04-16 优视科技有限公司 一种页面传输处理方法、装置和系统
CN103870266A (zh) * 2012-12-12 2014-06-18 杭州新世纪电子科技有限公司 一种页面生成方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378400B (zh) * 2007-08-30 2013-01-30 国际商业机器公司 实现桌面应用和Web应用聚合的方法、服务器和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676288B2 (en) * 2006-06-23 2010-03-09 Invensys Systems, Inc. Presenting continuous timestamped time-series data values for observed supervisory control and manufacturing/production parameters
CN103034690A (zh) * 2012-11-28 2013-04-10 华南理工大学 一种基于web服务的移动客户端应用程序自定制方法
CN103870266A (zh) * 2012-12-12 2014-06-18 杭州新世纪电子科技有限公司 一种页面生成方法和系统
CN103731492A (zh) * 2013-12-31 2014-04-16 优视科技有限公司 一种页面传输处理方法、装置和系统

Also Published As

Publication number Publication date
CN104158836A (zh) 2014-11-19

Similar Documents

Publication Publication Date Title
CN104158836B (zh) 一种通过数据渲染移动应用界面的方法
CN101122921B (zh) 基于ajax与html标记形成树形显示结构的方法
CN107229633A (zh) 静态页面生成方法、网页访问方法及装置
CN102880708B (zh) 用于实现html页面的可视化设计的系统和方法
CN105824900A (zh) 一种基于react-native的页面展示系统
CN104484216A (zh) 服务接口文档和在线测试工具生成方法、装置
CN105117469A (zh) 一种个性化替换网页主题的方法及装置
CN105045887A (zh) 混合模式跨域数据交互的系统及其方法
CN101951405A (zh) 一种基于webkit的机顶盒中间件的实现方法
CN104268082A (zh) 浏览器的压力测试方法和装置
WO2012155678A1 (zh) 基于浏览器解析方式的手机应用界面的开发方法和终端
CN105404514B (zh) JavaScript渲染方法和装置
WO2016005885A2 (en) Asynchronous initialization of document object model (dom) modules
WO2016005884A2 (en) Javascript-based, client-side template driver system
CN103488735B (zh) 终端浏览器页面刷新显示的方法及终端
CN106407388A (zh) 一种网页生成方法及装置
CN105095220B (zh) 一种浏览器实现方法、终端和虚拟化代理装置
CN110083755A (zh) 一种高仿真解析网页方法、装置和电子设备
CN106886245A (zh) 一种精准倒计时实现方法及系统
CN102253986A (zh) 提高多终端网页显示效果的方法和装置
CN111596996A (zh) 动态化布局方法以及系统
CN105279076B (zh) 一种网页测试方法及终端
WO2016005886A2 (en) Self-referencing of running script elements in asychronously loaded dom modules
CN104572794A (zh) 一种人性化网络信息展示方法及系统
US20180192121A1 (en) System and methods thereof for displaying video content

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180501