基于Backbone的webapp开发框架,帮助广大web开发人员快速创建高性能、易维护、支持多人开发的webapp程序。
- ROCKET编码规范
- 目录组织规范
- 如何创建一个webapp页面
- 创建并开发一个WEBAPP应用-HelloRocket
- 核心类介绍
- 事件中心
- 如何扩展
- MVC分解
- Model共享
webapp framework是开发Mobile HTML5 SPA程序(称之为移动webapp,后续简称webapp,如果对移动webapp概念不熟悉的同学,可以先阅读这篇文章移动webapp介绍)的通用开发框架,集成webapp产品开发涉及的规范、框架类库、最佳实践,提供一套完整的代码框架,有丰富的配置接口,同时为扩展提供了足够的空间。使用框架开发,可以大大缩短webapp开发周期,并且保证开发的规范性,使后期升级和维护更容易。
化繁为简: 分而治之的控制模型,提供一种MVC分解模型,将复杂应用逻辑分解成树状控制结构,每个控制节点粒度(代码规模)适中。
并行开发:满足并行开发需求,使SPA程序多人合作开发成为可能。
有章可循:支持一系列的规范和流程,使开发更加顺手,利于功能模块的复用和后期维护。
快速开发:基于框架进行webapp开发,节省重复造轮子的时间,丰富的脚手架帮助工程师迅速搭建webapp产品。
webapp充分利用HTML5的特性,力求在移动浏览器上实现NativeApp的体验,相比移动站点,webapp在代码规模和复杂性上大大增加,表现在以下几个(包括但不限于)方面:
-
页面管理,在一个HTML document上模拟多个功能相对独立的页面,提供这些模拟页面的展示、隐藏、切换等各类效果,接近与native app的体验,同时每个页面提供不亚于web站点页面的功能
-
webapp特定的hash路由功能,实现hash到特定控制逻辑的派发以及hash穿透
-
更大的DOM树,需要引入垃圾回收机制,保证运行性能
-
类native app特效
webapp较普通web站点逻辑更加复杂,代码量更加巨大,普通webapp在代码规模上一般都超1w,甚至更多。如何更好地用代码完相应的功能逻辑,直接影响webapp的开发效率和质量。
在APP层面,使用传统web应用的路由分发机制,在页面层面,引入一种MVC的分解模型,形成的控制器树,使多个规模适中的MVC模块协作完成一个复杂的功能逻辑。
webapp从发布代码结构来看,与web站点是一样的,只不过其所引用的代码体积比web站点要大很多。一个复杂的webapp可能包含多个功能独立的页面,如何让多人来承担这些页面的开发、代码调试、提交,达到并行,并且能够在发布层面做到无缝整合,是摆在webapp开发面前的一道难题。
webapp框架设计目标中,满足多人开发是一个重要的目标。框架设计按页面为单位,确保页面之间不存在代码上的耦合,代码在开发的物理目录上是完全独立的,可以独立提交。对于关联不可避免的地方,比如公共配置、代码整合等地方,使用一些方法使其尽可能弱化,达到尽可能的薄,减少冲突。
众所周知,规范至于团队开发的重要性。webapp框架定义了一系列的规范和流程,目录规范、命名规范、MVC使用规范、事件流规范、页面开发流程等。
得益于webapp的一系列规范和流程,以及丰富demo,使得webapp在开发、调试、部署等环节都得到了加速。