资源名称:全端Web开发 使用Ja vaSc ript与Java

内容简介:

Javascript和Java这两大生态系统之间如何协同,成为所有Web开发人员共同面临的问题。本书应运而生,全面又简练地为读者展示了最新的C/S应用开发范式。本书以Java和Javascript这两种最流行的服务器与客户端开发环境为例,全面讲解了最新的C/S应用开发范式。作者不仅讲解了很多实用的C/S开发架构,还通过各种实例进一步强化了读者的认知。

资源目录:

前言  xiii

第1章 因变而变  1

1.1 Web用户  2

1.2 技术  2

1.3 软件开发  3

1.4 哪些没变  4

1.4.1 Web 的本质  5

1.4.2 为什么说服务器驱动的Web开发有害  6

1.5 为什么需要客户端- 服务器端的Web应用  7

1.5.1 代码组织结构/ 软件架构  7

1.5.2 “设计的灵活性”与“使用开源API”  7

1.5.3 原型  7

1.5.4 开发者的效率  8

1.5.5 应用性能  8

1.6 小结  9

第2章 Javascript和Javascript工具  11

2.1 学习Javascript  12

2.2 Javascript的历史  13

2.3 一门函数式语言  14

2.3.1 作用域  15

2.3.2 一级函数  16

2.3.3 函数声明和表达式  17

2.3.4 函数调用  19

2.3.5 函数参数  19

2.3.6 对象  20

2.4 面向Java开发者的Javascript  20

2.4.1 HelloWord.java  20

2.4.2 带变量的HelloWord.java  23

2.5 最佳开发实践  25

2.5.1 编码规范和约定  25

2.5.2 浏览器  26

2.5.3 集成开发环境  26

2.5.4 单元测试  27

2.5.5 文档  27

2.6 项目  27

第3章  REST和JSON  33

3.1 什么是REST  34

3.1.1 资源  34

3.1.2 动词(HTTP请求)  34

3.1.3 统一资源标识符  35

3.2 REST约束  36

3.2.1 客户端- 服务器端  36

3.2.2 无状态  36

3.2.3 可缓存  37

3.2.4 统一接口  37

3.2.5 分层  38

3.2.6 按需交付代码  38

3.3 HTTP响应代码  38

3.4 JSON  39

3.5 HATEOAS  40

3.6 API衡量和分类  43

3.7 函数式编程和REST  43

3.8 项目  44

3.9 其他Web API工具  48

3.10 约束回顾  48

第4章 Java工具  49

4.1 Java语言  49

4.2 Java虚拟机  50

4.3 Java工具  51

4.4 构建工具  52

4.4.1 Maven的优点  54

4.4.2 Maven的功能  54

4.4.3 版本控制  55

4.4.4 单元测试  56

4.5 处理JSON的Java 类库  56

4.6 项目  57

4.6.1 用Java处理JSON  57

4.6.2 用JVM上的脚本语言处理JSON  59

4.7 小结  62

第5章 客户端框架  65

5.1 概述  65

5.2 起点一:响应式Web设计  67

5.2.1 HTML5 Boilerplate  68

5.2.2 Bootstrap  68

5.3 起点二:Javascript库和框架  69

5.3.1 浏览器兼容性  69

5.3.2 框架  69

5.3.3 功能  70

5.3.4 流行程度  70

5.4 获取起始项目  71

5.4.1 直接从仓库下载  71

5.4.2 从入门网站下载  71

5.4.3 IDE生成的起始项目  72

5.5 前端工程师的崛起  72

5.5.1 客户端模板  72

5.5.2 资源管道  73

5.5.3 开发流程  74

5.6 项目  74

5.7 小结  76

第6章 Java Web API服务器  77

6.1 更简单的服务器端解决方案  77

6.2 基于Java的服务器  79

6.2.1 Java HTTP服务器  79

6.2.2 Jetty嵌入式服务器  81

6.2.3 Restlet  82

6.2.4 Roo  83

6.2.5 Netty嵌入式服务器  87

6.2.6 Play服务器  89

6.2.7 其他轻量级服务器  92

6.3 基于JVM的服务器  92

6.4 Web应用服务器  93

6.5 如何在开发中使用  94

6.6 小结  94

第7章  快速开发实践  95

7.1 开发者的生产率  95

7.2 优化开发者和团队的工作流程  98

7.2.1 例子:修复Web应用  99

7.2.2 例子:测试集成  100

