《JavaScript編程實戰》javascript
基本信息css
原書名:JavaScript programming: pushing the limitshtml
做者: (美)Jon Raasch 前端
譯者: 吳海星html5
叢書名: 圖靈程序設計叢書java
出版社:人民郵電出版社node
ISBN:9787115345486jquery
上架時間:2014-3-5linux
出版日期:2014 年3月web
開本:16開
頁碼:1
版次:1-1
所屬分類:計算機 > 軟件與程序設計 > 網絡編程 > javascript
編輯推薦
遵循最佳實踐,從頭構建實際應用。
深刻解析不可多得的JavaScript高級主題。
爲你構建21世紀的殺手級應用貢獻一臂之力
廣:涵蓋內容普遍,包括如何構建backbone應用、JavaScript模板的重要性、Node.js和MongoDB、使用WebGL/Three.js庫渲染3D圖形,以及如何將桌面應用轉換爲專門的移動端應用,等等。
深:對一些JavaScript相關的高級主題進行深刻解析,這些主題是你在其餘JS開發的書中一般難以找到的。
全:除了詳細講解的內容,每章最後還提供了豐富的補充資源,以供讀者學習參考。
內容簡介
書籍
計算機書籍
《javascript編程實戰》深刻探討了如何基於javascript 技術從頭開始建立真實的應用,共分爲四個部分。第一部分介紹了最佳實踐以及庫、框架與插件,爲構建應用奠基堅實的基礎。第二部分討論了前端的構建,包括backbone.js、javascript 模板,以及表單處理和校驗的相關內容。第三部分涉及如何用node.js 編寫服務器端javascript。最後一部分挑戰程序的功能極限,介紹瞭如何構建實時應用程序、調整移動領域的web 程序、javascript 圖形處理技術等內容。
《javascript編程實戰》適合全部熟悉javascript 並但願提高相關技術水平的開發人員和設計人員學習參考。
目錄
《javascript編程實戰》
第一部分 堅實的基礎
第1章 最佳實踐 2
1.1 鬆耦合 2
1.1.1 緊耦合的問題 2
1.1.2 鬆耦合的優點 3
1.2 javascript mvc和模板 3
1.2.1 mvc 3
1.2.2 模板 5
1.3 開發工具 6
1.3.1 webkit開發人員工具 6
1.3.2 weinre 10
1.3.3 版本控制 12
1.3.4 css預處理 12
1.4 測試 12
1.4.1 使用grunt 13
1.4.2 使用qunit 17
1.5 小結 20
1.6 補充資源 21
第2章 庫、框架與插件 22
2.1 選擇恰當的javascript庫 22
2.1.1 jquery 22
2.1.2 zepto 24
2.1.3 普通的dom 25
2.2 使用框架 27
2.2.1 bootstrap 27
2.2.2 jquery ui 28
2.2.3 移動框架 28
2.3 其餘腳本 28
2.3.1 modernizr 28
2.3.2 html5 shiv 29
2.4 html5樣板 29
2.5 尋找jquery插件 30
2.5.1 去哪裏(以及不要去哪裏)找 30
2.5.2 要找什麼——一個十項檢查列表 30
2.6 小結 32
2.7 補充資源 32
第二部分 構建前端
第3章 backbone.js 36
3.1 初識backbone 36
3.1.1 backbone是什麼 36
3.1.2 爲何要用backbone 36
3.1.3 backbone基礎 37
3.1.4 何時用backbone 37
3.1.5 設置backbone 38
3.2 backbone中的模型 38
3.2.1 建立一個模型 39
3.2.2 建立計算屬性 39
3.2.3 設置默認值 39
3.2.4 使用初始化函數 40
3.2.5 使用backbone事件 40
3.2.6 模型的校驗 41
3.3 使用backbone中的集合 42
3.3.1 建立集合 42
3.3.2 建立集合事件 43
3.4 理解backbone視圖 43
3.4.1 建立視圖 44
3.4.2 使用渲染函數 44
3.4.3 使用backbone中的視圖元素 46
3.4.4 使用嵌套視圖 49
3.5 數據的保存及獲取 55
3.5.1 與服務器上的模型同步 55
3.5.2 在backbone中使用localstorage api 58
3.5.3 把集合保存在服務器上 59
3.5.4 使用backbone.sync 65
3.6 使用路由控制器 66
3.6.1 路由如何使用 66
3.6.2 設置路由控制器 67
3.6.3 pushstate與hashchange 69
3.7 再談事件 70
3.7.1 事件解綁定 71
3.7.2 手動觸發事件 71
3.7.3 綁定「this」 71
3.7.4 all事件 72
3.8 操做集合 73
3.8.1 取出集合中的條目 73
3.8.2 集合排序 74
3.9 小結 76
3.10 補充資源 77
第4章 使用javascript模板 78
4.1 認識模板 78
4.1.1 爲何使用模板 78
4.1.2 瞭解不一樣的模板庫 79
4.1.3 作出正確的選擇 80
4.2 使用underscore模板 81
4.2.1 underscore模板基礎知識 81
4.2.2 重溫模板的最佳實踐 83
4.2.3 在模板中使用javascript 85
4.3 在backbone中使用模板 88
4.3.1 不用模板設置模型和視圖 88
4.3.2 用模板渲染視圖 89
4.4 小結 92
4.5 補充資源 92
第5章 建立表單 93
5.1 理解漸進式加強 93
5.1.1 漸進式加強方式 93
5.1.2 爲何要漸進式加強 94
5.1.3 決定支持哪一個環境 94
5.2 讓html5替你工做 95
5.2.1 html5的輸入控件類型 95
5.2.2 交互特性 102
5.3 給老瀏覽器用polyfill 104
5.3.1 尋找第三方polyfill 105
5.3.2 編寫本身的polyfill 105
5.4 鏈接rest api 112
5.4.1 提交表單 113
5.4.2 構建通用函數 114
5.5 backbone中的表單 115
5.5.1 設置表單模型 115
5.5.2 設置表單視圖 116
5.5.3 將表單域保存到模型中 117
5.5.4 添加校驗 118
5.5.5 清理模板 123
5.5.6 必填項 124
5.5.7 提交表單 126
5.5.8 合併代碼 128
5.6 小結 132
5.7 補充資源 132
第三部分 編寫服務器端javascript
第6章 node.js簡介 136
6.1 爲何是node 136
6.1.1 在實時程序中使用node 136
6.1.2 node的工做機制 137
6.2 安裝node 138
6.2.1 在mac/linux上安裝 138
6.2.2 在windows上安裝 139
6.2.3 檢查安裝狀況 140
6.3 node入門 140
6.3.1 建立服務器 140
6.3.2 添加內容 141
6.3.3 打包 141
6.3.4 運行腳本 142
6.3.5 簡化腳本 143
6.3.6 使用node repl 143
6.4 node模塊 145
6.4.1 引入模塊 145
6.4.2 外部模塊和npm 146
6.4.3 尋找模塊 147
6.5 node 模式 148
6.5.1 模塊和全局變量 148
6.5.2 異步模式 152
6.5.3 事件 154
6.5.4 子進程 155
6.6 小結 158
6.7 補充資源 158
第7章 express框架 160
7.1 express入門 160
7.1.1 安裝express 160
7.1.2 建立express程序 160
7.2 設置路由 161
7.2.1 已有路由 162
7.2.2 建立新的路由 163
7.2.3 post、put和delete 163
7.3 渲染視圖 164
7.3.1 啓用underscore模板 164
7.3.2 建立視圖 166
7.4 處理表單數據 172
7.4.1 建立post路由 172
7.4.2 將反饋發給模板 173
7.5 發封郵件 178
7.5.1 連到smtp服務器上 178
7.5.2 構建email消息 179
7.5.3 發送郵件 179
7.5.4 在結束以前 180
7.6 小結 182
7.7 補充資源 182
第8章 mongodb 184
8.1 nosql數據庫有什麼好處 184
8.1.1 擴展能力 184
8.1.2 簡單性 184
8.2 mongodb入門 185
8.2.1 安裝mongodb 185
8.2.2 運行mongodb 186
8.2.3 安裝mongodb模塊 187
8.2.4 建立數據庫 187
8.3 mongodb中的crud 188
8.3.1 建立集合 188
8.3.2 讀取數據 190
8.3.3 更新數據 194
8.3.4 刪除數據 196
8.4 mongoose 197
8.4.1 mongoose入門 197
8.4.2 建立模型 198
8.4.3 讀取數據 200
8.5 數據庫上的其餘選擇 204
8.6 小結 204
8.7 補充資源 204
第四部分 挑戰極限
第9章 用websockets構建實時程序 208
9.1 websockets的工做機制 208
9.1.1 輪詢的問題 208
9.1.2 websockets方案 209
9.2 socket.io入門 210
9.2.1 服務器上的socket.io 210
9.2.2 客戶端的socket.io 211
9.3 構建實時的聊天室 212
9.3.1 建立聊天室視圖 212
9.3.2 將消息提交給服務器 214
9.3.3 在服務器端處理消息 215
9.3.4 在客戶端顯示新消息 216
9.3.5 添加backbone.js結構 217
9.3.6 添加用戶 223
9.3.7 添加時間戳 225
9.3.8 保存到mongodb中 227
9.3.9 合併代碼 229
9.4 小結 233
9.5 補充資源 234
第10章 進入移動領域 235
10.1 搭建移動app 235
10.1.1 檢測移動終端 235
10.1.2 設置移動端網站的樣式 237
10.1.3 移動端框架 238
10.2 集成觸屏 238
10.2.1 基本觸摸事件 239
10.2.2 複雜的觸摸手勢 239
10.3 geolocation 248
10.3.1 找到用戶的位置 248
10.3.2 鏈接google地圖 249
10.3.3 追蹤geolocation的變化 251
10.4 電話號碼和短信 251
10.4.1 靜態的電話號碼和sms連接 251
10.4.2 用javascript撥打電話和發送短信 252
10.5 phonegap 252
10.5.1 phonegap的優與劣 253
10.5.2 phonegap入門 254
10.5.3 鏈接相機 254
10.5.4 鏈接通信錄 254
10.5.5 其餘api 255
10.6 小結 255
10.7 補充資源 255
第11章 javascript圖形 257
11.1 畫布基礎 257
11.1.1 畫出基本的形狀 258
11.1.2 讓畫布動起來 260
11.1.3 畫布中的鼠標事件 261
11.2 svg基礎 261
11.2.1 讓svg動起來 262
11.2.2 svg鼠標事件 262
11.2.3 編碼svg 263
11.3 rapha?l.js 263
11.3.1 做畫路徑 264
11.3.2 畫曲線 265
11.3.3 樣式 266
11.3.4 動畫 268
11.3.5 鼠標事件 269
11.4 用grapha?l作圖表 270
11.4.1 餅圖 270
11.4.2 柱狀圖 271
11.4.3 折線圖 273
11.5 帶webgl的3d畫布 276
11.5.1 three.js簡介 276
11.5.2 建立圖像紋理 280
11.5.3 3d動畫 281
11.5.4 添加鼠標事件 282
11.5.5 使用備選的2d畫布 283
11.6 css中的3d變換 284
11.7 小結 286
11.8 補充資源 286
第12章 推出你的程序 288
12.1 性能檢查表 288
12.1.1 重點在哪 288
12.1.2 資源管理 290
12.1.3 動畫優化 291
12.1.4 少作爲妙 295
12.1.5 規避迴流 295
12.2 部署 296
12.2.1 把靜態資源部署在cdn上 296
12.2.2 把node服務部署在ec2上 297
12.3 推出 297
12.4 補充資源 297
附錄a 用less作css預處理 299
a.1 less簡介 299
a.1.1 預處理的好處 299
a.1.2 安裝less編譯器 300
a.1.3 在服務器上編譯 300
a.2 less的基礎知識 300
a.2.1 變量 300
a.2.2 操做符 301
a.2.3 嵌套 302
a.3 函數和mixin 304
a.3.1 函數 304
a.3.2 mixin 305
a.4 文件結構 306
a.4.1 使用import 306
a.4.2 文件結構示例 306
a.4.3 定製結構 307
a.5 小結 307
a.6 補充資源 307