CN107402747B - 一种支持多终端类型的应用页面动态生成方法 - Google Patents
一种支持多终端类型的应用页面动态生成方法 Download PDFInfo
- Publication number
- CN107402747B CN107402747B CN201610341904.XA CN201610341904A CN107402747B CN 107402747 B CN107402747 B CN 107402747B CN 201610341904 A CN201610341904 A CN 201610341904A CN 107402747 B CN107402747 B CN 107402747B
- Authority
- CN
- China
- Prior art keywords
- control
- instance
- page
- server end
- page instance
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Abstract
本发明提供了一种支持多终端类型的应用页面动态生成方法,所述方法包括:步骤1)在服务器端上,为每个支持的终端类型创建具有层次关系的页面实例;基于控件属性和业务逻辑跳转关系生成控件实例;将控件实例装配到页面实例中,保存页面实例标识所包含的控件实例标识和其在页面实例中的位置到有序列表;步骤2)终端应用启动,访问服务器端进行控件同步,获取控件属性和页面实例包含的控件实例;向服务器端发送获取页面数据请求,服务器端识别终端应用对应的终端类型,根据页面实例组装成完全实例化的页面数据并返回;终端应用解析页面实例数据,按照有序列表中页面实例对应控件实例的编码标识执行控件的渲染代码库中对应的渲染代码进行渲染显示。
Description
技术领域
本发明涉及终端应用界面生成技术,具体涉及一种支持多终端类型的应用页面动态生成方法。
背景技术
随着互联网和终端技术的发展,越来越多的智能终端类型开始出现。由于不同智能终端的界面显示和渲染能力不同,同一业务在不同的终端类型上的显示界面呈现不同。
目前常见的做法是为不同终端类型的应用制作不同的应用界面,这种方式的不足之处在于:1)没有实现数据、页面渲染的分离,无法进行分层开发,业务逻辑开发严重依赖界面渲染;2)灵活性差,每次布局或者界面的修改都需要重新进行代码修改,页面开发效率低;3)无法充分复用已开发好的控件或界面,手工修改代码的工作量大。
发明内容
本发明的目的在于克服现有技术的存在的上述缺陷,提出了一种控件渲染、控件数据及页面布局的分离的应用页面动态生成方法,该方法充分复用控件,快速方便应对多终端类型的应用页面的变化和业务逻辑调整,提高了页面的开发效率。
为了实现上述目的,本发明提供了一种支持多终端类型的应用页面动态生成方法,所述方法包括:
步骤1)在服务器端上,为每个支持的终端类型创建具有层次关系的页面实例;关联控件到业务数据上,基于控件属性和业务逻辑跳转关系生成控件实例;将控件实例装配到页面实例中,保存页面实例标识所包含的控件实例标识和其在页面实例中的位置到有序列表;
步骤2)终端应用启动,访问服务器端进行控件同步,获取控件属性和页面实例包含的控件实例;向服务器端发送获取页面数据请求,服务器端识别终端应用对应的终端类型,获取该终端类型对应的业务逻辑的页面实例,根据页面实例组装成完全实例化的页面数据并返回;终端应用解析页面实例数据,按照有序列表中页面实例对应控件实例的编码标识执行控件的渲染代码库中对应的渲染代码进行渲染显示。
上述技术方案中,所述页面实例包含:页面实例标识、页面实例描述、页面实例层级级别、是否为首页、是否为最后一级页面、是否有控件实例链接及所包含的控件实例列表。
上述技术方案中,所述控件属性包括:控件的唯一编码标识、控件的名字、控件的描述、控件的跳转目标列表、控件的业务数据查询接口、控件的数据显示数量、控件数据是否分页及分页属性和控件的渲染代码库。
上述技术方案中,所述步骤1)具体包括:
步骤101)服务器端为支持的终端类型创建各自的业务逻辑;对应每一种终端类型,其业务逻辑由具有链接关系的页面实例组成;
步骤102)服务器端关联控件到业务数据上,基于控件属性生成控件的唯一编码标识,把控件上线;
步骤103)服务器端进行控件实例化,把业务数据的查询接口赋值给控件的业务数据查询接口,逐一把对应的页面实例标识赋值给控件的跳转目标;
步骤104)服务器端从具有“首页标识”的页面实例开始,把控件实例填充到页面实例的具体位置,并把对应的控件实例标识和其在页面实例中的位置序号保存在有序列表中;
步骤105)服务器端依次获取本页面实例所包含的控件实例的跳转目标所对应的页面实例标识,将该目标页面实例中的控件填充到该目标页面实例的具体位置,并把对应的控件实例标识和其在该目标页面实例中的位置序号保存在有序列表中,直至所有页面实例所包含的控件实例没有可执行跳转动作的目标页面实例为止。
上述技术方案中,所述步骤2)具体包括:
步骤201)终端应用与服务器端进行控件同步,获取新上线的控件的渲染代码库,删除已下线的控件的渲染代码库;
步骤202)终端应用发送获取页面数据请求,服务器端识别终端应用对应的终端类型,获取对应终端类型的所对应的业务逻辑的具有“首页标识”的页面实例,对页面实例所包含的控件实例按照对应的业务数据的查询接口动态获取数据,并结合控件实例的基础属性,组装成完全实例化的页面数据并返回;
步骤203)终端应用解析页面实例数据,获取页面实例所包含的完全实例化的控件实例列表,按照对应控件实例的所包含控件的唯一编码标识和业务数据执行控件的渲染代码库进行渲染显示。
上述技术方案中,当终端应用执行跳转动作时,所述步骤2)进一步包括:
把控件实例对应跳转动作目标的页面实例作为参数,发送获取页面数据请求,服务器端获取对应页面实例,对页面实例所包含的控件实例按照对应的业务数据的查询接口动态获取数据,并结合控件实例的基础属性,组装成完全实例化的页面数据并返回终端应用解析页面实例数据,获取页面实例所包含的完全实例化的控件实例列表,按照对应控件实例的所包含控件的唯一编码标识和业务数据执行控件的渲染代码库进行渲染显示。
本发明的有益效果在于:
1.本发明的方法实现了控件渲染、控件数据及页面布局的分离,可以充分复用控件;
2.本发明的方法能够快速方便应对多终端类型的应用页面的变化和业务逻辑调整,提高了页面的开发效率。
附图说明
图1是本发明的支持多终端类型的应用页面动态生成方法的服务器端具体实施步骤流程图;
图2是本发明的支持多终端类型的应用页面动态生成方法的终端应用的具体实施步骤流程图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细的说明。
如图1所示,一种支持多终端类型的应用页面动态生成方法的服务器端具体实施步骤,具体包括:
步骤201)服务器端为支持的终端类型,比如手机、电视,创建各自的业务逻辑。对应每一种终端类型,其业务逻辑是具有链接关系的页面实例组成;
每一个新生成的页面实例包含页面实例标识、页面实例描述、页面实例层级级别、是否为首页、是否为最后一级页面、是否有控件实例链接及所包含的控件实例列表;服务器端创建的页面实例的层次关系,标识了页面之间的跳转关系,作为页面中控件实例的跳转目标;可以跨层级进行跳转,从而实现业务逻辑调整。
步骤202)服务器端接收开发人员开发的新控件,基于新控件的属性,包括控件的名字、控件的描述、控件的跳转目标列表、控件的业务数据查询接口、控件的数据显示数量、控件数据是否分页及分页属性(总数、当前页、每页数量)、控件的渲染代码库,生成控件的唯一编码标识,把控件上线;其中控件的跳转动作列表可以为空;
步骤203)服务器端进行控件实例化,把业务数据的查询接口赋值给控件的业务数据查询接口,逐一把对应的页面实例标识赋值给控件的跳转目标;
步骤204)服务器端从具有“首页标识”的页面实例开始,把控件实例填充到页面实例的具体位置,并把对应的控件实例标识和其在页面实例中的位置序号保存在有序列表中;
步骤205)服务器端依次获取本页面实例所包含的控件实例的跳转目标所对应的页面实例标识,将该目标页面实例中的控件填充到该目标页面实例的具体位置,并把对应的控件实例标识和其在该目标页面实例中的位置序号保存在有序列表中,直至所有页面实例所包含的控件实例没有可执行跳转动作的目标页面实例为止。
如图2所示,一种支持多终端类型的应用页面动态生成方法的终端应用的具体实施步骤,具体包括:
步骤301)终端应用启动,与服务器端进行控件同步,获取新上线的控件的渲染代码库,删除已下线的控件的渲染代码库;
步骤302)终端应用发送获取页面数据请求;
步骤303)服务器端识别终端应用对应的终端类型,获取对应终端类型的所对应的业务逻辑的具有“首页标识”的页面实例,对页面实例所包含的控件实例按照对应的业务数据的查询接口动态获取数据,并结合控件实例的基础属性,组装成完全实例化的页面数据并返回;
步骤304)终端应用解析页面实例数据,获取页面实例所包含的完全实例化的控件实例列表,按照对应控件实例的所包含控件的唯一编码标识和业务数据执行控件的渲染代码库进行渲染显示;
步骤305)终端应用执行跳转动作时,把控件实例对应跳转动作目标的页面实例作为参数,发送获取页面数据请求;
步骤306)服务器端获取对应页面实例,对页面实例所包含的控件实例按照对应的业务数据的查询接口动态获取数据,并结合控件实例的基础属性,组装成完全实例化的页面数据并返回;
步骤307)重复步骤305)和步骤306),直到达到应用的最后一级页面。
服务器端管理控件的生命周期,包括:控件上线、控件实例化、控件下线。控件上线:即向服务器端提交步骤201)中描述的控件的属性,生成控件;控件实例化:实现控件与业务数据的绑定,并实例化控件的跳转目标;控件下线:即删除服务器端中管理的控件。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (5)
1.一种支持多终端类型的应用页面动态生成方法,所述方法包括:
步骤1)在服务器端上,为每个支持的终端类型创建具有层次关系的页面实例;关联控件到业务数据上,基于控件属性和业务逻辑跳转关系生成控件实例;将控件实例装配到页面实例中,保存页面实例标识所包含的控件实例标识和其在页面实例中的位置到有序列表;
步骤2)终端应用启动,访问服务器端进行控件同步,获取控件属性和页面实例包含的控件实例;向服务器端发送获取页面数据请求,服务器端识别终端应用对应的终端类型,获取该终端类型对应的业务逻辑的页面实例,根据页面实例组装成完全实例化的页面数据并返回;终端应用解析页面实例数据,按照有序列表中页面实例对应控件实例的编码标识执行控件的渲染代码库中对应的渲染代码进行渲染显示;
所述步骤1)具体包括:
步骤101)服务器端为支持的终端类型创建各自的业务逻辑;对应每一种终端类型,其业务逻辑由具有链接关系的页面实例组成;
步骤102)服务器端关联控件到业务数据上,基于控件属性生成控件的唯一编码标识,把控件上线;
步骤103)服务器端进行控件实例化,把业务数据的查询接口赋值给控件的业务数据查询接口,逐一把对应的页面实例标识赋值给控件的跳转目标;
步骤104)服务器端从具有“首页标识”的页面实例开始,把控件实例填充到页面实例的具体位置,并把对应的控件实例标识和其在页面实例中的位置序号保存在有序列表中;
步骤105)服务器端依次获取本页面实例所包含的控件实例的跳转目标所对应的页面实例标识,将该目标页面实例中的控件填充到该目标页面实例的具体位置,并把对应的控件实例标识和其在该目标页面实例中的位置序号保存在有序列表中,直至所有页面实例所包含的控件实例没有可执行跳转动作的目标页面实例为止。
2.根据权利要求1所述的支持多终端类型的应用页面动态生成方法,其特征在于,所述页面实例包含:页面实例标识、页面实例描述、页面实例层级级别、是否为首页、是否为最后一级页面、是否有控件实例链接及所包含的控件实例列表。
3.根据权利要求2所述的支持多终端类型的应用页面动态生成方法,其特征在于,所述控件属性包括:控件的唯一编码标识、控件的名字、控件的描述、控件的跳转目标列表、控件的业务数据查询接口、控件的数据显示数量、控件数据是否分页及分页属性和控件的渲染代码库。
4.根据权利要求3所述的支持多终端类型的应用页面动态生成方法,其特征在于,所述步骤2)具体包括:
步骤201)终端应用与服务器端进行控件同步,获取新上线的控件的渲染代码库,删除已下线的控件的渲染代码库;
步骤202)终端应用发送获取页面数据请求,服务器端识别终端应用对应的终端类型,获取对应终端类型的所对应的业务逻辑的具有“首页标识”的页面实例,对页面实例所包含的控件实例按照对应的业务数据的查询接口动态获取数据,并结合控件实例的基础属性,组装成完全实例化的页面数据并返回;
步骤203)终端应用解析页面实例数据,获取页面实例所包含的完全实例化的控件实例列表,按照对应控件实例的所包含控件的唯一编码标识和业务数据执行控件的渲染代码库进行渲染显示。
5.根据权利要求4所述的支持多终端类型的应用页面动态生成方法,其特征在于,当终端应用执行跳转动作时,所述步骤2)进一步包括:
把控件实例对应跳转动作目标的页面实例作为参数,发送获取页面数据请求,服务器端获取对应页面实例,对页面实例所包含的控件实例按照对应的业务数据的查询接口动态获取数据,并结合控件实例的基础属性,组装成完全实例化的页面数据并返回终端应用解析页面实例数据,获取页面实例所包含的完全实例化的控件实例列表,按照对应控件实例的所包含控件的唯一编码标识和业务数据执行控件的渲染代码库进行渲染显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610341904.XA CN107402747B (zh) | 2016-05-20 | 2016-05-20 | 一种支持多终端类型的应用页面动态生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610341904.XA CN107402747B (zh) | 2016-05-20 | 2016-05-20 | 一种支持多终端类型的应用页面动态生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107402747A CN107402747A (zh) | 2017-11-28 |
CN107402747B true CN107402747B (zh) | 2019-08-20 |
Family
ID=60389138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610341904.XA Expired - Fee Related CN107402747B (zh) | 2016-05-20 | 2016-05-20 | 一种支持多终端类型的应用页面动态生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107402747B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108427590B (zh) * | 2018-02-09 | 2021-02-05 | 福建星网锐捷通讯股份有限公司 | 一种ui动态布局的实现方法 |
CN108415705B (zh) * | 2018-03-13 | 2021-04-09 | 腾讯科技(深圳)有限公司 | 网页生成方法、装置、存储介质及设备 |
CN108733374A (zh) * | 2018-05-22 | 2018-11-02 | 深圳壹账通智能科技有限公司 | 应用程序首页开发方法及终端设备 |
CN109408136B (zh) * | 2018-09-12 | 2021-06-15 | Oppo广东移动通信有限公司 | 信息处理方法、装置、存储介质及电子设备 |
CN109358853B (zh) * | 2018-09-30 | 2023-10-13 | 武汉斗鱼网络科技有限公司 | 一种控件展示方法、装置及可读存储介质 |
CN109799994B (zh) * | 2019-01-14 | 2022-02-18 | 腾讯科技(武汉)有限公司 | 一种终端组件生成方法及装置 |
CN109947425B (zh) * | 2019-03-04 | 2023-10-17 | 深圳市雅阅科技有限公司 | 一种信息流处理方法及装置 |
CN111143526B (zh) * | 2019-12-18 | 2024-03-22 | 口碑(上海)信息技术有限公司 | 一种咨询服务控件配置信息的生成、控制方法及装置 |
CN111427577A (zh) * | 2020-04-27 | 2020-07-17 | 北京每日优鲜电子商务有限公司 | 代码处理方法、装置及服务器 |
CN111666075B (zh) * | 2020-05-30 | 2022-04-12 | 荣耀终端有限公司 | 一种多设备交互的方法及系统 |
CN112363794B (zh) * | 2020-11-30 | 2024-02-06 | 华云数据控股集团有限公司 | 一种前端列表类组件的渲染方法及电子设备 |
CN112732262A (zh) * | 2021-01-22 | 2021-04-30 | 湖南金鹰卡通传媒有限公司 | 移动终端版块动态配置方法、系统以及存储介质 |
CN115981588B (zh) * | 2023-03-16 | 2023-09-26 | 中国邮电器材集团有限公司 | 一种多终端数据显示方法、设备和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713830A (zh) * | 2012-10-04 | 2014-04-09 | 索尼公司 | 用于提供用户界面的方法和装置 |
CN103761317A (zh) * | 2014-01-27 | 2014-04-30 | 北京京东尚科信息技术有限公司 | 一种多线程异步渲染系统及方法 |
CN104484169A (zh) * | 2014-12-09 | 2015-04-01 | 成都视达科信息技术有限公司 | 一种Android软件用户界面生成方法、系统及应用系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2809844B1 (fr) * | 2000-05-31 | 2002-11-22 | Wokup Sa | Systeme de publication multi-terminal et procede de mise en oeuvre correspondant |
-
2016
- 2016-05-20 CN CN201610341904.XA patent/CN107402747B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713830A (zh) * | 2012-10-04 | 2014-04-09 | 索尼公司 | 用于提供用户界面的方法和装置 |
CN103761317A (zh) * | 2014-01-27 | 2014-04-30 | 北京京东尚科信息技术有限公司 | 一种多线程异步渲染系统及方法 |
CN104484169A (zh) * | 2014-12-09 | 2015-04-01 | 成都视达科信息技术有限公司 | 一种Android软件用户界面生成方法、系统及应用系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107402747A (zh) | 2017-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107402747B (zh) | 一种支持多终端类型的应用页面动态生成方法 | |
CN106843828B (zh) | 界面显示、加载方法及装置 | |
CN108632068B (zh) | 一种网络切片模板生成、网络切片模板应用方法和装置 | |
CN102110121B (zh) | 一种数据处理方法及其系统 | |
US20170213156A1 (en) | Artificial intelligence engine having multiple independent processes on a cloud based platform configured to scale | |
CN106293311A (zh) | 基于移动应用的页面显示方法、客户端、服务器及平台 | |
CN107391104B (zh) | 一种客户端与react native代码的更新依赖管理方法、装置及系统 | |
CN105630488A (zh) | 一种基于docker容器技术的持续集成实现方法 | |
CN102438278B (zh) | 移动通信网络的负载分配方法及负载分配装置 | |
CN108280080A (zh) | 一种数据同步方法、装置以及电子设备 | |
CN103984582A (zh) | 一种热更新方法和装置 | |
Amoretti et al. | DEUS: a discrete event universal simulator | |
KR20210036226A (ko) | 복수의 엣지와 클라우드를 포함하는 분산 컴퓨팅 시스템 및 이의 적응적 지능 활용을 위한 분석 모델 제공 방법 | |
CN110888858B (zh) | 数据库的操作方法和装置、存储介质、电子装置 | |
CN103473696A (zh) | 一种收集、分析和分发网络商业信息的方法和系统 | |
CN104133666A (zh) | 确定人工智能行为的方法、装置及人工智能服务器 | |
CN101387953A (zh) | 协同软件开发系统及方法 | |
CN108776592A (zh) | 一种页面构建的方法、装置、设备及存储介质 | |
CN105872121A (zh) | 终端连接服务器的方法、终端及域名服务器 | |
CN111176706A (zh) | 终端升级方法、装置、电子设备及存储介质 | |
CN110019179A (zh) | 更新索引库的方法及装置、电子设备、存储介质 | |
CN114253436B (zh) | 一种页面展示方法、装置及存储介质 | |
CN108897858A (zh) | 分布式集群索引分片的评估方法及装置、电子设备 | |
CN110782040A (zh) | 一种pytorch任务训练方法、装置、设备及介质 | |
CN112691382B (zh) | 资源处理方法、装置及计算机可读存储介质 |
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 | ||
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: 20190820 Termination date: 20200520 |