全端Web開發(使用JavaScript與Java) 全端Web开发 使用JavaScript与Java (图灵程序设计丛书)

薩特諾斯(Casimir Saternos)

買這商品的人也買了...

商品描述

 

<內容簡介>

JavaScript和Java這兩大生態系統之間如何協同,成為所有Web開發人員共同面臨的問題。薩特諾斯編著的《全端Web開發》應運而生,全面又簡練地為讀者展示了最新的C∕S應用開發範式。本書以Java和JavaScript這兩種最流行的服務器與客戶端開發環境為例,全面講解了最新的C∕S應用開發範式。作者不僅講解了很多實用的C∕S開發架構,還通過各種實例進一步強化了讀者的認知。
這是一本寫給Java程序員的完整的最新C∕S應用開發範式的指南。

 

<章節目錄>

前言
第1章  因變而變
  1.1  Web用戶
  1.2  技術
  1.3  軟件開發
  1.4  哪些沒變
    1.4.1  Web的本質
    1.4.2  為什麼說服務器驅動的Web開發有害
  1.5  為什麼需要客戶端-服務器端的Web應用
    1.5.1  代碼組織結構/軟件架構
    1.5.2  「設計的靈活性」與「使用開源API」
    1.5.3  原型
    1.5.4  開發者的效率
    1.5.5  應用性能
  1.6  小結
第2章  JavaScript和JavaScript工具
  2.1  學習JavaScript
  2.2  JavaScript的歷史
  2.3  一門函數式語言
    2.3.1  作用域
    2.3.2  一級函數
    2.3.3  函數聲明和表達式
    2.3.4  函數調用
    2.3.5  函數參數
    2.3.6  對象
  2.4  面向Java開發者的JavaScript
    2.4.1  HelloWord.java
    2.4.2  帶變量的HelloWord.java
  2.5  最佳開發實踐
    2.5.1  編碼規範和約定
    2.5.2  瀏覽器
    2.5.3  集成開發環境
    2.5.4  單元測試
    2.5.5  文檔
  2.6  項目
第3章  REST和JSON
  3.1  什麼是REST
    3.1.1  資源
    3.1.2  動詞(HTTP請求)
    3.1.3  統一資源標識符
  3.2  REST約束
    3.2.1  客戶端-服務器端
    3.2.2  無狀態
    3.2.3  可緩存
    3.2.4  統一接口
    3.2.5  分層
    3.2.6  按需交付代碼
  3.3  HTTP響應代碼
  3.4  JSON
  3.5  HATEOAS

  3.6  API衡量和分類
  3.7  函數式編程和REST
  3.8  項目
  3.9  其他WebAPI工具
  3.10  約束回顧
第4章  Java工具
  4.1  Java語言
  4.2  Java虛擬機
  4.3  Java工具
  4.4  構建工具
    4.4.1  Maven的優點
    4.4.2  Maven的功能
    4.4.3  版本控制
    4.4.4  單元測試
  4.5  處理JSON的Java類庫
  4.6  項目
    4.6.1  用Java處理JSON
    4.6.2  用JVM上的腳本語言處理JSON
  4.7  小結
第5章  客戶端框架
  5.1  概述
  5.2  起點一:響應式Web設計
    5.2.1  HTML5Boilerplate
    5.2.2  Bootstrap
  5.3  起點二:JavaScript庫和框架
    5.3.1  瀏覽器兼容性
    5.3.2  框架
    5.3.3  功能
    5.3.4  流行程度
  5.4  獲取起始項目
    5.4.1  直接從倉庫下載
    5.4.2  從入門網站下載
    5.4.3  IDE生成的起始項目
  5.5  前端工程師的崛起
    5.5.1  客戶端模板
    5.5.2  資源管道
    5.5.3  開發流程
  5.6  項目
  5.7  小結
第6章  JavaWebAPI服務器
  6.1  更簡單的服務器端解決方案
  6.2  基於Java的服務器
    6.2.1  JavaHTTP服務器
    6.2.2  Jetty嵌入式服務器
    6.2.3  Restlet
    6.2.4  Roo
    6.2.5  Netty嵌入式服務器
    6.2.6  Play服務器
    6.2.7  其他輕量級服務器
  6.3  基於JVM的服務器

  6.4  Web應用服務器
  6.5  如何在開發中使用
  6.6  小結
