本书带领读者认识和学习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
ValuabletipsandtricksforusingthelatestversionofGoogleAnalyticsPackedwithinsidert...
《深入浅出Python量化交易实战》内容简介:本书主要以国内A股市场为例,借助第三方量化交易平台,讲述了KNN、线性模型、决策树、支
《实用卷积神经网络:运用Python实现高级深度学习模型》内容简介:本书从深度神经网络概述开始,通过一个图像分类的例子带你构建第
《淘宝开店从新手到皇冠:开店+装修+推广+运营一本通(第3版)》内容简介:“淘宝开店”畅销书全新升级,资深讲师倾囊相授!哪怕你
《随机信号分析基础(第3版)》为普通高等教育“十一五”国家级规划教材。《随机信号分析基础(第3版)》主要从工程应用的角度讨论随
全书共分8章,分别介绍了基于规则的知识系统,人工神经网络,适应性智能系统,农业专家系统,知识管理与知识服务,智能机器人,人
《发现高更:在孤独中飞翔》内容简介:130年前,高更踏上塔希提岛,一个被称为世外桃源的南太平洋小岛。他来自文明却渴望原始,看似
《世界汉学(第10卷)》内容简介:《世界汉学(第10卷)》中国人民大学出版社出版。本书包括了:汉学与汉学家在德国——过时的概念?
《AI的25种可能》内容简介:世界上最聪明的网站Edge,每年一次,让100位全球最伟大的头脑坐在同一张桌子旁,共同解答关乎人类命运的
《5000天后的世界》内容简介:在互联网商业化的5000天后,社交媒体(SNS)开始蓬勃兴起, 现在距SNS兴起又过了近5000天,接下来的5
《漫画素描技法从入门到精通:色铅笔卷》内容简介:本书从绘画工具、构图到配色都进行了详细的讲解。全书分为十一个部分,第一部分
《齐善鸿讲道德经》内容简介:如何轻松学到《道德经》的精髓? 如何打破艰难晦涩的语句直达道学根本? 如何在生活和工作中运用《道
《Python人工智能》内容简介:本书系统地介绍了基于Python平台的人工智能的原理及实现过程,全书共7章。第1章“从这里开始认识Pyth
《田小七来啦6:哎呀,又闯祸了》内容简介:黄莹莹发现田小七、张大嘴等人的行动鬼鬼祟祟的,为了弄清楚真相,她进行了一次跟踪。她
科技的發展讓我們的生活變得複雜,連向來簡單的家用電器都被加上繁複的控制面板,更別說家裡堆滿了各式各樣的遙控器。我們必須要
《编程珠玑》第一版是我早期职业生涯中阅读过的对我影响较大的书籍之一,在书中首次接触到的很多观点都让我长期受益。作者在这一
Thestudyoftypesystemsforprogramminglanguagesnowtouchesmanyareasofcomputerscience...
Thewebisanever-changingmediumwhosescope,application,audienceandplatformcontinuet...
《游戏行业网络营销推广实战从入门到精通》内容简介:《游戏行业网络营销推广实战从入门到精通》通过对目前游戏市场热门的80多款游
基于Pro/E注塑模具CAD设计-(含光盘) 本书特色 《基于Pro/E注塑模具CAD设计/全国高职高专规划教材·机械设计制造系列》是在工作过程系统化理论的课程...