同构 JavaScript 应用开发 PDF 文档
本书将向你展示如何构建和维护属于自己的同构 JavaScript 应用。全书分为三部分,第一部分描绘不同种类的同构 JavaScript 的轮廓,第二部分介绍关键概念,第三部分提供业界同行的解决方案案例。通过阅读本书,你将了解到这种应用架构日益流行的原因,并能将其运用于解决关键的业务问题,如页面加载速度和 SEO 兼容性。
本书适合对同构 JavaScript 感兴趣的 Web 开发人员。
Web 技术的快速演进令人难以想象。当初,CSS 和 JavaScript 技术被引入浏览器的目的是提供一种交互模型和关注点分离。你还记得曾有无数的文章提倡结构、样式和行为分离吗?即便在引入了这些技术之后,应用的架构也并没有发生太大变化。文档通过 URI 的形式进行请求,浏览器解析返回内容后,再进行渲染。唯一的不同之处就是 JavaScript 让界面变得更丰富了一点。直到微软公司引入一项被称为 XMLHttpRequest(https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest)的新技术,Web 才在这项技术的催化下演进为应用平台。
目录
前言
第一部分 简介与关键概念
第 1 章 为什么需要同构 JavaScript
1.1 定义同构 JavaScript
1.2 评价其他的 Web 应用架构方案
1.2.1 状况的改变
1.2.2 工程上的关注点
1.2.3 可选架构
1.3 附加说明:何时不使用同构
1.4 小结
第 2 章 同构 JavaScript 图谱
2.1 共享视图
2.1.1 共享模板
2.1.2 共享视图逻辑
2.2 共享路由
2.3 共享模型
2.4 小结
第 3 章 同构 JavaScript 分类
3.1 与环境无关的代码
3.2 为每个特定环境提供 shim
3.3 小结
第 4 章 超越服务器端的渲染
4.1 实时 Web 应用
4.1.1 同构 API
4.1.2 双向数据同步
4.1.3 在服务器端进行客户端仿真
4.2 小结
第二部分 构建第一个应用
第 5 章 起步
5.1 Node 的安装和运行
5.1.1 从源码安装
5.1.2 与 Node REPL 交互
5.1.3 使用 npm 管理项目
5.2 建立应用项目
5.2.1 初始化项目
5.2.2 安装应用服务器
5.2.3 编写下一代的 JavaScript(ES6)
5.2.4 将 ES6 编译为 ES5
5.2.5 建立开发流程
5.3 小结
第 6 章 提供第一份 HTML 文档
6.1 提供 HTML 模板
6.2 使用路径参数与查询参数
6.3 小结
第 7 章 设计应用架构
7.1 理解问题
7.2 响应用户请求
7.2.1 创建 Application 类
7.2.2 创建控制器
7.2.3 构造控制器实例
7.2.4 拓展控制器
7.2.5 改进响应流
7.3 小结
第 8 章 将应用传输到客户端
8.1 打包应用的客户端版本
8.1.1 选择打包库
8.1.2 创建打包任务
8.1.3 添加客户端实现
8.2 响应用户请求
8.2.1 利用 History API
8.2.2 响应并调用 History API
8.3 客户端路由
执行客户端响应流
8.4 组织代码
8.5 小结
第 9 章 创建常用的抽象
9.1 何时抽象,为什么需要抽象
9.2 获取和设置 cookie
定义 API
9.3 重定向请求
定义 API
9.4 小结
第 10 章 序列化、反序列化和添加事件监听
10.1 序列化数据
10.2 创建控制器实例
10.3 反序列化数据
10.4 添加 DOM 事件处理器
10.5 验证 rehydration 过程
10.6 小结
第 11 章 结束感言
11.1 生产准备
11.2 衡量架构
管理变化
11.3 小结
第三部分 现实世界的解决方案
第 12 章 WalmartLabs 的同构 React.js 方案
12.1 物种起源
12.1.1 问题
12.1.2 解决方案
12.2 React 模板与模式
12.2.1 在服务器端渲染
12.2.2 在客户端恢复
12.3 Walmart 采用的方法
12.4 克服挑战
12.4.1 首字节时间
12.4.2 组件渲染优化
12.4.3 性能提升
12.5 下一步
12.6 感谢
12.7 补充说明
第 13 章全栈 Angular
13.1 同构 JavaScript:Web 应用的未来
13.2 同构 Angular 1
ng-conf 2015
13.3 Angular 2 服务器端渲染
13.3.1 服务器端渲染的用例
13.3.2 Web 应用脱节
13.3.3 Angular 2 渲染架构
13.3.4 Preboot
13.4 Angular Universal
全栈 Angular 2
13.5 GetHuman.com
13.6 补充说明
第 14 章 Brisket
14.1 问题
14.2 两全其美
14.3 早期 Brisket
14.4 成为现实
14.5 代码自由
使用任何模板语言
14.6 跨环境一致的 API
14.6.1 模型/集合
14.6.2 视图生命周期
14.6.3 子视图管理
14.6.4 跨环境使用的工具
14.7 前进之路
14.7.1 ClientApp 与 ServerApp
14.7.2 布局模板
14.7.3 其他经验教训
14.8 Brisket 的下一步?
14.9 补充说明
第 15 章 Colony 案例研究:脱离 Node 创建同构应用
15.1 问题
15.2 模板
15.3 数据
15.4 转译视图模型
15.5 布局
15.6 页面生成器
15.7 前端 SPA
15.8 最终架构
15.9 后续计划
第 16 章 结语
16.1 设计模式、Flux 和同构 JavaScript 家族
16.1.1 永远相信 JavaScript
16.1.2 命名与理解
下载地址:https://www.wenjiangs.com/wp-content/uploads/2024/05/SSfEzDxK5hVvw6SW.zip
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论