七周七Web開發框架

七周七Web開發框架
定價:354
NT $ 308
 

內容簡介

本書帶領讀者認識和學習7種影響現代Web應用並改孌了Web開發方式的框架,以期給Web開發者帶來啟發和思考。

本書延續了同系列的暢銷書《七周七語言》、《七周七數據庫》的體例和風格。全書共8章,前7章介紹了Sinatra、CanJS、AngularJS,Ring、Webmachine、Yesod和lmmutant共計7種Web開發框架,最后一章總結回顧了所有的知識點。書中對每一種框架的介紹,都為構建Web應用帶來了獨特而強大的思路。除此之外,書中還提供了一系列代碼示例和在線資源以供參考。

本書適合有一定基礎的Web開發人員閱讀,能夠幫助讀者拓寬思路,激發更多的設計靈感。

Jack Moffitt擁有使用不同語言、不同框架開發Web相關應用長達十年的經驗。他是Mozilla研究所的高級研究工程師,他工作於Servo項目,正在開發一個試驗性的新一代瀏覽器引擎。他還幫助創建了Ogg Vorbis格式,並且創建了Xiph.org基金會,這是一個非盈利的機構,致力於開源且完全免費的多媒體編解碼器。
 

目錄

第1章 Sinatra1
1.1 簡單的領域特定語言2
1.2 第1天:構建一個書簽應用2
1.2.1 你好,Sinatra3
1.2.2 用RSpec來測試4
1.2.3 REST風格的API6
1.2.4 數據持久化6
1.2.5 創建和讀取書簽8
1.2.6 編寫自動化測試9
1.2.7 更新和刪除書簽10
1.2.8 我們在第1天學到的11
1.3 第2天:創建視圖12
1.3.1 ERB簡介12
1.3.2 Mustache介紹17
1.3.3 Slim介紹20
1.3.4 我們在第2天學到的23
1.4 第3天:添加新功能24
1.4.1 校驗24
1.4.2 塊參數26
1.4.3 過濾器27
1.4.4 為書簽打上標簽28
1.4.5 添加標簽的API支持31
1.4.6 使用正則表達式來匹配路由33
1.4.7 我們在第3天學到的34
1.5 總結35
1.5.1 Sinatra的強項35
1.5.2 Sinatra的弱項35
1.5.3 最后的思考36

第2章 CanJS37
2.1 CanJS的獨一無二之處37
2.2 第1天:創建對象和同步變化39
2.2.1 你好,CanJS!40
2.2.2 構建和擴展對象41
2.2.3 觀察屬性的變化44
2.2.4 使用CanJS創建一個前端書簽應用46
2.2.5 連接模型與服務器47
2.2.6 渲染視圖48
2.2.7 動態綁定50
2.2.8 我們在第1天學到的50
2.3 第2天:創建控制器51
2.3.1 將控制器綁定到頁面元素上52
2.3.2 監聽UI事件53
2.3.3 使用datao方法從頁面獲取數據模型54
2.3.4 使用觀察者實現控制器之間的溝通55
2.3.5 創建一個表單控制器57
2.3.6 我們在第2天學到的60
2.4 第3天:與模型的協作61
2.4.1 添加校驗62
2.4.2 實現標簽的處理64
2.4.3 過濾書簽66
2.4.4 創建一個標簽列表69
2.4.5 使用路由管理瀏覽器的位置71
2.4.6 我們在第3天學到的73
2.4.7 對CanJS的創造者Justin B.Meyer的采訪74
2.5 總結76
2.5.1 CanJS的強項76
2.5.2 CanJS的弱項76
2.5.3 最后的思考76

第3章 AngularJS77
3.1 概覽77
3.2 第1天:使用依賴注入79
3.2.1 你好,AngularJS80
3.2.2 創建服務83
3.2.3 換個角度來看我們的書簽應用前端86
3.2.4 使用資源服務87
3.2.5 為服務寫自動化測試89
3.2.6 我們在第1天學到的93
3.3 第2天:創建控制器和視圖93
3.3.1 創建控制器和使用視圖指令94
3.3.2 利用數據雙向綁定的優勢97
3.3.3 創建書簽表單98
3.3.4 關於作用域的重要注意事項100
3.3.5 端到端的自動化測試102
3.3.6 我們在第2天學到的104
3.4 第3天:創建過濾器和路由105
3.4.1 為書簽添加標簽106
3.4.2 構建一個標簽列表107
3.4.3 通過過濾器操作數據108
3.4.4 定義路由112
3.4.5 我們在第3天學到的114
3.4.6 對AngularJS創建者Mi?ko Hevery的采訪115
3.5 總結116
3.5.1 AngularJS的強項116
3.5.2 AngularJS的弱項117
3.5.3 最后的思考117

