书籍封面
书籍目录
封面
数字版权声明
译者介绍
扉页
版权
版权声明
O’Reilly Media, Inc.介绍
目录
前言
第一部分 简介与关键概念
第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 命名与理解
关于作者
关于封面
关于作者
关于封面
图书推荐
连接图灵
看完了
没有回复内容