内容简介
《JavaScript Web 富应用开发》Developing JavaScript Web Applications是 Alex MacCaw 的新作(由O'Reilly出版发行),本书系统而深入的讲解了如何使用最前沿的Web技术构建下一代互联网富应用程序。作者 Alex MacCaw 是一名Ruby/JavaScript 程序员,在开源社区中很有名望,是Spine框架的作者,同时活跃在纽约、旧金山和柏林的各大 Ruby/Rails 论坛。除了作为一名工程师,他还喜欢带着他的尼康D90和冲浪板环游世界。
得益于强大的JavaScript引擎以及CSS3和HTML5的新技术,如今的JavaScriptWeb丰富应用的用户体验已经可以媲美桌面系统。关键是如何将复杂性从服务器端顺利移植到客户端,这并不容易做到。这本书将集中讨论如何构建“优雅而不失高水准”最先进的)基于的JavaScript应用,包括软件架构、模板引擎、框架和库、与服务器的消息通信等。
通过简单的讲解,你将学会如何构建交互丰富体验优雅的JavaScript应用书中还提供了大量的样例代码,可以帮助你更深入地理解很多重要的概念。
目录
- 第1章MVC和类1
- 最初.1
- 增加结构2
- 什么是MVC2
- 模型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
- JSONP46
- 跨域请求的安全性.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
- 使用HTML5HistoryAPI.68
- 第5章视图和模板71
- 动态渲染视图.71
- 模板.73
- 模板Helpers.75
- 模板存储75
- 绑定.77
- 模型中的事件绑定.78
- 第6章依赖管理.81
- CommonJS.82
- 模块的声明.83
- 模块和浏览器.83
- 模块加载器84
- Yabble84
- 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
- WebSocket110
- Node.js和Socket.IO114
- 实时架构116
- 感知速度117
- 第9章测试和调试119
- 单元测试121
- 断言121
- QUnit122
- Jasmine.126
- 驱动.128
- 无界面的测试.131
- Zombie.132
- Ichabod.134
- 分布式测试135
- 提供支持136
- 调试工具136
- WebInspector.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
- Setter210
- Defaults211
- 辅助方法211
- 服务封装212
- 类型转换215
- CRUD事件216
- 在视图中使用客户端模板216
- 基本用法217
- jQuery修改器217
- 用Script标签加载.217
- $.View和子模板218
- 延时对象218
- 打包、预加载和性能219
- $.Controller:jQuery插件工厂220
- 概览222
- 控制器实例化.222
- 事件绑定223
- 模板动作224
- 大综合:一个抽象的CRUD列表225
- 附录AjQuery基础.227
- 附录BCSS扩展.239
- 附录CCSS3参考.245
- 索引.267
1:揭开MVC的神秘面纱,教你如何设计合理的架构以及处理应用内部模块之间的依赖
2:介绍模板引擎和数据绑定
3:讲解远程数据加载、第二代Ajax以及跨域请求
4:利用WebSockets和Node构建实时应用
5:拖拽上传文件以及上传进度提示
6:讲解主流的库和框架,包括jQuery、JavaScriptMVC以及Backbone
编写测试用例,并使用控制台工具来调试你的应用
部署应用的最佳实践,比如缓存机制和代码压缩等
完全是我想寻找的 ,我一直在MVC的WEB APP无法自拔很难找到出路,以及如何控制好模板控制器和数据层的解耦的问题,这本书的介绍完全符合我的要求。
不错。正好都是最近用的东西和概念,看一遍梳理一下,解决了一些疑惑,纠正了一些错误。书的内容还是相对简单了一些,但还是不错的。