CN103955364B - 一种适用于手机的前端组件方法 - Google Patents
一种适用于手机的前端组件方法 Download PDFInfo
- Publication number
- CN103955364B CN103955364B CN201410150277.2A CN201410150277A CN103955364B CN 103955364 B CN103955364 B CN 103955364B CN 201410150277 A CN201410150277 A CN 201410150277A CN 103955364 B CN103955364 B CN 103955364B
- Authority
- CN
- China
- Prior art keywords
- component
- page
- file
- resource
- configuration
- 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
Links
Landscapes
- Stored Programmes (AREA)
- Telephone Function (AREA)
Abstract
本发明提供一种适用于手机的前端组件方法,包括定义组件的资源文件夹,该文件夹里包含有组件的样式信息、布局信息、主要的逻辑方法、资源文件;在配置文件中对需要的组件进行注册,根据配置信息和页面中的标签来对组件进行识别,并调用组件中的相关方法进行标签渲染及添加;允许用户自定义自己的组件,并加入到组件包中,且用户的自定义组件既可以是用户自己开发的全新组件,也可以是通过将旧的组件进行修改加工而得到;组件正常生成后通过对外提供接口与事件同外部资源进行交互。随着组件的增多,应用项目的增加,组件的复用频率也逐渐增加,当在开发中采用此技术后,开发成本将逐渐降低,开发效率也将逐步提高。
Description
技术领域
本发明涉及一种适用于手机的前端组件方法。
背景技术
在手机终端实现跨系统的应用,最方便快捷的方法就是采用web app的方式进行应用软件开发。在web app的开发中,我们往往需要用到很多各种各样的HTML元素(复用代码)。随着手机应用项目的增多,我们可以发现有许多相似的功能在多个手机项目中都有需求(例如许多的应用软件都需要用到通选框或复选框对象),如果开发者为每个项目都重复编写类似的代码,那么既会造成重复的工作,增加开发成本,也不利于后期的维护。为了解决以上问题,本发明提出了一种适用于手机的前端组件方法,将手机前端的功能组件化,方便了用户的重复利用与二次开发,节省了开发成本,提高了工作效率。
发明内容
本发明要解决的技术问题,在于提供一种适用于手机的前端组件方法,将各种常用到的元素(复用代码)组成前端组件,以供开发人员复用。开发人员可以根据自己的需求,对当前组件进行修改,形成适用于本应用领域的新的组件;也可以将组件进行分类,按需要对组件进行加载,从而避免一次性引用太多的元素。
本发明是这样实现的:一种适用于手机的前端组件方法,包括如下步骤:
步骤10、加载基本页面框架,并配置组件资源目录,包括定义一个组件资源文件夹,文件夹内包含组件的资源文件和组件的配置文件,且组件的资源文件按照同一个组件中的所有资源放置在同一个文件夹的原则进行设置;
步骤20、选择需要的组件,根据配置在组件文件中读取相应的页面信息;
步骤30、利用底层解析库提供的支持,根据配置信息和页面中的标签来对组件进行自动解析,调用组件的初始化方法;
步骤40、用户根据需求自定义自己的组件;
步骤50、调用组件对象的渲染方法,根据初始化完成的函数对页面标签进行渲染;
步骤60、当组件内还有未初始化的组件时,将自动跳转到步骤30,并通过组件内的html布局文件实现组件之间的嵌套;
步骤70、组件正常生成后,开发者通过调用相应的接口对组件进行操作或者捕捉组件的相应事件并进行处理。
进一步的,所述步骤10中,配置文件对应的资源目录包括Style目录,用于保存组件相关的资源;Html目录,用于保存组件的布局文件;JS目录,用于保存组件相关的逻辑。
进一步的,所述步骤20中,读取页面信息时需先在页面的标签中写入要使用的组件类型,判断配置正确后将生成组件对象,并保存到页面的对象缓存中。
进一步的,所述步骤40用户自定义组件步骤主要如下:
步骤401、按照组件资源结构目录来编写或者修改需要的组件,并且在组件中提供让页面调用的渲染方法;
步骤402、根据实际的业务需要提供出相应的调用接口和相应的事件,并添加相应的资源;
步骤403、将组件的名称与目录注册到配置文件中以供使用。
进一步的,所述步骤60中,在组件内的html布局文件并非是必要的,但是当有组件嵌套时,组件内的渲染方法就调用html的布局文件来生成组件的布局;组件嵌套的时候,html的布局文件便将其他组件的标签写入到上级组件的布局文件中,以实现组件的嵌套;组件嵌套过程中,将首先渲染嵌套的组件内容,然后将嵌套的内容作为整体组件的一部分渲染到最终页面上。
进一步的,所述步骤50中,标签渲染的过程如下:
步骤501、加载组件对象的样式文件及相关的资源;
步骤502、根据组件的配置信息,生成相应的DOM对象;
步骤503、将生成的DOM对象添加到页面上的相应标签之上。
本发明具有如下有益效果:
1.手机前端常用界面功能的组件化,便于用户的重复利用与二次开发,节省开发成本,提高工作效率。
2.随着用户使用的项目增多,使用的组件也将增多,用户节省的成本越多,维护越方便。
3.在自定义时,用户可以根据自己的业务需求,创建属于自己的组件;也可以在自己的组件中引用其他原有的组件,实现功能的扩展和增强。
4.由于规定了统一的组件接口,组件之间可以简单的互相调用,但是不能干涉到组件内的子组件的执行。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明的流程框图。
图2为本发明中组件目录逻辑结构示意图。
具体实施方式
请参照图1所示,一种适用于手机的前端组件方法,包括如下步骤:
步骤10、加载基本页面框架,并配置组件文件,包括定义一个组件资源文件夹,内含组件的资源文件和组件的配置文件,且组件的资源文件按照同一个组件中的所有资源放置在同一文件夹的原则进行设置。如图2所示,在配置文件中,配置组件对应的资源目录包括Style目录、Html目录和JS目录三个目录。其中:Style目录下保存组件相关的资源,包括页面的样式文件(CSS文件)和图片资源等;Html目录下保存组件的布局文件(html文件);JS目录下保存组件相关的逻辑。
步骤20、选择需要使用到的组件,根据配置在组件文件中读取相应的页面信息。当用户需要在页面中使用组件时,先在页面的标签中写入要使用的组件类型,在读取页面标签的时候,如果某个标签带有组件属性,将首先生成组件对象,并保存到页面的对象缓存中。
步骤30、利用底层解析库提供的支持,根据配置的信息和页面中的标签来对组件进行自动解析,调用组件的初始化方法。
步骤40、用户根据需求自定义自己的组件。如果组件的功能不足够支持用户的业务需求,用户可以自定义自己的组件。用户可以简单的将组件复制出来,修改一些组件细节,以适应自己行业的需求,然后将组件重新封装,作为一个新的组件归并到组件库中,以便于下次复用;用户也可以完全从头开始开发一个全新的组件,赋予自己需要的功能。自定义组件步骤主要如下:
步骤401、按照组件资源结构目录来编写或者修改需要的组件,并且在组件中提供让页面调用的渲染方法;
步骤402、根据实际的业务需要提供出相应的调用接口和相应的事件,并添加相应的资源;
步骤403、将组件的名称与目录注册到配置文件中以供使用。
步骤50、调用组件对象的渲染方法,根据初始化完成的函数对页面标签进行渲染,标签渲染的过程如下:
步骤501、加载组件对象的样式文件及相关的资源;
步骤502、根据组件的配置信息,生成相应的DOM对象;
步骤503、将生成的DOM对象添加到页面上的相应标签之上。
所述组件配置信息通过请求远程服务器的信息或者将所需要的配置数据作为对象直接传输到组件之中得到。如果配置了组件的数据源信息,组件将自动根据信息请求远程服务器资源,如果资源格式不符合组件的需要,或者远程服务器不能正常访问,那么组件将无法被正常渲染出来。
步骤60、当组件内还有未初始化的组件时,将自动跳转到步骤30,并通过组件内的html布局文件实现组件之间的嵌套。
所述组件内的html布局文件并非是必要的,但是在组件嵌套的时候,html布局文件通过将其他组件标签写入到上级组件的布局文件中,以实现组件的嵌套。在组件嵌套过程中,将首先渲染嵌套的组件内容,然后将嵌套的内容作为整体组件的一部分渲染到最终页面上。
步骤70、组件正常生成后,开发者通过调用相应的接口对组件进行操作或者捕捉组件的相应事件并进行处理。前端组件封装了一系列常见的业务需求要用到的功能,比如数据列表、菜单等,在组件中也包含了元素结构、样式、组件内的交互逻辑,为外部提供了相应的组件接口和事件。
综上所述,本发明具有以下优点:
1.将手机前端常用的界面功能组件化,方便了用户的重复利用与二次开发,节省了开发成本,提高了工作效率。
2.随着用户使用的项目增多,使用的组件也将增多,用户节省的成本越多,维护越方便。
3.开发过程中,用户可以根据自己的业务需求,创建属于自己的组件;也可以在自己的组件中引用其他原有的组件,实现功能的扩展和增强。
4.由于规定了统一的组件接口,组件之间可以进行简单的相互调用,但又不会干涉到组件内的子组件的执行,为操作带来了很多方便。
以上所述仅为本发明的具体实施方式,我们所描述的具体实施例也只是说明性的,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (1)
1.一种适用于手机的前端组件方法,其特征在于包括如下步骤:
步骤10、加载基本页面框架,并配置组件资源目录,包括定义一个组件资源文件夹,文件夹内包含组件的资源文件和组件的配置文件,且组件的资源文件按照同一个组件中的所有资源放置在同一个文件夹的原则进行设置;在配置文件中,配置组件对应的资源目录包括Style目录、Html目录和JS目录三个目录,其中:Style目录下保存组件相关的资源,包括页面的样式文件和图片资源;Html目录下保存组件的html布局文件;JS目录下保存组件相关的逻辑;
步骤20、选择需要的组件,根据配置在组件文件中读取相应的页面信息,当用户需要在页面中使用组件时,先在页面标签中写入要使用的组件类型,在读取页面标签的时候,如果某个标签带有组件属性,将首先生成组件对象,并保存到页面的对象缓存中;
步骤30、利用底层解析库提供的支持,根据配置信息和页面中的标签来对组件进行自动解析,调用组件的初始化方法;
步骤40、用户根据需求自定义自己的组件:用户将组件复制出来,根据需要修改组件细节,然后将组件重新封装,作为一个新的组件归并到组件库中,以便于下次复用;或者,用户重新开发一个全新的组件,赋予自己需要的功能,自定义组件步骤主要如下:
步骤401、按照组件资源目录来编写或者修改需要的组件,并且在组件中提供让页面调用的渲染方法;
步骤402、根据实际的业务需要提供出相应的调用接口和相应的事件,并添加相应的资源;
步骤403、将组件的名称与目录注册到配置文件中以供使用;
步骤50、调用组件对象的渲染方法,根据初始化完成的函数对页面标签进行渲染,标签渲染的过程如下:
步骤501、加载组件对象的样式文件及相关的资源;
步骤502、根据组件的配置信息,生成相应的DOM对象;
步骤503、将生成的DOM对象添加到页面上的相应标签之上;
所述组件配置信息通过请求远程服务器的信息或者将所需要的配置数据作为对象直接传输到组件之中得到,如果配置了组件的数据源信息,组件将自动根据信息请求远程服务器资源,如果资源格式不符合组件的需要,或者远程服务器不能正常访问,那么组件将无法被正常渲染出来;
步骤60、当组件内还有未初始化的组件时,将自动跳转到步骤30,并通过组件内的html布局文件实现组件之间的嵌套;所述组件内的html布局文件并非是必要的,但是在组件嵌套的时候,html布局文件通过将其他组件标签写入到上级组件的布局文件中,以实现组件的嵌套,在组件嵌套过程中,将首先渲染嵌套的组件内容,然后将嵌套的内容作为整体组件的一部分渲染到最终页面上;
步骤70、组件正常生成后,开发者通过调用相应的接口对组件进行操作或者捕捉组件的相应事件并进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410150277.2A CN103955364B (zh) | 2014-04-15 | 2014-04-15 | 一种适用于手机的前端组件方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410150277.2A CN103955364B (zh) | 2014-04-15 | 2014-04-15 | 一种适用于手机的前端组件方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103955364A CN103955364A (zh) | 2014-07-30 |
CN103955364B true CN103955364B (zh) | 2017-06-20 |
Family
ID=51332640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410150277.2A Active CN103955364B (zh) | 2014-04-15 | 2014-04-15 | 一种适用于手机的前端组件方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103955364B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731588B (zh) * | 2015-03-12 | 2018-11-20 | 用友网络科技股份有限公司 | 页面布局文件生成方法和页面布局文件生成装置 |
CN106202096A (zh) * | 2015-05-05 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 客户端页面渲染方法及装置 |
CN105404502A (zh) * | 2015-10-20 | 2016-03-16 | 浪潮软件集团有限公司 | 一种方便手机app九宫格、列表开发的js组件 |
CN105893014A (zh) * | 2015-12-08 | 2016-08-24 | 乐视云计算有限公司 | 用于前端的项目开发方法及系统 |
CN105808239A (zh) * | 2016-02-29 | 2016-07-27 | 浪潮通信信息系统有限公司 | 一种基于组件的it网管系统建设方法和it网管系统 |
CN107315646B (zh) * | 2016-04-27 | 2021-01-26 | 北京京东尚科信息技术有限公司 | 页面组件间的数据流向控制方法和装置 |
CN106020808A (zh) * | 2016-05-13 | 2016-10-12 | 北京金山安全软件有限公司 | 一种锁屏界面的开发方法、装置及电子设备 |
CN106250128B (zh) * | 2016-07-26 | 2019-12-10 | 网易(杭州)网络有限公司 | 用户界面的显示处理方法及装置 |
CN106294816B (zh) * | 2016-08-16 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 页面信息的处理方法和装置 |
CN106445559A (zh) * | 2016-10-21 | 2017-02-22 | 用友网络科技股份有限公司 | 一种通过视图化模板解决页面差异化的装置及方法 |
CN108021359B (zh) * | 2016-11-02 | 2021-01-29 | 腾讯科技(北京)有限公司 | 提供应用服务的平台及方法、应用的提供方法及获取方法 |
CN108121539B (zh) * | 2016-11-28 | 2021-06-22 | 北京国双科技有限公司 | 组件处理方法和装置 |
CN106775751A (zh) * | 2016-12-30 | 2017-05-31 | 深圳中顺易金融服务有限公司 | 一种web前端框架系统及架构方法 |
CN108196900B (zh) * | 2017-12-08 | 2021-11-09 | 五八有限公司 | 组件的注册方法及装置 |
CN108037923B (zh) * | 2018-01-02 | 2022-02-08 | 武汉斗鱼网络科技有限公司 | 抽奖业务实现方法和组件 |
CN108614693B (zh) * | 2018-03-21 | 2022-06-24 | 创新先进技术有限公司 | 一种针对页面组件的处理方法、装置及设备 |
CN109725901B (zh) * | 2018-05-31 | 2024-03-29 | 中国平安人寿保险股份有限公司 | 前端代码的开发方法、装置、设备和计算机存储介质 |
CN108846087A (zh) * | 2018-06-12 | 2018-11-20 | 恒生电子股份有限公司 | 一种页面渲染方法、装置、终端及服务器 |
CN108874389A (zh) * | 2018-06-27 | 2018-11-23 | 中国建设银行股份有限公司 | 前端页面开发框架 |
CN108897541B (zh) * | 2018-07-03 | 2022-02-11 | 腾讯科技(深圳)有限公司 | 应用程序的视觉还原方法、装置、存储介质及终端 |
CN109086114A (zh) * | 2018-07-26 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种生成web前端交互界面的方法、装置及终端 |
CN109857392A (zh) * | 2019-01-03 | 2019-06-07 | 深圳壹账通智能科技有限公司 | 一种html5组件的智能开发方法、装置及电子设备 |
CN110045956A (zh) * | 2019-04-16 | 2019-07-23 | 北京字节跳动网络技术有限公司 | 组件的配置方法、装置、设备及可读存储介质 |
CN112306461A (zh) * | 2019-07-30 | 2021-02-02 | 中科云谷科技有限公司 | 通用前端组件实现方法、装置及存储介质 |
CN111258569A (zh) * | 2020-01-09 | 2020-06-09 | 卓望数码技术(深圳)有限公司 | 网页组件编辑方法、装置、设备和计算机可读存储介质 |
CN112307402B (zh) * | 2020-11-11 | 2024-01-26 | 北京指掌易科技有限公司 | 网页组件创建方法、装置、电子设备及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286120A (zh) * | 2008-05-28 | 2008-10-15 | 北京中企开源信息技术有限公司 | 一种网站页面的制作方法和系统 |
CN101996073A (zh) * | 2009-08-31 | 2011-03-30 | 阿里巴巴集团控股有限公司 | 一种组件渲染方法及装置 |
CN102096588A (zh) * | 2011-03-24 | 2011-06-15 | 南京朗睿软件科技有限公司 | 一种包含控件的页面的建立方法 |
CN102306163A (zh) * | 2011-08-01 | 2012-01-04 | 烟台杰瑞网络商贸有限公司 | 一种基于b2b平台的动态集成技术 |
CN102495735A (zh) * | 2011-12-14 | 2012-06-13 | 方正国际软件有限公司 | web 端UI组件应用框架系统 |
CN102880708A (zh) * | 2012-09-28 | 2013-01-16 | 用友软件股份有限公司 | 用于实现html页面的可视化设计的系统和方法 |
CN103019684A (zh) * | 2012-11-20 | 2013-04-03 | 北京思特奇信息技术股份有限公司 | 一种基于动态模板的配置业务页面的方法 |
CN103034731A (zh) * | 2012-12-20 | 2013-04-10 | 北京思特奇信息技术股份有限公司 | 一种生成Web前端交互页面的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1279095A2 (en) * | 1999-08-16 | 2003-01-29 | Z-Force Corporation | System of reusable software parts and methods of use |
-
2014
- 2014-04-15 CN CN201410150277.2A patent/CN103955364B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286120A (zh) * | 2008-05-28 | 2008-10-15 | 北京中企开源信息技术有限公司 | 一种网站页面的制作方法和系统 |
CN101996073A (zh) * | 2009-08-31 | 2011-03-30 | 阿里巴巴集团控股有限公司 | 一种组件渲染方法及装置 |
CN102096588A (zh) * | 2011-03-24 | 2011-06-15 | 南京朗睿软件科技有限公司 | 一种包含控件的页面的建立方法 |
CN102306163A (zh) * | 2011-08-01 | 2012-01-04 | 烟台杰瑞网络商贸有限公司 | 一种基于b2b平台的动态集成技术 |
CN102495735A (zh) * | 2011-12-14 | 2012-06-13 | 方正国际软件有限公司 | web 端UI组件应用框架系统 |
CN102880708A (zh) * | 2012-09-28 | 2013-01-16 | 用友软件股份有限公司 | 用于实现html页面的可视化设计的系统和方法 |
CN103019684A (zh) * | 2012-11-20 | 2013-04-03 | 北京思特奇信息技术股份有限公司 | 一种基于动态模板的配置业务页面的方法 |
CN103034731A (zh) * | 2012-12-20 | 2013-04-10 | 北京思特奇信息技术股份有限公司 | 一种生成Web前端交互页面的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103955364A (zh) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103955364B (zh) | 一种适用于手机的前端组件方法 | |
CN106371825B (zh) | 一种移动端应用界面表单动态生成方法及装置 | |
CN106528006B (zh) | 一种页面打印方法及装置 | |
CN102043626B (zh) | extjs组件的封装方法及装置、用户界面的生成方法及系统 | |
CN104731589A (zh) | 用户界面的自动生成方法及自动生成装置 | |
US20060236307A1 (en) | System and method for transformation of wireless application definition to simplified form | |
CN102637184A (zh) | 用于定制网页的方法和系统 | |
CN102789382A (zh) | 用于表单生成和运行的系统及方法 | |
CN109684580A (zh) | 一种动态页面的展示方法及电子设备 | |
CN102314358A (zh) | 一种在云平台上以soa的方式部署常规应用的方法 | |
CN103051652B (zh) | 一种移动终端云计算发布平台 | |
US10387124B2 (en) | System and method for creating domain specific language | |
CN111324390A (zh) | 实现app内容可配置和实时更新的装置及方法 | |
US20160308953A1 (en) | Cross-platform Module for Loading Across a Plurality of Device Types | |
CN104932928A (zh) | 一种基于java的插件化开发方法及系统 | |
CN112052000A (zh) | 组件复用、渲染方法及装置 | |
CN102253986A (zh) | 提高多终端网页显示效果的方法和装置 | |
CN116185403A (zh) | 一种代码生成方法、装置及存储介质 | |
CN101588347A (zh) | 一种自动生成网络服务客户端的方法 | |
WO2019043462A1 (en) | SYSTEMS AND METHODS FOR CREATING AUTOMATED INTERFACE TRANSMISSION BETWEEN HETEROGENEOUS SYSTEMS IN A BUSINESS ECOSYSTEM | |
CN102254023A (zh) | 一种网页页面编辑的方法及装置 | |
CN108885544A (zh) | 前端页面国际化处理方法、应用服务器及计算机可读存储介质 | |
CN100596139C (zh) | 使用元数据定义映射来构建组件应用程序的系统和方法 | |
CN106775916A (zh) | 减小应用安装包的方法、装置及电子设备 | |
EP2810179B1 (en) | Method and system for implementing a common data interface to web services |
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 |