当前位置:主页 > 计算机电子书 > 程序设计 > Web开发下载
七周七Web开发框架

七周七Web开发框架 PDF 完整版

  • 更新:2019-06-23
  • 大小:31.5 MB
  • 类别:Web开发
  • 作者:墨菲特
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

七周七Web开发框架

七周七Web开发框架

内容介绍

本书带领读者认识和学习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

资源下载

资源下载地址1:https://pan.baidu.com/s/1Gv2-zd092WbbZhI9uhmGRQ

相关资源

网友留言