遵循實踐,從頭構建實際應用。
深入解析不可多得的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編程實戰》這本書,我拿到手的時候,就被它厚實的體積和沉甸甸的分量驚艷到瞭。翻開目錄,撲麵而來的都是那些我一直以來或多或少有所耳聞,但總覺得係統學習起來會很枯燥的知識點。比如,什麼作用域鏈、閉包、原型鏈這些概念,聽起來就頭大。我一直都是那種“夠用就好”的學習模式,對於那些深層次的原理,總覺得離我的實際開發需求有點遠,但內心裏又隱隱知道,如果想真正地提升自己,繞不開這些。這本書給我的感覺是,它並沒有直接把你丟進那些晦澀難懂的理論海洋,而是通過一係列精心設計的“實戰”案例,讓你在解決問題的過程中,不知不覺地去理解那些核心概念。我記得其中有一個章節,講的是如何優化前端性能,通過一些實際的代碼片段,展示瞭如何利用懶加載、代碼分割等技術來提升頁麵的加載速度。當時我就是跟著書上的例子一步步操作的,雖然過程中遇到瞭一些小問題,但最終看到效果的時候,那種成就感是無法言喻的。這本書的優點在於,它能夠把那些看似抽象的原理,轉化為看得見摸得著的實踐,讓你在動手實踐中,建立起對JavaScript更深層次的理解。
評分說實話,我一開始對這本書的期待並不算太高,畢竟市麵上的JavaScript書籍實在太多瞭,很多都是泛泛而談,或者隻是一些零散知識點的堆砌。但《JavaScript編程實戰》給我帶來的驚喜,遠超我的預期。它不像一些教材那樣,上來就給你灌輸一大堆概念,而是非常注重“學以緻用”。我特彆喜歡它在講解一些高級特性時,會先給齣一些實際的應用場景,然後逐步深入地解釋背後的原理。例如,在講到異步編程時,它沒有直接去解釋Promise的細節,而是先拋齣瞭一個常見的網絡請求場景,比如需要同時發起多個請求,並且在所有請求完成後再進行下一步操作。然後,它會一步步地引導讀者思考,在沒有Promise之前,我們可能需要依賴迴調函數,但迴調函數容易陷入“迴調地獄”,這時,Promise就應運而生,它提供瞭一種更優雅的方式來處理異步操作。這種循序漸進、由淺入深的學習方式,讓我感覺非常受用,也更容易將學到的知識融會貫通。
評分我是在一個偶然的機會下接觸到《JavaScript編程實戰》這本書的,當時我正在尋找一本能夠幫助我提升JavaScript編程技能的書籍。這本書給我最深的印象就是它的“接地氣”。它沒有使用過於深奧的語言,而是用一種通俗易懂的方式,將復雜的JavaScript概念一一呈現。我尤其喜歡它在講解異步編程時,並沒有直接上來就介紹Promise、async/await,而是先通過一些實際的例子,比如模擬網絡請求,讓讀者體會到異步操作帶來的挑戰,然後再逐步引齣解決方案。這種方式讓我感覺,書中的知識點都是為瞭解決實際問題而存在的,而不是為瞭理論而理論。而且,這本書的排版也很舒服,代碼塊清晰,注釋也很到位,閱讀起來不會有太大壓力。我感覺,這本書非常適閤那些有一定JavaScript基礎,想要進一步提升自己,或者想係統學習JavaScript高級特性的讀者。
評分剛開始接觸《JavaScript編程實戰》這本書時,我抱著一種“試試看”的心態,畢竟市麵上的JavaScript書籍五花八門,質量參差不齊。然而,這本書很快就讓我颳目相看。它最吸引我的地方在於,它並沒有將JavaScript的學習過程變成一場枯燥的理論考試,而是將它融入到瞭一係列引人入勝的“編程實戰”中。我特彆喜歡它在講解麵嚮對象編程時,不僅僅是停留在類和對象的概念上,而是通過構建一個簡單的遊戲引擎來演示如何運用這些概念。這種“玩中學”的方式,讓我覺得學習過程充滿瞭樂趣。而且,書中還提供瞭一些非常實用的技巧,比如如何進行代碼調試,如何優化代碼性能等等,這些都是在實際開發中非常重要的技能。我感覺,這本書就像一個經驗豐富的導師,循序漸進地引導我,讓我能夠更自信地應對各種JavaScript編程挑戰。
評分我一直以來都覺得,要真正掌握一門編程語言,光看書是不夠的,關鍵在於實踐。而《JavaScript編程實戰》這本書,恰恰就能滿足我這種“動手派”的學習需求。它不是那種隻會告訴你“怎麼做”,而是會告訴你“為什麼這樣做”。書中的很多章節,都圍繞著一些實際的開發場景展開,比如如何構建一個響應式的導航欄,如何實現一個簡單的圖片輪播效果,甚至是更復雜的,如何與後端API進行交互,處理數據,等等。我個人比較喜歡它在講解復雜概念時,會提供詳細的代碼示例,並且對每一行代碼都做瞭清晰的注釋。這對於我這種喜歡刨根 জিজ্ঞাসা(探究)的人來說,簡直是福音。我常常會在書上敲完代碼,然後自己嘗試去修改一些參數,看看會發生什麼變化,這種探索的過程,讓我對JavaScript的理解更加深入。而且,它還鼓勵讀者去思考,在實際項目中,有哪些可以改進的地方,或者說,有哪些替代的解決方案。
評分這本書不錯。。。。這本書不錯。。。。
評分好書,比較適閤入門!很喜歡
評分廣:涵蓋內容廣泛,包括如何構建backbone應用、JavaScript模闆的重要性、Node.js和MongoDB、使用WebGL/Three.js庫渲染3D圖形,以及如何將桌麵應用轉換為專門的移動端應用,等等。
評分總體上難度適中,可讀性不錯,不適閤閤入門的
評分慢慢學習!!!!!!!!!!!!
評分內容不錯,對於學習很有幫助。
評分並給齣兩種解法
評分沒有太多的新意 創新啊創新
評分很實用的書!!!!!!!!!
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有