基于MVC的JavaScript Web富应用开发

2015-11-26

有赖于强大的JavaScript引擎以及CSS3和HTML5新技术,如今的JavaScript Web 富应用的用户体验已经可以和桌面系统相媲美。关键是如何平滑的将服务器端的复杂度移植到客户端,这并不容易做到。这本书将专注于讲述如何构建“优雅又不失高水准”(state of the art)的JavaScript应用,包括软件架构、模板引擎、框架和库、同服务器的消息通信等内容。 通过由浅入深的讲解,你将学会如何构建具有丰富交互以及优雅体验的JavaScript应用,书中同样提供了大量的示例代码,可以帮助你更深入的理解很多重要的概念。 揭开MVC的神秘面纱,教你如何设计合理的架构以及处理应用内部模块之间的依赖 介绍模板引擎和数据绑定 讲解远程数据加载、第二代Ajax以及跨域请求 利用WebSockets和Node构建实时应用 拖拽上传文件以及上传进度提示 讲解主流的库和框架,包括jQuery、JavaScriptMVC以及Backbone 编写测试用例,并使用控制台工具来调试你的应用 部署应用的最佳实践,比如缓存机制和代码压缩等

基于MVC的JavaScript Web富应用开发PDF

第1章 MVC和类 ............................................................1 最初 .........................................................................................................................1 增加结构 ..................................................................................................................2 什么是MVC ............................................................................................................2 模型 ..................................................................................................................3 视图 ..................................................................................................................4 控制器 ..............................................................................................................5 向模块化进军,创建类 ............................................................................................6 给类添加函数...........................................................................................................7 给“类”库添加方法 ...............................................................................................8 基于原型的类继承 .................................................................................................10 给“类”库添加继承 ............................................................................................. 11 函数调用 ................................................................................................................12 控制“类”库的作用域 ..........................................................................................15 添加私有函数.........................................................................................................17 “类”库 ..................................................................................................................18 第2章 事件和监听 ........................................................21 监听事件 ................................................................................................................21 事件顺序 ................................................................................................................22 取消事件 ................................................................................................................23 事件对象 ................................................................................................................23 事件库 ....................................................................................................................25 切换上下文 ............................................................................................................26 委托事件 ................................................................................................................26 自定义事件 ............................................................................................................27 自定义事件和jQuery 插件 .....................................................................................28 DOM 无关事件 ......................................................................................................30 第3章 模型和数据 ........................................................33 MVC 和命名空间 ...................................................................................................33 构建对象关系映射(ORM) ...................................................................................34 原型继承 ........................................................................................................35 添加ORM 属性 ..............................................................................................36 持久化记录.....................................................................................................37 增加ID 支持 ..........................................................................................................39 寻址引用 ................................................................................................................40 装载数据 ................................................................................................................41 直接嵌套数据 .................................................................................................42 通过Ajax 载入数据 ........................................................................................42 JSONP ............................................................................................................46 跨域请求的安全性 .........................................................................................46 向ORM 中添加记录 ..............................................................................................47 本地存储数据.........................................................................................................47 给ORM 添加本地存储 ..........................................................................................49 将新记录提交给服务器 ..........................................................................................51 第4章 控制器和状态 .....................................................53 模块模式 ................................................................................................................54 全局导入 ........................................................................................................54 全局导出 ........................................................................................................54 添加少量上下文 .....................................................................................................55 抽象出库 ........................................................................................................56 文档加载完成后载入控制器 ..........................................................................58 访问视图 ........................................................................................................59 委托事件 ........................................................................................................61 状态机 ....................................................................................................................63 路由选择 ................................................................................................................65 使用URL 中的hash .......................................................................................65 检测hash 的变化 ............................................................................................66 抓取Ajax .......................................................................................................67 使用HTML5 History API ...............................................................................68 第5章 视图和模板 ........................................................71 动态渲染视图.........................................................................................................71 模板 .......................................................................................................................73 模板Helpers ...................................................................................................75 模板存储 ........................................................................................................75 绑定 .......................................................................................................................77 模型中的事件绑定 .........................................................................................78 第6章 依赖管理 ...........................................................81 CommonJS .............................................................................................................82 模块的声明.....................................................................................................83 模块和浏览器 .................................................................................................83 模块加载器 ............................................................................................................84 Yabble ............................................................................................................84 RequireJS .......................................................................................................85 包装模块 ................................................................................................................87 模块的按需加载 .....................................................................................................88 LABjs .............................................................................................................89 无交互行为内容的闪烁(FUBC) ..........................................................................89 第7章 使用文件 ...........................................................91 浏览器支持 ............................................................................................................91 获取文件信息.........................................................................................................92 文件输入 ................................................................................................................92 拖曳 .......................................................................................................................93 拖曳 ................................................................................................................94 释放拖曳 ........................................................................................................96 撤销默认的Drag/Drop ...................................................................................97 复制和粘贴 ............................................................................................................97 复制 ................................................................................................................98 粘贴 ................................................................................................................99 读文件 .................................................................................................................. 100 二进制大文件和文件切割 ............................................................................ 101 自定义浏览器按钮 ............................................................................................... 102 上传文件 .............................................................................................................. 102 Ajax 进度条 .................................................................................................. 104 jQuery 拖曳上传 .................................................................................................. 106 创建拖曳目标区域 ....................................................................................... 106 上传文件 ...................................................................................................... 107 第8章 实时Web .........................................................109 实时Web 的发展历史 .......................................................................................... 109 WebSocket ............................................................................................................ 110 Node.js 和Socket.IO .................................................................................... 114 实时架构 .............................................................................................................. 116 感知速度 .............................................................................................................. 117 第9章 测试和调试 ......................................................119 单元测试 .............................................................................................................. 121 断言 .............................................................................................................. 121 QUnit ............................................................................................................ 122 Jasmine ......................................................................................................... 126 驱动 ..................................................................................................................... 128 无界面的测试....................................................................................................... 131 Zombie ......................................................................................................... 132 Ichabod ......................................................................................................... 134 分布式测试 .......................................................................................................... 135 提供支持 .............................................................................................................. 136 调试工具 .............................................................................................................. 136 Web Inspector ............................................................................................... 136 Firebug ......................................................................................................... 138 控制台 .................................................................................................................. 139 控制台函数................................................................................................... 140 使用JavaScript 调试器 ........................................................................................ 141 分析网络请求....................................................................................................... 143 Profile 和函数运行时间 ....................................................................................... 144 第10章 部署 ..............................................................147 性能 ..................................................................................................................... 147 缓存 ..................................................................................................................... 148 源码压缩(Minification) ..................................................................................... 150 Gzip 压缩 ............................................................................................................. 151 使用CDN ............................................................................................................. 152 审查工具 .............................................................................................................. 153 外部资源 .............................................................................................................. 154 第11章 Spine类库 .....................................................155 设置 ..................................................................................................................... 156 类 ......................................................................................................................... 156 实例化 .......................................................................................................... 156 类扩展 .......................................................................................................... 157 上下文 .......................................................................................................... 158 事件 ..................................................................................................................... 159 模型 ..................................................................................................................... 160 获取记录 ...................................................................................................... 161 模型事件 ...................................................................................................... 162 校验 .............................................................................................................. 163 持久化 .......................................................................................................... 163 控制器 .................................................................................................................. 165 代理 .............................................................................................................. 166 元素 .............................................................................................................. 167 委托事件 ...................................................................................................... 167 控制器事件................................................................................................... 168 全局事件 ...................................................................................................... 168 渲染模式 ...................................................................................................... 169 元素模式 ...................................................................................................... 169 构建联系人管理应用 ........................................................................................... 171 联系人模型................................................................................................... 172 侧边栏控制器 ............................................................................................... 173 联系人控制器 ............................................................................................... 175 应用程序控制器 ........................................................................................... 178 第12章 Backbone类库 ...............................................181 模型 ..................................................................................................................... 182 模型和属性................................................................................................... 182 集合 ..................................................................................................................... 184 控制集合的内部顺序 .................................................................................... 185 视图 ..................................................................................................................... 185 渲染视图 ...................................................................................................... 186 委托事件 ...................................................................................................... 187 绑定和上下文 ............................................................................................... 187 控制器 .................................................................................................................. 188 与服务器的同步 ................................................................................................... 190 填充集合 ...................................................................................................... 192 服务器端 ...................................................................................................... 192 自定义行为................................................................................................... 193 构建To-Do 列表应用 ........................................................................................... 195 第13章 JavaScriptMVC类库 ......................................203 设置 ..................................................................................................................... 204 Class ..................................................................................................................... 204 实例化 .......................................................................................................... 205 调用基类的方法 ........................................................................................... 205 代理 .............................................................................................................. 205 静态继承 ...................................................................................................... 206 自省 .............................................................................................................. 206 一个模型的例子 ........................................................................................... 207 模型 ..................................................................................................................... 207 属性和可观察 ............................................................................................... 208 扩展模型 ...................................................................................................... 210 Setter ............................................................................................................ 210 Defaults ........................................................................................................ 211 辅助方法 ...................................................................................................... 211 服务封装 ...................................................................................................... 212 类型转换 ...................................................................................................... 215 CRUD 事件 .................................................................................................. 216 在视图中使用客户端模板 .................................................................................... 216 基本用法 ...................................................................................................... 217 jQuery 修改器 .............................................................................................. 217 用Script 标签加载 ....................................................................................... 217 $.View 和子模板 .......................................................................................... 218 延时对象 ...................................................................................................... 218 打包、预加载和性能 .................................................................................... 219 $.Controller :jQuery 插件工厂 ............................................................................ 220 概览 .............................................................................................................. 222 控制器实例化 ............................................................................................... 222 事件绑定 ...................................................................................................... 223 模板动作 ...................................................................................................... 224 大综合:一个抽象的CRUD 列表 ........................................................................ 225 附录A jQuery基础 .....................................................227 附录B CSS扩展 .........................................................239 附录C CSS3参考 .......................................................245 索引 ...........................................................................267


上一篇:DOJO权威指南
下一篇:《JAVASCRIPT语言精髓与编程实践》
相关教程
关注微信

扫码加入 JavaScript 社区

相关文章

首次访问,需要验证
微信扫码,关注即可
(仅需验证一次)

欢迎加入 JavaScript 社区

号内回复关键字:

回到顶部