一种Web App开发框架及方法技术

技术编号:12929971 阅读:56 留言:0更新日期:2016-02-29 01:12
本发明专利技术公开了一种Web App开发框架及方法,用于解决现有技术中Web App开发框架开发效率低,需要开发人员撰写大量代码的技术问题,所述开发框架包括:控制管理区域,包括事件控制模块、数据模块和主模块;逻辑层级区域,包括系统平台层、组件层和业务逻辑层;事件控制模块接收用户事件请求,并基于用户事件请求生成委托信息;数据模块接收委托信息,并基于委托信息获得内部配置参数;主模块基于内部配置参数在组件层生成M个App组件,并对M个App组件进行模块化封装处理,同时控制M个App组件与系统平台层进行关联,以使M个App组件在业务逻辑层实现业务逻辑,获得Web App。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了,用于解决现有技术中WebApp开发框架开发效率低,需要开发人员撰写大量代码的技术问题,所述开发框架包括:控制管理区域,包括事件控制模块、数据模块和主模块;逻辑层级区域,包括系统平台层、组件层和业务逻辑层;事件控制模块接收用户事件请求,并基于用户事件请求生成委托信息;数据模块接收委托信息,并基于委托信息获得内部配置参数;主模块基于内部配置参数在组件层生成M个App组件,并对M个App组件进行模块化封装处理,同时控制M个App组件与系统平台层进行关联,以使M个App组件在业务逻辑层实现业务逻辑,获得WebApp。【专利说明】-种Web App开发框架及方法
本专利技术涉及Web App开发
,尤其涉及一种Web App开发框架及方法。
技术介绍
随着互联网的快速发展,HTML5、CSS3和Javascript等网页开发技术日益强大, Web App(即基于Web的系统和应用)开始越来越盛行,其中以企业App最盛。目前,为了 提高企业App快速迭代和升级,通常采用HTML5、CSS3和Javascript等网页开发技术中 单一的某种技术进行纯WEB技术开发,或采用其中某些技术进行混合WEB技术开发。基于 这种趋势,每个企业都会有自己的一套App开发组件,即具备符合企业业务性质的业务组 件,如常见的列表组件、表单组件等,每个企业的系统或者APP都是通过一个个组件组合而 成的,所以企业都需要一套框架来管理自己的组件,比如一个办公自动化系统(〇A,Office Automatic System),它有列表页面和详情页面,每个页面包括按钮控件,其中,列表、详情 按钮对应的就是一个个单独的组件,也就是说,一个0A系统就是通过类似这样的组件组合 而成的。 因为每个组件本身是一个个独立的元素,每个元素之间都是解耦合的,所以在组 合成一个系统或者一个应用的时候,需要框架来管理它们之间的数据和业务逻辑的关系, 目前多使用继承的方式进行管理,把各个组件进行关联,具体而言,框架A为父级,包含一 个方法funA,那么隶属于框架A的子级组件A1继承框架A的方法funA的功能,从而实现框 架A对组件A1的管理。现有技术中就是如此先把组件通过继承框架类的方式组合到框架 中,通过控制器来对各组件进行关联。遵循这种管理原则,市场上衍生出了很多组件管理框 架,如现在流行的前端开发框架MVC、Sencha Touch等。这些框架基本上都是通过继承和 事件委托的方法进行组件之间关联的,并且通常为"模型-视图-控制器"(MVC,Model View Controller)模式的开发框架,MVC框架能够使业务和展现分离,具有一定的开发优势;如 基于Sencha Touch MVC框架进行组件项目开发,能够使开发的Web App具有强大的模块化 功能、丰富的配置信息以及炫丽的视觉效果。 但本申请专利技术人在实现本申请实施例中技术方案的过程中,发现上述技术至少存 在如下技术问题: 目前,开发人员通过将各个组件的关联移除或注入框架,从而组合成Web App是非 常麻烦的,需要大量的继承式代码才能实现,也就是说,开发人员需要写大量的代码进行组 件间的关联;并且对于Web App的单网页应用来说,每个页面可能存在十几个组件,如列表 组件、表单组件、按钮组件、附件组件、轮播图片组件等,现有技术中的框架无法管理这些组 件间的冲突、数据流和参数的分发,需要开发人员自己撰写代码解决这个问题;进一步,在 实现Web App的层级切换时,以单页面应用为例,若一个单页面中存在10个功能点,每个功 能点即代表着一个层级,层级之间是有逻辑关联的,即通过控制各层级显示或隐藏来实现 层级切换,并且每个层级的显示或者隐藏都是通过前一个层级的参数或者操作来控制,同 样需要开发人员在现有框架的基础上写大量的代码和判断来实现。也就是说,在现有技术 中存在Web App开发框架开发效率低,需要开发人员撰写大量代码的技术问题。
技术实现思路
本申请实施例通过提供一种Web App开发框架及方法,解决了现有技术中Web App 开发框架开发效率低,需要开发人员撰写大量代码的技术问题;实现了 Web App开发框架 根据用户的App开发需求,对App组件进行封装,以便对其进行模块化管理,用户在开发App 的过程中不需要花费大量的时间撰写代码来控制关联各个App组件,只需要将组件的业 务逻辑写好即可,大大减少开发人员的编码时间,让项目开发专注在业务逻辑上,提高了开 发效率。 -方面,本申请实施例提供了一种Web App开发框架,所述Web App由Μ个App组 件组成,其中,Μ为大于等于1的整数,所述开发框架包括: 控制管理区域,包括:事件控制模块、数据模块和主模块; 逻辑层级区域,包括:系统平台层、组件层和业务逻辑层; 其中,所述事件控制模块,用于接收用于开发所述Web App的用户事件请求,基于 所述用户事件请求生成委托信息,并将所述委托信息发送于所述数据模块; 所述数据模块,用于接收所述委托信息,并基于所述委托信息获得内部配置参数, 并将所述内部配置参数发送于所述主模块; 所述主模块,用于基于所述内部配置参数在所述组件层生成所述Μ个App组件,并 对所述Μ个App组件进行模块化封装处理,同时控制所述Μ个App组件与所述系统平台层 进行关联,以使所述Μ个App组件在所述业务逻辑层实现业务逻辑,获得所述Web App。 可选的,所述主模块具体包括: 组件注入子模块,用于在接收所述内部配置参数时,向所述组件层注入所述Μ个 App组件; 初始化子模块,用于在所述组件注入子模块向所述组件层注入所述Μ个App组件 的同时,对所述逻辑层级区域进行初始化,生成用于控制管理所述Μ个App组件的模块作用 域标识信息; 模块化封装子模块,用于基于所述模块作用域标识信息对所述Μ个App组件进行 所述模块化封装处理,同时控制所述Μ个App组件与所述系统平台层进行关联,以使所述Μ 个App组件在所述业务逻辑层实现业务逻辑,获得所述Web App。 可选的,所述组件注入子模块包括: 组合单元,用于将所述Μ个App组件组合封装为N个App模块;其中,N为大于等 于1且小于等于Μ的整数,所述N个App模块中的每个App模块包括一个或多个App组件; 注入单元,用于将所述N个App模块注入所述组件层。 可选的,所述系统平台层包括平台接口层,所述平台接口层的任一平台接口对应 一底层交互方法;当外部模块与所述平台接口层的平台接口关联时,所述外部模块能够直 接通过所述平台接口调用所述底层交互方法;所述模块化封装子模块,包括 : 作用域划分单元,用于向所述N个App模块分配所述模块作用域标识信息,并基于 所述模块作用域标识信息将所述N个App模块归类于一模块作用域; 层级管理单元,用于当所述事件控制模块接收到用于使所述模块作用域实现功能 的用户操作请求时,向所述模块作用域分配激活码,并基于所述激活码控制所述N个App模 块中的P个App模块处于启用状态或禁用状态,以使所述N个App模本文档来自技高网
...
一种Web App开发框架及方法

【技术保护点】
一种Web App开发框架,其特征在于,所述Web App由M个App组件组成,其中,M为大于等于1的整数,所述开发框架包括:控制管理区域(10),包括:事件控制模块(101)、数据模块(102)和主模块(103);逻辑层级区域(20),包括:系统平台层(201)、组件层(202)和业务逻辑层(203);其中,所述事件控制模块(101),用于接收用于开发所述Web App的用户事件请求,基于所述用户事件请求生成委托信息,并将所述委托信息发送于所述数据模块(102);所述数据模块(102),用于接收所述委托信息,并基于所述委托信息获得内部配置参数,并将所述内部配置参数发送于所述主模块(103);所述主模块(103),用于基于所述内部配置参数在所述组件层(202)生成所述M个App组件,并对所述M个App组件进行模块化封装处理,同时控制所述M个App组件与所述系统平台层(201)进行关联,以使所述M个App组件在所述业务逻辑层(203)实现业务逻辑,获得所述Web App。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘思伟王亚周梅志雄
申请(专利权)人:深圳前海诺德咨询服务有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1