第7章  快速開發實踐
  7.1  開發者的生產率
  7.2  優化開發者和團隊的工作流程
    7.2.1  例子:修復Web應用
    7.2.2  例子:測試集成
    7.2.3  例子:綠地開發
  7.3  生產率和軟件開發生命周期
    7.3.1  管理方式和企業文化
    7.3.2  技術架構
    7.3.3  軟件工具
    7.3.4  性能
    7.3.5  測試
    7.3.6  底層平臺
  7.4  小結
第8章  API設計
  8.1  設計的起點
  8.2  實用的WebAPI與RESTAPI
  8.3  指引
    8.3.1  名詞即資源,動詞即HTTP行為
    8.3.2  請求參數作為修飾符
    8.3.3  WebAPI版本
    8.3.4  HTTP標頭
    8.3.5  鏈接
    8.3.6  響應
    8.3.7  文檔
    8.3.8  格式約定
    8.3.9  安全性
  8.4  項目
    8.4.1  運行項目
    8.4.2  服務端代碼
    8.4.3  Curl和jQuery
  8.5  實踐理論
第9章  jQuery和Jython
  9.1  服務端:Jython
    9.1.1  PythonWeb服務器
    9.1.2  JythonWeb服務器
    9.1.3  MockAPI
  9.2  客戶端:jQuery
    9.2.1  DOM遍歷和操作
    9.2.2  實用函數
    9.2.3  效果
    9.2.4  事件處理
    9.2.5  Ajax
  9.3  jQuery和更高級的抽象
  9.4  項目
    9.4.1  基礎HTML
    9.4.2  JavaScript和jQuery

  9.5  小結
第10章  JRuby和Angular
  10.1  服務器端:JRuby和Sinatra
    10.1.1  工作流
    10.1.2  交互式Rubyshell
    10.1.3  Ruby版本管理器
    10.1.4  包
    10.1.5  Sinatra
    10.1.6  JSON處理
  10.2  客戶端:AngularJS
    10.2.1  模型
    10.2.2  視圖
    10.2.3  控制器
    10.2.4  服務
  10.3  比較jQuery和Angular
    10.3.1  DOM和模型操作
    10.3.2  Angular的不可見性
  10.4  項目
  10.5  小結
第11章  打包和部署
  11.1  打包Java和JEE應用
  11.2  JEE應用的部署
    11.2.1  圖形界面管理
    11.2.2  命令行管理
  11.3  非JEE應用的部署
    11.3.1  服務器在應用之外
    11.3.2  服務器和應用並行
    11.3.3  服務器在應用裡面
  11.4  不同部署方式帶來的影響
    11.4.1  負載均衡
    11.4.2  自動化應用部署
  11.5  項目
    11.5.1  客戶端
    11.5.2  服務器端
  11.6  小結
第12章  虛擬化
  12.1  全虛擬化
  12.2  虛擬機的實現
    12.2.1  VMWare
    12.2.2  VirtualBox
    12.2.3  AmazonEC
  12.3  虛擬機的管理
    12.3.1  Vagrant
    12.3.2  Packer
    12.3.3  DevOps配置管理
  12.4  容器
    12.4.1  LXC
    12.4.2  Docker
  12.5  項目
    12.5.1  Docker幫助

    12.5.2  鏡像和容器的維護
    12.5.3  在Docker里使用Java
    12.5.4  Docker和vagrant的網絡設置
  12.6  小結
第13章  測試和文檔
  13.1  測試的種類
    13.1.1  「正式」與「非正式」
    13.1.2  測試範圍
    13.1.3  誰來測?測什麼?為誰測
  13.2  測試反映了組織的成熟度
    13.2.1  使用軟件能力成熟度模型評價流程
    13.2.2  使用Maven促進流程統
    13.2.3  使用行為驅動開發促進流程統
  13.3  測試框架
    13.3.1  JUnit
    13.3.2  Jasmine
    13.3.3  Cucumber
  13.4  項目
    13.4.1  JUnit
    13.4.2  Jasmine
    13.4.3  Cucumber
    13.4.4  Maven報告
  13.5  小結
第14章  總結
  14.1  社區
  14.2  歷史
  14.3  尾聲
附錄A  JRubyIRB及JavaAPI總結
附錄B  REST式的WebAPl總結
附錄C  參考文獻
關於作者
關於封面圖