第4章 Ring118
4.1 Ring簡介118
4.2 第1天:基礎組件120
4.2.1 起步121
4.2.2 Hello,World!121
4.2.3 用Korma處理數據124
4.2.4 用Hiccup把數據轉化為HTML130
4.2.5 使用Compojure處理路由133
4.2.6 我們在第1天學到的136
4.3 第2天:拼接的模式137
4.3.1 定義API137
4.3.2 處理JSON138
4.3.3 驗證輸入140
4.3.4 可組合的路由143
4.3.5 我們在第2天學到的146
4.4 第3天:構建應用的其他方法147
4.4.1 Ring中間件147
4.4.2 Enlive149
4.4.3 關於測試153
4.4.4 我們在第3天學到的154
4.4.5 對James Reeves的采訪155
4.5 總結156
4.5.1 Ring的強項156
4.5.2 Ring的弱項157
4.5.3 最后的思考158

第5章 Webmachine159
5.1 Webmachine簡介159
5.2 第1天:HTTP請求狀態機161
5.2.1 起步162
5.2.2 Hello,World162
5.2.3 和資源函數一起工作165
5.2.4 資源函數166
5.2.5 請求轉發168
5.2.6 參數化轉發170
5.2.7 我們在第1天學到的171
5.3 第2天:構建應用172
5.3.1 短鏈接172
5.3.2 使用Mustache模板引擎179
5.3.3 Petite里的模板182
5.3.4 處理多種內容類型184
5.3.5 我們在第2天學到的186
5.4 第3天:照亮HTTP的陰暗面186
5.4.1 讓資源可緩存187
5.4.2 授權193
5.4.3 我們在第3天學到的196
5.4.4 對Justin Sheehy的采訪197
5.5 總結198
5.5.1 Webmachine的強項198
5.5.2 Webmachine的弱項199
5.5.3 最后的思考199

第6章 Yesod200
6.1 Yesod簡介201
6.1.1 組成部分201
6.1.2 計划201
6.2 第1天:你不能搞錯的數據202
6.2.1 新手入門202
6.2.2 Hello,World203
6.2.3 使用DSL描述數據205
6.2.4 使用模型207
6.2.5 改變和刪除模型210
6.2.6 我們在第1天學到的211
6.3 第2天:視圖、表單和認證212
6.3.1 Ye Olde的模板語言213
6.3.2 功能性表單216
6.3.3 認證和授權219
6.3.4 我們在第2天學到的223
6.4 第3天:繼續Rumble224
6.4.1 創建頭版225
6.4.2 創建一個發布新聞表單228
6.4.3 查看新聞與提交評論230
6.4.4 我們在第3天學到的233
6.4.5 對Michael Snoyman的采訪234
6.5 總結237
6.5.1 Yesod的強項237
6.5.2 Yesod的弱項238
6.5.3 最后的思考238

第7章 Immutant 239
7.1 Immutant簡介239
7.1.1 Immutant的特性240
7.1.2 計划240
7.2 第1天:不僅僅是網絡
基礎241
7.2.1 開始241
7.2.2 你好,世界242
7.2.3 分布式緩存244
7.2.4 計划任務249
7.2.5 我們在第1天學到的250
7.3 第2天:構建數據管道251
7.3.1 消息隊列251
7.3.2 管道255
7.3.3 Overwatch的管道257
7.3.4 我們在第2天學到的262
7.4 第3天:多語言應用263
7.4.1 疊加263
7.4.2 集群268
7.4.3 我們在第3天學到的272
7.4.4 對Jim Crossley的采訪273
7.5 總結275
7.5.1 Immutant的強項275
7.5.2 Immutant的弱項275
7.5.3 最后的思考276

第8章 結束277
8.1 關鍵想法277
8.1.1 簡單性278
8.1.2 代碼運行在何處278
8.1.3 組合279
8.1.4 聲明式優先於指令式279
8.1.5 動態類型和靜態類型280
8.1.6 狀態機280
8.1.7 交互性281
8.2 快樂的探索吧281
網路書店 類別 折扣 價格
  1. 新書
    87
    $308