本书带领读者认识和学习7种影响现代Web应用并改娈了Web开发方式的框架,以期给Web开发者带来启发和思考。
本书延续了同系列的畅销书《七周七语言》、《七周七数据库》的体例和风格。全书共8章,前7章介绍了Sinatra、CanJS、AngularJS,Ring、Webmachine、Yesod和lmmutant共计7种Web开发框架,最后一章总结回顾了所有的知识点。书中对每一种框架的介绍,都为构建Web应用带来了独特而强大的思路。除此之外,书中还提供了一系列代码示例和在线资源以供参考。
本书适合有一定基础的Web开发人员阅读,能够帮助读者拓宽思路,激发更多的设计灵感。
第1章 Sinatra1
1.1 简单的领域特定语言2
1.2 第1天:构建一个书签应用2
1.2.1 你好,Sinatra3
1.2.2 用RSpec来测试4
1.2.3 REST风格的API6
1.2.4 数据持久化6
1.2.5 创建和读取书签8
1.2.6 编写自动化测试9
1.2.7 更新和删除书签10
1.2.8 我们在第1天学到的11
1.3 第2天:创建视图12
1.3.1 ERB简介12
1.3.2 Mustache介绍17
1.3.3 Slim介绍20
1.3.4 我们在第2天学到的23
1.4 第3天:添加新功能24
1.4.1 校验24
1.4.2 块参数26
1.4.3 过滤器27
1.4.4 为书签打上标签28
1.4.5 添加标签的API支持31
1.4.6 使用正则表达式来匹配路由33
1.4.7 我们在第3天学到的34
1.5 总结35
1.5.1 Sinatra的强项35
1.5.2 Sinatra的弱项35
1.5.3 最后的思考36
第2章 CanJS37
2.1 CanJS的独一无二之处37
2.2 第1天:创建对象和同步变化39
2.2.1 你好,CanJS!40
2.2.2 构建和扩展对象41
2.2.3 观察属性的变化44
2.2.4 使用CanJS创建一个前端书签应用46
2.2.5 连接模型与服务器47
2.2.6 渲染视图48
2.2.7 动态绑定50
2.2.8 我们在第1天学到的50
2.3 第2天:创建控制器51
2.3.1 将控制器绑定到页面元素上52
2.3.2 监听UI事件53
2.3.3 使用datao方法从页面获取数据模型54
2.3.4 使用观察者实现控制器之间的沟通55
2.3.5 创建一个表单控制器57
2.3.6 我们在第2天学到的60
2.4 第3天:与模型的协作61
2.4.1 添加校验62
2.4.2 实现标签的处理64
2.4.3 过滤书签66
2.4.4 创建一个标签列表69
2.4.5 使用路由管理浏览器的位置71
2.4.6 我们在第3天学到的73
2.4.7 对CanJS的创造者Justin B.Meyer的采访74
2.5 总结76
2.5.1 CanJS的强项76
2.5.2 CanJS的弱项76
2.5.3 最后的思考76
第3章 AngularJS77
3.1 概览77
3.2 第1天:使用依赖注入79
3.2.1 你好,AngularJS80
3.2.2 创建服务83
3.2.3 换个角度来看我们的书签应用前端86
3.2.4 使用资源服务87
3.2.5 为服务写自动化测试89
3.2.6 我们在第1天学到的93
3.3 第2天:创建控制器和视图93
3.3.1 创建控制器和使用视图指令94
3.3.2 利用数据双向绑定的优势97
3.3.3 创建书签表单98
3.3.4 关于作用域的重要注意事项100
3.3.5 端到端的自动化测试102
3.3.6 我们在第2天学到的104
3.4 第3天:创建过滤器和路由105
3.4.1 为书签添加标签106
3.4.2 构建一个标签列表107
3.4.3 通过过滤器操作数据108
3.4.4 定义路由112
3.4.5 我们在第3天学到的114
3.4.6 对AngularJS创建者Mi?ko Hevery的采访115
3.5 总结116
3.5.1 AngularJS的强项116
3.5.2 AngularJS的弱项117
3.5.3 最后的思考117
第4章 Ring118
4.1 Ring简介118
4.2 第1天:基础组件120
4.2.1 起步121
4.2.2 Hello,World!121
4.2.3 用Korma处理数据124
4.2.4 用Hiccup把数据转化为HTML130
4.2.5 使用Compojure处理路由133
4.2.6 我们在第1天学到的136
4.3 第2天:拼接的模式137
4.3.1 定义API137
4.3.2 处理JSON138
4.3.3 验证输入140
4.3.4 可组合的路由143
4.3.5 我们在第2天学到的146
4.4 第3天:构建应用的其他方法147
4.4.1 Ring中间件147
4.4.2 Enlive149
4.4.3 关于测试153
4.4.4 我们在第3天学到的154
4.4.5 对James Reeves的采访155
4.5 总结156
4.5.1 Ring的强项156
4.5.2 Ring的弱项157
4.5.3 最后的思考158
第5章 Webmachine159
5.1 Webmachine简介159
5.2 第1天:HTTP请求状态机161
5.2.1 起步162
5.2.2 Hello,World162
5.2.3 和资源函数一起工作165
5.2.4 资源函数166
5.2.5 请求转发168
5.2.6 参数化转发170
5.2.7 我们在第1天学到的171
5.3 第2天:构建应用172
5.3.1 短链接172
5.3.2 使用Mustache模板引擎179
5.3.3 Petite里的模板182
5.3.4 处理多种内容类型184
5.3.5 我们在第2天学到的186
5.4 第3天:照亮HTTP的阴暗面186
5.4.1 让资源可缓存187
5.4.2 授权193
5.4.3 我们在第3天学到的196
5.4.4 对Justin Sheehy的采访197
5.5 总结198
5.5.1 Webmachine的强项198
5.5.2 Webmachine的弱项199
5.5.3 最后的思考199
第6章 Yesod200
6.1 Yesod简介201
6.1.1 组成部分201
6.1.2 计划201
6.2 第1天:你不能搞错的数据202
6.2.1 新手入门202
6.2.2 Hello,World203
6.2.3 使用DSL描述数据205
6.2.4 使用模型207
6.2.5 改变和删除模型210
6.2.6 我们在第1天学到的211
6.3 第2天:视图、表单和认证212
6.3.1 Ye Olde的模板语言213
6.3.2 功能性表单216
6.3.3 认证和授权219
6.3.4 我们在第2天学到的223
6.4 第3天:继续Rumble224
6.4.1 创建头版225
6.4.2 创建一个发布新闻表单228
6.4.3 查看新闻与提交评论230
6.4.4 我们在第3天学到的233
6.4.5 对Michael Snoyman的采访234
6.5 总结237
6.5.1 Yesod的强项237
6.5.2 Yesod的弱项238
6.5.3 最后的思考238
第7章 Immutant 239
7.1 Immutant简介239
7.1.1 Immutant的特性240
7.1.2 计划240
7.2 第1天:不仅仅是网络
基础241
7.2.1 开始241
7.2.2 你好,世界242
7.2.3 分布式缓存244
7.2.4 计划任务249
7.2.5 我们在第1天学到的250
7.3 第2天:构建数据管道251
7.3.1 消息队列251
7.3.2 管道255
7.3.3 Overwatch的管道257
7.3.4 我们在第2天学到的262
7.4 第3天:多语言应用263
7.4.1 叠加263
7.4.2 集群268
7.4.3 我们在第3天学到的272
7.4.4 对Jim Crossley的采访273
7.5 总结275
7.5.1 Immutant的强项275
7.5.2 Immutant的弱项275
7.5.3 最后的思考276
第8章 结束277
8.1 关键想法277
8.1.1 简单性278
8.1.2 代码运行在何处278
8.1.3 组合279
8.1.4 声明式优先于指令式279
8.1.5 动态类型和静态类型280
8.1.6 状态机280
8.1.7 交互性281
8.2 快乐的探索吧281
Designersanddevelopers,createsmashingappsforAndroiddevicesIfyouredevelopingappli...
《超简单!一学就懂的财务报表(全彩图解版)》内容简介:零基础、全图解,通过近100多个精辟的知识点、120多张通俗易懂的逻辑图表
《计算机图形学》与大多数传统的计算机图形学教材不同,它仅简要介绍交互式计算机图形学方面的基本知识,主要侧重于介绍计算机图
《自在余生》内容简介:中国的社会老龄化日益加深,在这样一个大环境背景下,个人养老观念也在不断革新。本书作者自身也是一位退休
深入剖析现代编译器运用的算法和技术强调代码优化和代码生成体现编译原理教学的最新理念本书旨在介绍编译器构造法中的艺术和科学
《维护网络空间安全:中国网络安全法解读》内容简介:自2017年6月1日起;《中华人民共和国网络安全法》(本书简称《网络安全法》)正
新手学Word/Excel/PowerPoint办公应用-超值畅销版-(附赠DVD光盘1张) 本书特色 由博智书苑编的《新手学Word\Excel\PowerP...
《中国区域经济发展报告(2018)》内容简介:2019年是我国改革开放的第41年,也是区域经济学成立的第30年,因此本书以“回顾改革开
《真幌站前狂骚曲》内容简介:《真幌站前狂骚曲》中,多田与行天在彼此嫌弃与互相扶持中,又迎来了新的一年。“真幌站前”系列大结
本书是根据2003年的ISO/ANSIC++标准编写的,通过大量短小精悍的范例程序详细而全面地阐述了C十+的基本概念和技术,包括控制输入
《政府形象传播》内容简介:《政府形象传播》共分为七章,主要收录了信息公开与信源组织、发布时效与话语表达、民意互动与意见回馈
《鲁迅自编文集:伪自由书》内容简介:鲁迅经典杂文集,收录鲁迅寄给《申报》上的《自由谈》的杂感及一些笔战文章。冷嘲热讽讥评时
《超简单:用Python让Excel飞起来(核心模块语法详解篇)》内容简介:本书从Excel办公自动化涉及的Python模块中精选了4个核心模块,
《神经网络气象预报建模理论方法与应用》主要介绍了神经网络主要模型的基本理论和方法、神经网络的各种短期气候预测模型、时间序
《亚细亚生产方式与东方社会发展道路》内容简介:对马克思的亚细亚生产方式的讨论和争论,不仅关系到对这一理论本身的评价和东方社
《帝国政界往事.上》内容简介:为何个如此成熟、富庶、幅员辽阔、人口众多、资源丰饶、自我感觉之好大明王朝,会被一个人口还不到自
Photoshop专业抠图技法 本书特色 抠什么都不怕!半透明、不透明、动物、植物、人物,《Photoshop专业抠图技法》搞定一切图,绝对超高速。深入剖析了选...
Entwerfen.Programmieren.Visualisieren.MitinternationalenBest-Practise-Beispielen...
"Arguably,oneofthebesttomes...TwitterPowerisjam-packedwithcleverwaystostartanddo...
《抗战时代生活史》内容简介:本书是“陈存仁作品”之一本,与《银元时代生活史》可以看作是作者自传两部曲。书中描写了上海沦陷后