![]() 作者:[美] Casimir Saternos 出版社: 人民邮电出版社 副标题: 使用JavaScript与Java 原作名: Client-Server Web Apps with JavaScript and Java 译者:王群锋/杜 欢 出版年: 2015-7 页数: 220 定价: 59.00元 装帧: 平装 ISBN: 9787115397300 内容简介 · · · · · ·JavaScript和Java这两大生态系统之间如何协同,成为所有Web开发人员共同面临的问题。本书应运而生,全面又简练地为读者展示了最新的C/S应用开发范式。本书以Java和JavaScript这两种最流行的服务器与客户端开发环境为例,全面讲解了最新的C/S应用开发范式。作者不仅讲解了很多实用的C/S开发架构,还通过各种实例进一步强化了读者的认知。 作者简介 · · · · · ·Casimir Staternos 是Synchronoss Technologies公司软件架构师,有十余年软件开发经验。曾在Java Magazine和Oracle Technology Network上发表过技术文章,可在Pluralsight(www.pluralsight.com)上观看他录制的Peepcode播客视频。他目前主要使用Java、Ruby等技术从事Web应用开发。 目录 · · · · · ·前言 xiii第1章 因变而变 1 1.1 Web用户 2 1.2 技术 2 1.3 软件开发 3 1.4 哪些没变 4 · · · · · ·() 前言 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开发"试读 · · · · · ·“计算机科学领域只有两大难题:缓存失效和命名。”——菲尔 •卡尔顿写一本关于缓存失效的书并不是难事,难的是如何给书取个合适的名字。本书的书名代表的是Web 开发方方面面的变化,这些变化促成了一种新的Web 应用设计方法的诞生。诚然,Web 开发的许多方面都可以称为“新”的。不断升级的桌面浏览器、层出不穷的移动终端、一直在演变的编程语言、更快的处理器,还有越来越.. |
不一样的观点
以后一直来!
品质不错值得拜看