7.2.3 例子:绿地开发  101

7.3 生产率和软件开发生命周期  101

7.3.1 管理方式和企业文化  102

7.3.2 技术架构  102

7.3.3 软件工具  103

7.3.4 性能  104

7.3.5 测试  104

7.3.6 底层平台  105

7.4 小结  106

第8章 API设计  107

8.1 设计的起点  108

8.2 实用的Web API与REST API  109

8.3 指引  110

8.3.1 名词即资源,动词即HTTP 行为  110

8.3.2 请求参数作为修饰符   111

8.3.3 Web API版本  112

8.3.4 HTTP 标头  113

8.3.5 链接  113

8.3.6 响应  113

8.3.7 文档  113

8.3.8 格式约定  114

8.3.9 安全性  114

8.4 项目  114

8.4.1 运行项目  114

8.4.2 服务端代码  115

8.4.3 Curl和jQuery  117

8.5 实践理论  118

第9章 jQuery和Jython  119

9.1 服务端:Jython  120

9.1.1 Python Web服务器  120

9.1.2 Jython Web服务器  120

9.1.3 Mock API  121

9.2 客户端:jQuery  122

9.2.1 DOM遍历和操作  122

9.2.2 实用函数  123

9.2.3 效果  124

9.2.4 事件处理  124

9.2.5 Ajax  124

9.3 jQuery和更高级的抽象  125

9.4 项目  125

9.4.1 基础HTML  126

9.4.2 Javascript和jQuery  126

9.5 小结  128

第10章 JRuby和Angular  129

10.1 服务器端:JRuby和Sinatra  130

10.1.1 工作流  130

10.1.2 交互式Ruby shell  131

10.1.3 Ruby版本管理器  131

10.1.4 包  132

10.1.5 Sinatra  133

10.1.6 JSON处理  134

10.2 客户端:AngularJS  135

10.2.1 模型  135

10.2.2 视图  135

10.2.3 控制器  136

10.2.4 服务  136

10.3 比较jQuery和Angular  136

10.3.1 DOM和模型操作  136

10.3.2 Angular的不可见性  137

10.4 项目  137

10.5 小结  143

第11章 打包和部署  145

11.1 打包Java和JEE 应用  145

11.2 JEE 应用的部署  147

11.2.1 图形界面管理  148

11.2.2 命令行管理  150

11.3 非JEE应用的部署  151

11.3.1 服务器在应用之外  152

11.3.2 服务器和应用并行  152

11.3.3 服务器在应用里面  154

11.4 不同部署方式带来的影响  154

11.4.1 负载均衡  155

11.4.2 自动化应用部署  156

11.5 项目  157

11.5.1 客户端  157

11.5.2 服务器端  158

11.6 小结  158

第12章 虚拟化  159

12.1 全虚拟化  159

12.2 虚拟机的实现  161

12.2.1 VMWare  161

12.2.2 VirtualBox  161

12.2.3 Amazon EC2  161

12.3 虚拟机的管理  162

12.3.1 Vagrant  162

12.3.2 Packer  162

12.3.3 DevOps配置管理  163

12.4 容器  163

12.4.1 LXC  164

12.4.2 Docker  164

12.5 项目  165

12.5.1 Docker帮助  166

12.5.2 镜像和容器的维护  166

12.5.3 在Docker里使用Java  167

12.5.4 Docker和Vagrant 的网络设置  169

12.6 小结  170

第13章 测试和文档  171

13.1 测试的种类  172

13.1.1 “正式”与“非正式”  172

13.1.2 测试范围  172

13.1.3 谁来测?测什么?为谁测  173

13.2 测试反映了组织的成熟度  173

13.2.1 使用软件能力成熟度模型评价流程  173

13.2.2 使用Maven促进流程统一  174

13.2.3 使用行为驱动开发促进流程统一  176

13.3 测试框架  176

13.3.1 JUnit  177

13.3.2 Jasmine  177

13.3.3 Cucumber  178

13.4 项目  179

13.4.1 JUnit  180

13.4.2 Jasmine  180

13.4.3 Cucumber  181

13.4.4 Maven报告  181

13.5 小结  182

第14章 总结  183

14.1 社区  183

14.2 历史  184

14.3 尾声  184

附录A JRuby IRB及Java API  185

附录B REST式的Web API总结  191

附录C 参考文献  196

关于作者  197

关于封面图  197

资源截图:

全端Web开发 使用Ja vaSc ript与Java