《全端Web开发 使用JavaScript和Java》PDF

下载链接: https://pan.baidu.com/s/1MCLivB0A5omdelXA_K3LJg 密码: g8xp

  • 出版社: 人民邮电出版社; 第1版 (2015年8月1日)
  • 外文书名: Client-Server Web Apps with JavaScript and Java
  • 丛书名: 图灵程序设计丛书
  • 平装: 197页
  • 语种: 简体中文
  • 开本: 16
  • ISBN: 9787115397300, 7115397309
  • 条形码: 9787115397300
  • 商品尺寸: 24 x 18.8 x 3 cm
  • 商品重量: 322 g
  • 品牌: 人民邮电出版社
  • ASIN: B012R5A2IU

编辑推荐

近几年来,用户习惯、技术和开发方法极大地改变了Web应用的设计,但是Web本身并没有变化。本书展示了如何开发出遵循Web底层架构的应用。 

作为一名Java程序员,在以客户端-服务器端架构开发Web应用时,如何应对各种难题?这本内容详尽的指南将告诉你如何使用各种Java工具、客户端技术和Web API开发Web应用。作者首先概括了客户端-服务器端技术,然后详细介绍了很多实用的客户端-服务器端架构。你将在多个章节中参与到实战项目中,从而获得对相应技术和主题的一手经验。 

通过阅读本书,你将会 

了解客户端和服务器端分层的好处,包括代码组织和快速原型开发; 
探索JavaScript开发中用到的各种主流工具、框架和起点项目; 
深入学习Web API设计和REST风格的软件架构; 
了解有别于传统打包方法的各种Java打包方式,以及应用服务器的部署; 
使用轻量级服务器构建项目,涉及jQuery和Jython、Sinatra和Angular; 
使用传统Java Web应用服务器和类库构建客户端-服务器端Web应用。

媒体推荐

“随着客户端-服务器端架构向浏览器迁移,现在的程序员面临着来自新技术和架构的挑战。这本书直捣这一复杂性的核心,将Web应用开发的现状直接呈现在读者眼前。”
——Tony Powell
Trifecta Technologies公司的技术方案负责人

作者简介

Casimir Staternos是Synchronoss Technologies公司软件架构师,有十余年软件开发经验。曾在Java Magazine和Oracle Technology Network上发表过技术文章,可在Pluralsight 上观看他录制的Peepcode播客视频。他目前主要使用Java、Ruby等技术从事Web应用开发。

目录

前言 
第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 
第13 章 测试和文档 171 
第14 章 总结 183 
附录A JRuby IRB及Java API 
附录B REST式的Web API总结 
附录C 参考文献 
关于作者 
关于封面图

文摘

版权页: 

 

刚开始的Web开发主要是创建静态HTML网站,之后加入了服务器端处理(CGI、Java Servlets),为网站注入了动态内容。慢慢地,人们开始使用更加结构化的语言,集成了服务器端模板(ASP、PHP、JSP)和MVC框架。新近出现的技术继续沿着传统的路子,增加了这样那样的抽象。 
为了向开发者屏蔽设计和Web的底层架构,组件化的框架出现了。先是出现了标签库,然后是组件化,几种流行的框架都采用了组件化的方式: 
Java Server Faces(JSF)是一种基于XML的模板系统和组件化框架,导航实行集中化配置; 
Google Web Toolkit是另一种组件化框架,它发挥了Java程序员的长处,让他们集中精力编写Java代码,而不需要直接修改HTML、CSS和JavaScript。 
每一种框架都有它的作用,被成功应用于生产系统。但是,和很多试图屏蔽底层复杂性的方案一样,当你需要更多的控制权(比如想要集成大量的JavaScript代码),或者不满足使用框架的前提条件(比如可用服务器会话)时,就出问题了。Web的基本架构是使用HTTP请求一响应协议的一种客户端一服务器端计算模型,而这些方案却试图去屏蔽它。浏览器端的创新也促成了责任从服务器端向客户端的转移。20世纪90年代后期,微软开发了后来成为Ajax(Jesse James Garrett于2005年2月18日命名了这一术语)的底层技术。Ajax是“asynchronous JavaScript and XML”的缩写,但是对各种Web页面和服务器进行通信的技术也都适用。这种技术允许少量信息传递,这样在设计基于JavaScript的Web应用时,可以更好地利用带宽。处理器的升级和JavaScript引擎的优化显著地提升了浏览器性能,因此将更多工作从服务器端搬到浏览器端也变得顺理成章。用户界面的响应速度被带向了一个新高度。 
移动设备的浏览器更进一步促使了客户端代码和服务器端的分离。有时候,我们可以创建出设计良好的响应式Web应用。如果不行,对所有的客户端设备都使用一致的API这一点也是很吸引人的。 
罗伊·T.菲尔丁于2000年发表的博士论文,让Java EE 6与过去基于组件的API设计背道而驰。人们设计出了JAX—RS(Java API for RESTful Web Services)和Jersey(一个“产品级的参考实现”),用来创建使用REST式风格通信的客户端—服务器端架构。


猜你喜欢

转载自blog.csdn.net/sinat_33899729/article/details/80262684