@wpcfan
2017-05-05T04:08:59.000000Z
字数 2552
阅读 401
待定
未分类
前言
第一章:技术选型和环境搭建
1.1 眼花缭乱的前端框架选型
1.1.1 React -- 阴阳太极
1.1.2 Vue -- 凌波微步
1.1.3 Angular -- 易筋功
1.2 陈酒( Java )和新茶( Javascript )怎么选?
1.2.1 Express
1.2.2 Koa
1.2.3 老树新芽 SpringBoot
1.3 SQL 还是 NoSQL,这是个问题
1.3.1 MySQL & MariaDB
1.3.2 MongoDB
1.3.3 Redis
1.4 乱花迷眼的设计模式和编程思想
1.4.1 面向对象编程
1.4.2 面向切面编程
1.4.3 函式编程
1.4.4 浅谈常用设计模式
1.5 环境搭建
1.5.1 容器技术
1.5.2 IDE
1.5.3 版本管理
1.6 内容组织概述
第二章:使用 Angular 快速构造原型
2.1 Angular 基础概念
2.1.1 模块
2.1.2 组件
2.1.3 指令
2.1.4 管道
2.1.5 模板驱动型表单
2.1.6 响应式表单
2.2 初识 Angular Material 组件
2.2.1 SideNav 容器组件
2.2.3 Select 组件
2.2.4 Radio 组件
2.2.5 对话框 组件
2.3 开发原型
2.3.1 设计
2.3.2 实现
2.3.3 测试
2.4 进一步的思考和练习
第三章:用 SpringBoot 给前端输送弹药
3.1 SpringBoot 的基础概念
3.1.1 环境搭建
3.1.2 创建工程
3.1.3 第一个 Web API
3.1.4 测试 API
3.2 MongoDB 的集成
3.2.1 MongoDB 的搭建
3.2.2 MongoDB 基础命令
3.2.3 MongoDB 在 SpringBoot 中的集成
3.2.4 强大的方法命名机制的查询
3.2.5 自定义查询
3.3 找回熟悉的 Controller 和 Service
3.3.1 Controller 哪儿去了?
3.3.2 Service 又在哪里?
3.4 和前端联调测试
3.4.1 前端的改造
3.4.2 测试
3.5 进一步的思考和练习
第四章:开发企业协作平台之任务看板
4.1 前端原型
4.1.1 领域模型和对象关系
4.1.2 卡片组件
4.1.3 组件间通讯
4.2 RxJS -- 响应式编程的神兵利器
4.2.1 RxJS 是什么?
4.2.2 事件流
4.2.3 变换类操作符 -- map 和 mapTo
4.2.4 工具类操作符 -- do
4.2.5 过滤类操作符 -- filter
4.2.6 过滤类操作符 -- take,first,skip
4.2.7 过滤类操作符 -- takeLast,last
4.2.9 合并类操作符 -- merge
4.2.10 合并类操作符 -- combineLatest
4.2.11 合并类操作符 -- withLatestFrom
4.2.12 合并类操作符 -- zip
4.2.13 变换类操作符 -- scan
4.2.14 变换类操作符 -- buffer
4.2.15 变换类操作符 -- delay 和 delayWhen
4.2.16 变换类操作符 -- debounce 和 debounceTime
4.2.17 过滤类操作符 -- throttle 和 throttleTime
4.2.18 过滤类操作符 -- distinct 和 distinctUntilChanged
4.2.18 错误处理操作符 -- catch
4.2.19 错误处理操作符 -- retry 和 retryWhen
4.2.20 变换类操作符 -- repeat
4.3 Angular 中的 Rx 应用
4.3.1 无处不在的 Rx
4.3.2 Async 管道
4.3.3 用 RxJS 改造我们的应用
4.3.4 有自动完成功能的搜索框
4.4 进一步的思考和练习
第五章:前后端分离
5.1 打造受保护的 API
5.1.1 为什么要保护 API?
5.1.2 什么是JWT?
5.1.3 JWT的生成和解析
5.2 使用 SpringSecurity 规划角色安全
5.2.1 背景知识
5.2.2 在 SpringBoot 中启用 SpringSecurity
5.2.3 集成 JWT 和 SpringSecurtiy
5.2.4 使用 SSL/TLS 认证机制
5.2.5 基于密码和基于认证的鉴权问题
5.2.6 测试验证 API
5.3 改造前端使用受保护的 API
5.3.1 规划领域模型
5.3.2 联调测试
5.4 跨域( CORS )支持
什么是跨域?
如何在 SpringBoot 中实现跨域?
5.5 进一步的思考和练习
第六章:处理复杂的状态
6.1 状态管理的复杂度
6.1.1 Angular 中的状态管理机制
6.1.2 什么是 Redux?
6.1.3 为什么要使用 Redux?
6.1.4 使用 @ngrx/store 管理我们的状态
6.2 剥离效应( Effect )和数据
6.2.1 背后的理念
6.2.2 使用 @ngrx/effects 让逻辑清晰起来
6.3 扁平化的数据结构
6.3.1 为什么要扁平化?
6.3.2 NoSQL 该怎样解决一对多问题?
6.3.3 NoSQL 该怎样解决多对多问题?
6.3.4 改造数据结构
6.3.5 SpringBoot 返回扁平化结构
6.4 改造前端适应扁平化结构
6.4.1 API 直接返回扁平化的情况
6.4.2 需要客户端处理的情况
6.4.3 联调测试
6.5 进一步的思考和练习
第七章:实时消息应用
7.1 实时应用的技术选择
7.1.1 WebSocket
7.1.2 XMPP
7.1.3 MQTT
7.2 团队实时聊天功能
7.2.1 模型构造
7.2.2 使用 SpringBoot 实现 WebSocket 服务
7.2.3 Angular 中的 WebSocket 支持
7.2.4 联调测试
7.3 进一步的思考和练习
第八章:服务端的部署和运维
8.1 Spring Cloud 部署
8.2 使用 Docker 快速部署
8.3 SpringBoot 应用监控
8.4 SpringBoot 事件分析
8.5 微服务的概念
8.6 进一步的思考和练习
第九章 使用 Angular 技术栈打造原生 App
9.1 NativeScript
9.1.1 什么是NativeScript
9.1.2 环境搭建
9.1.3 使用 NativeScript XML 创建原生视图
9.1.4 使用 CSS 来装饰视图
9.1.5 使用主题
9.1.6 使用 Angular 路由来进行页面导航
9.1.7 使用 RxJS 进行数据绑定
9.2 打造我们的原生 App
9.2.1 改造的准备
9.2.2 模板的改造
9.2.3 原生 API 的嵌入
9.2.4 调试
9.2.5 部署
9.3 进一步的思考和练习