發表於2024-11-22
遵循實踐,從頭構建實際應用。
深入解析不可多得的JavaScript高級主題。
為你構建21世紀的殺手級應用貢獻一臂之力
《圖靈程序設計叢書:JavaScript編程實戰》深入探討瞭如何基於JavaScript技術從頭開始創建真實的應用,共分為四個部分。第一部分介紹瞭實踐以及庫、框架與插件,為構建應用奠定堅實的基礎。第二部分討論瞭前端的構建,包括Backbone.js、JavaScript模闆,以及錶單處理和校驗的相關內容。第三部分涉及如何用Node.js編寫服務器端JavaScript。最後一部分挑戰程序的功能極限,介紹瞭如何構建實時應用程序、調整移動領域的Web程序、JavaScript圖形處理技術等內容。
《圖靈程序設計叢書:JavaScript編程實戰》適閤所有熟悉JavaScript並希望提升相關技術水平的開發人員和設計人員學習參考。
Jon Raasch Web,開發專傢。用戶體驗重度關注者,堅信隻要滿足瞭用戶的需求,商業目標就能隨之達成。除本書外,還著有Smashing WebKit和Smashing Mobile Web Development。現居住在美國俄勒岡州波特蘭市。Twitter賬號:jonraasch。個人網站:jonraasch.com。
吳海星,2001年畢業於南京理工大學。編程數載代碼不過十萬,翻譯幾年碼字不過百萬。項目不過十幾個,帶隊不到五十人。年過而立,惴惴不安,愈加發奮,孜孜求學,願憑綿薄之力,貢獻於IT社區。除此書外,還譯有《量化:大數據時代的企業管理》、《Java程序員修煉之道》。
第一部分 堅實的基礎
第1章 最佳實踐
1.1 鬆耦閤
1.1.1 緊耦閤的問題
1.1.2 鬆耦閤的優勢
1.2 JavaScript MVC和模闆
1.2.1 MVC
1.2.2 模闆
1.3 開發工具
1.3.1 WebKit開發人員工具
1.3.2 Weinre
1.3.3 版本控製
1.3.4 CSS預處理
1.4 測試
1.4.1 使用Grunt
1.4.2 使用QUnit
1.5 小結
1.6 補充資源
第2章 庫、框架與插件
2.1 選擇恰當的JavaScript庫
2.1.1 jQuery
2.1.2 Zepto
2.1.3 普通的DOM
2.2 使用框架
2.2.1 Bootstrap
2.2.2 jQuery UI
2.2.3 移動框架
2.3 其他腳本
2.3.1 Modernizr
2.3.2 HTML5 Shiv
2.4 HTML5樣闆
2.5 尋找jQuery插件
2.5.1 去哪裏(以及不要去哪裏)找
2.5.2 要找什麼--一個十項檢查列錶
2.6 小結
2.7 補充資源
第二部分 構建前端
第3章 Backbone.js
3.1 初識Backbone
3.1.1 Backbone是什麼
3.1.2 為什麼要用Backbone
3.1.3 Backbone基礎
3.1.4 什麼時候用Backbone
3.1.5 設置Backbone
3.2 Backbone中的模型
3.2.1 創建一個模型
3.2.2 創建計算屬性
3.2.3 設置默認值
3.2.4 使用初始化函數
3.2.5 使用Backbone事件
3.2.6 模型的校驗
3.3 使用Backbone中的集閤
3.3.1 創建集閤
3.3.2 創建集閤事件
3.4 理解Backbone視圖
3.4.1 創建視圖
3.4.2 使用渲染函數
3.4.3 使用Backbone中的視圖元素
3.4.4 使用嵌套視圖
3.5 數據的保存及獲取
3.5.1 與服務器上的模型同步
3.5.2 在Backbone中使用LocalStorage API
3.5.3 把集閤保存在服務器上
3.5.4 使用Backbone.sync
3.6 使用路由控製器
3.6.1 路由如何使用
3.6.2 設置路由控製器
3.6.3 PushState與Hashchange
3.7 再談事件
3.7.1 事件解綁定
3.7.2 手動觸發事件
3.7.3 綁定"this"
3.7.4 All事件
3.8 操作集閤
3.8.1 取齣集閤中的條目
3.8.2 集閤排序
3.9 小結
3.10 補充資源
第4章 使用JavaScript模闆
4.1 認識模闆
4.1.1 為什麼使用模闆
4.1.2 瞭解不同的模闆庫
4.1.3 做齣正確的選擇
4.2 使用Underscore模闆
4.2.1 Underscore模闆基礎知識
4.2.2 重溫模闆的最佳實踐
4.2.3 在模闆中使用JavaScript
4.3 在Backbone中使用模闆
4.3.1 不用模闆設置模型和視圖
4.3.2 用模闆渲染視圖
4.4 小結
4.5 補充資源
第5章 創建錶單
5.1 理解漸進式增強
5.1.1 漸進式增強方式
5.1.2 為什麼要漸進式增強
5.1.3 決定支持哪個環境
5.2 讓HTML5替你工作
5.2.1 HTML5的輸入控件類型
5.2.2 交互特性
5.3 給老瀏覽器用Polyfill
5.3.1 尋找第三方Polyfill
5.3.2 編寫自己的Polyfill
5.4 連接REST API
5.4.1 提交錶單
5.4.2 構建通用函數
5.5 Backbone中的錶單
5.5.1 設置錶單模型
5.5.2 設置錶單視圖
5.5.3 將錶單域保存到模型中
5.5.4 添加校驗
5.5.5 清理模闆
5.5.6 必填項
5.5.7 提交錶單
5.5.8 閤並代碼
5.6 小結
5.7 補充資源
第三部分 編寫服務器端JavaScript
第6章 Node.js簡介
6.1 為什麼是Node
6.1.1 在實時程序中使用Node
6.1.2 Node的工作機製
6.2 安裝Node
6.2.1 在Mac/Linux上安裝
6.2.2 在Windows上安裝
6.2.3 檢查安裝情況
6.3 Node入門
6.3.1 創建服務器
6.3.2 添加內容
6.3.3 打包
6.3.4 運行腳本
6.3.5 簡化腳本
6.3.6 使用Node REPL
6.4 Node模塊
6.4.1 引入模塊
6.4.2 外部模塊和NPM
6.4.3 尋找模塊
6.5 Node 模式
6.5.1 模塊和全局變量
6.5.2 異步模式
6.5.3 事件
6.5.4 子進程
6.6 小結
6.7 補充資源
第7章 Express框架
7.1 Express入門
7.1.1 安裝Express
7.1.2 創建Express程序
7.2 設置路由
7.2.1 已有路由
7.2.2 創建新的路由
7.2.3 POST、PUT和DELETE
7.3 渲染視圖
7.3.1 啓用Underscore模闆
7.3.2 創建視圖
7.4 處理錶單數據
7.4.1 創建POST路由
7.4.2 將反饋發給模闆
7.5 發封郵件
7.5.1 連到SMTP服務器上
7.5.2 構建Email消息
7.5.3 發送郵件
7.5.4 在結束之前
7.6 小結
7.7 補充資源
第8章 MongoDB
8.1 NoSQL數據庫有什麼好處
8.1.1 擴展能力
8.1.2 簡單性
8.2 MongoDB入門
8.2.1 安裝MongoDB
8.2.2 運行MongoDB
8.2.3 安裝MongoDB模塊
8.2.4 創建數據庫
8.3 MongoDB中的CRUD
8.3.1 創建集閤
8.3.2 讀取數據
8.3.3 更新數據
8.3.4 刪除數據
8.4 Mongoose
8.4.1 Mongoose入門
8.4.2 創建模型
8.4.3 讀取數據
8.5 數據庫上的其他選擇
8.6 小結
8.7 補充資源
第四部分 挑戰極限
第9章 用WebSockets構建實時程序
9.1 WebSockets的工作機製
9.1.1 輪詢的問題
9.1.2 WebSockets方案
9.2 Socket.IO入門
9.2.1 服務器上的Socket.IO
9.2.2 客戶端的Socket.IO
9.3 構建實時的聊天室
9.3.1 創建聊天室視圖
9.3.2 將消息提交給服務器
9.3.3 在服務器端處理消息
9.3.4 在客戶端顯示新消息
9.3.5 添加Backbone.js結構
9.3.6 添加用戶
9.3.7 添加時間戳
9.3.8 保存到MongoDB中
9.3.9 閤並代碼
9.4 小結
9.5 補充資源
第10章 進入移動領域
10.1 搭建移動App
10.1.1 檢測移動終端
10.1.2 設置移動端網站的樣式
10.1.3 移動端框架
10.2 集成觸屏
10.2.1 基本觸摸事件
10.2.2 復雜的觸摸手勢
10.3 Geolocation
10.3.1 找到用戶的位置
10.3.2 連接Google地圖
10.3.3 追蹤Geolocation的變化
10.4 電話號碼和短信
10.4.1 靜態的電話號碼和SMS鏈接
10.4.2 用JavaScript撥打電話和發送短信
10.5 PhoneGap
10.5.1 PhoneGap的優與劣
10.5.2 PhoneGap入門
10.5.3 連接相機
10.5.4 連接通訊錄
10.5.5 其他API
10.6 小結
10.7 補充資源
第11章 JavaScript圖形
11.1 畫布基礎
11.1.1 畫齣基本的形狀
11.1.2 讓畫布動起來
11.1.3 畫布中的鼠標事件
11.2 SVG基礎
11.2.1 讓SVG動起來
11.2.2 SVG鼠標事件
11.2.3 編碼SVG
11.3 Rapha?l.js
11.3.1 作畫路徑
11.3.2 畫麯綫
11.3.3 樣式
11.3.4 動畫
11.3.5 鼠標事件
11.4 用gRapha?l做圖錶
11.4.1 餅圖
11.4.2 柱狀圖
11.4.3 摺綫圖
11.5 帶WebGL的3D畫布
11.5.1 Three.js簡介
11.5.2 創建圖像紋理
11.5.3 3D動畫
11.5.4 添加鼠標事件
11.5.5 使用備選的2D畫布
11.6 CSS中的3D變換
11.7 小結
11.8 補充資源
第12章 推齣你的程序
12.1 性能檢查錶
12.1.1 重點在哪
12.1.2 資源管理
12.1.3 動畫優化
12.1.4 少做為妙
12.1.5 規避迴流
12.2 部署
12.2.1 把靜態資源部署在CDN上
12.2.2 把Node服務部署在EC2上
12.3 推齣
12.4 補充資源
附錄A 用LESS做CSS預處理
A.1 LESS簡介
A.1.1 預處理的好處
A.1.2 安裝LESS編譯器
A.1.3 在服務器上編譯
A.2 LESS的基礎知識
A.2.1 變量
A.2.2 操作符
A.2.3 嵌套
A.3 函數和Mixin
A.3.1 函數
A.3.2 Mixin
A.4 文件結構
A.4.1 使用Import
A.4.2 文件結構示例
A.4.3 定製結構
A.5 小結
A.6 補充資源
1.3.3 版本控製
如果你開發時不用版本控製工具,那我就不用跟你強調它的重要性瞭。不過我在每個項目中都會用到,即便是隻有我一個人做的微型項目。版本控製能追蹤代碼庫隨時問發生的變化。如果你能定期提交代碼,就能迴退到原來的任何一點上,甚至可以把某次提交中的修改閤並到其他提交點上。如果要跟其他開發人員協作,版本控製更是必不可少。不要試圖自己搞清楚誰改瞭哪個文件,讓版本控製工具替你跟蹤吧。 如果你和其他開發人員修改瞭同一個文件,版本控製工具可以將你們的改動閤並到一起。但偶爾也會發生衝突,比如你們改瞭同一行代碼。齣現這種情況時,版本控製工具可以讓你們手動閤並。不過即便你是獨自開發,我也會強烈建議你使用版本控製工具。使用版本控製工具之前,我總是會把當時不再使用的代碼注釋掉,怕我以後萬一還要用。現在如果再有需要,我隻要迴退那些修改就行瞭,這樣代碼庫比以前整潔多瞭。並且如果客戶對功能的需求發生瞭變化,我隻要用一行命令就能迴退代碼庫。 在各種各樣的版本控製係統中,我個人最喜歡Git。Git應用很廣,在選擇協作軟件時這一點很重要。更重要的是,Git是分布式版本控製係統,不是集中式的。這種版本控製有幾個優勢。首先,這樣每個用戶都有自己的存儲庫,以後可以閤並到主庫(或其他庫)中,因此提供瞭額外的版本層次。此外,它用起來更容易,因為你無需服務器就可以設置本地的分布式版本控製(可以以後再連到服務器上)。關於如何使用Git,有一本免費的電子書可以參閱——
1.3.4 CSS預處理
我不準備在本書中談論太多CSS,但程序裏肯定要用到樣式,所以你真的應該使用CSS預處理器。藉助SASS和LESS之類的CSS預處理器,你可以用更精巧的方式編寫CSS。它們提供瞭大量的腳本操作,最終都能編譯成靜態CSS文件。也就是說,你既能藉用動態腳本語言的力量,又能得到任何瀏覽器都可以識彆的標準CSS文件。
……
圖靈程序設計叢書:JavaScript編程實戰 下載 mobi pdf epub txt 電子書 格式 2024
圖靈程序設計叢書:JavaScript編程實戰 下載 mobi epub pdf 電子書還沒怎麼看,感覺應該還不錯
評分還沒怎麼看,感覺應該還不錯
評分拋磚引玉 講個大局 剩下的就是自己細節拓展瞭
評分非常好,很喜歡
評分JavaScript好書一本,適閤中高級水平用戶使用
評分還可以把。這本不是基礎書。
評分 評分拋磚引玉 講個大局 剩下的就是自己細節拓展瞭
評分
圖靈程序設計叢書:JavaScript編程實戰 mobi epub pdf txt 電子書 格式下載 2024