-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

CoffeeScript應用開發

( 簡體 字)
作者:(美)Ian Young 著類別:1. -> 程式設計 -> 綜合
譯者:
出版社:機械工業出版社CoffeeScript應用開發 3dWoo書號: 38947
詢問書籍請說出此書號!

缺書
NT售價: 245

出版日:7/1/2014
頁數:190
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111468059
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

從事網絡開發工作,你肯定至少聽說過CoffeeScript。盡管這種小型的開發語言誕生還不到5年,但它已經獲得了眾多關注,并越來越難以忽視。也許你已經使用過它,也許你只是想知道它有什么特別的。告訴你一個好消息! CoffeeScript是一種令人愉快的開發語言,可以幫助你寫出更好的代碼,并樂在其中。在本書中,我們將探討語言本身,并找出它如何幫助我們構建漂亮的Web應用。

CoffeeScript是什么

CoffeeScript是一種編程語言。像大部分的編程語言一樣,它提供控制結構用來描述應用邏輯,提供簡單數據類型用來存儲和操作信息,提供函數用來將程序執行封裝成段。

CoffeeScript的特殊之處是它的編譯方式。大多數語言編譯后被翻譯成機器代碼(machine code)—計算機處理器能夠處理的低級別指令,而CoffeeScript在編譯后被翻譯成JavaScript代碼。我們寫好CoffeeScript源代碼,將其提供給CoffeeScript編譯器,得到的輸出是JavaScript代碼。然后,這些輸出代碼可以在任何支持JavaScript的環境中使用,如瀏覽器或獨立的JavaScript解釋器。

這種技術稱為transcompilation,它允許我們在僅支持JavaScript的平臺上使用替代的語言。客戶端Web開發是最突出的例子,因為JavaScript是大部分Web瀏覽器上支持的唯一腳本框架語言。其他平臺,如Node.js和Rhino,雖然也提供了優越的功能,但需要以JavaScript語言作為輸入。JavaScript以豐富的產品支持為特點,而CoffeeScript讓我們通過另一種語言編碼也可以享受JavaScript的便利。

為什么選擇CoffeeScript

CoffeeScript當然不是第一門(也不會是最后一門)針對JavaScript平臺設計開發的語言。許多老牌的語言,如Ruby、Python、C和Java,都有一個或多個項目專注于將自身語言編寫的代碼編譯為JavaScript代碼。另外還有一些已經開發出來的專門針對JavaScript的語言,其中比較突出的有Dart、TypeScript和Coco。

CoffeeScript wiki上有一個龐大的、編譯為JavaScript的其他語言列表。你可以在以下網址獲得此列表:https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS。

盡管CoffeeScript不是唯一可以編譯為JavaScript的語言,但它無疑已經成為其中最成功的。在GitHub上,它排在最流行語言的第十名。默認情況下,它搭載在Ruby on Rails上,在客戶端和服務器端的開發者社區都有大量的追隨者。

是什么使得CoffeeScript如此特別?就像金發姑娘和她偷喝的粥一樣,CoffeeScript的力量源于其恰到好處。它的語法與JavaScript相比有顯著改善,本書大部分內容都將介紹CoffeeScript怎樣幫助我們編寫更簡潔、更易于閱讀而且不容易產生錯誤的代碼。不過,CoffeeScript在功能上沒有太多超越。CoffeeScript中沒有運行時,沒有額外的元數據跟蹤,沒有額外的內存管理,也沒有非標準的數據結構。相反, CoffeeScript直接編譯為平常的JavaScript,就像是一個經驗豐富的JavaScript開發人員所寫的一樣。事實上,與其說CoffeeScript是一種新語言,不如說它是更容易表達的JavaScript最佳實踐的簡寫。

CoffeeScript是一種非常務實的語言,這是它成功的秘密。JavaScript開發人員可以很容易學習它,而且大多數專業知識可以直接使用。CoffeeScript帶來的性能損失不會超過普通的JavaScript,它可以與JavaScript和平共處,所以將CoffeeScript引入現有的JavaScript項目也容易。也許最重要的是,CoffeeScript避免了因為開發者的假設和語言設計者的假設不匹配而經常引起的那些“神奇”的錯誤來源。有了CoffeeScript,很容易知道JavaScript將做什么,將如何做。這也讓CoffeeScript非常有趣。

本書主要內容

第1章 包括安裝CoffeeScript工具,并分別在控制臺和Web瀏覽器中運行一個簡單的CoffeeScript程序。

第2章 將探索CoffeeScript的語法,以及怎樣將它編譯為JavaScript。

第3章 我們將構建一個互動的Web應用程序,并從中學習CoffeeScript的功能。

第4章 為我們的Web應用程序添加更多的功能,并探索更強大的CoffeeScript語法。

第5章 介紹CoffeeScript所有類的知識,包括如何使用它們,它們是如何工作的,以及如何將類集成到流行的JavaScript框架中。

第6章 我們會用從第5章中學到的新技能重構我們的Web應用程序,使用基于類的結構。

第7章 我們將學習CoffeeScript高級功能和減少錯誤的慣用法,從而使我們的代碼更容易理解,我們將用它們來為我們的Web應用程序增加更多的功能。

第8章 講述CoffeeScript怎樣幫助我們處理異步操作,并將第三方JavaScript庫整合到CoffeeScript應用程序中。

第9章 我們將學習如何使用源映射,在所有返回CoffeeScript源的路徑中追蹤應用程序中的問題。

第10章 將涵蓋如何將CoffeeScript的編譯集成到幾種流行的Web應用框架中。

第11章 我們將在Node.js的服務器上運行CoffeeScript,并學習如何將其集成到標準的JavaScript Node模塊中。

閱讀前的準備

閱讀本書你需要準備一個文本編輯器和一個可工作的CoffeeScript編譯器。不用擔心編譯器,我們在第1章中將介紹這個工具的安裝和使用。書中分別提供了Windows、Mac OS X和Linux系統中使用工具的說明。本書中有很多關于客戶端Web應用的內容,如果你有任何喜歡的開發工具也可以沿用。你還需要一個現代的瀏覽器,理想的選擇是最新版本的Firefox或Chrome,但所有其他最新的瀏覽器,如Safari、Opera或最新版的Internet Explorer都可以正常工作。

本書讀者對象

熟悉JavaScript語言將有助于學習相近似的CoffeeScript,有助于了解編譯器的輸出是做什么的;有一些客戶端Web應用程序的開發經驗也非常有用,但不是必需的。我們將大量使用CoffeeScript,再加上一點HTML和CSS,來構建一個Web應用程序。

沒有CoffeeScript經驗也沒關系。我們會照顧到每個人,從新手到已經有些CoffeeScript知識,希望更好地掌握和最好地利用這種語言的人。

勘誤表

雖然我們已盡力確保本書內容的準確性,但錯誤還是難以避免。當你發現本書中的錯誤,也許是正文也許是代碼,如果你能將此情況報告給我們,我們將不勝感激。這樣做,你可以減少其他讀者可能遇到的挫折,并幫助我們改善本書的后續版本。如果你發現任何錯誤,請訪問http://www.packtpub.com/submit-errata,選擇你的書,點擊errata submission form鏈接,輸入勘誤細節。一旦確認了你的勘誤是對的,我們將接受你提交的信息,并上傳到網站,或添加至本書勘誤部分,更新勘誤表。可以在http://www.packtpub.com/support選擇書名查看所有已核實的勘誤。

致謝

感謝Katherine忍受我愚蠢的樣子。

感謝審稿和編輯找到書稿中的錯誤。

書中我最喜歡的部分——照片,來自于

Steve Jurvetson (https://flickr.com/photos/jurvetson/2229899)

Rosalia Wilhelm (https://commons.wikimedia.org/wiki/File:Widderkaninchen.JPG)

如果沒有下面這些開源軟件,本書無法完成:

Jeremy Ashkenas, CoffeeScript (http://coffeescript.org/)

Ryan Dahl, Node (http://nodejs.org/)

Isaac Z. Schlueter, npm (https://github.com/isaacs/npm)

Dustin Diaz, reqwest (https://github.com/ded/reqwest)

Tilde, Inc., RSVP.js (https://github.com/tildeio/rsvp.js)

David Heinemeier Hansson, Rails (http://rubyonrails.org/)

Brunch team, Brunch (http://brunch.io/)

TJ Holowaychuk, Express (http://expressjs.com/)

Andrew Dunkman, connect-assets (https://github.com/adunkman/connect-assets)
內容簡介:

以簡潔、清晰、循序漸進的敘述方式,全面而系統地講解CoffeeScript的基本語法、強大功能和實際應用開發技巧,并通過一個有趣的應用項目實例(構建小型寵物商店網絡應用)的完整開發過程,深入剖析CoffeeScript的強大功能,詳細講解CoffeScript應用開發、重構、調試的方法和技巧,是學習并掌握CoffeeScript語言的最佳實踐指南。

本書共11章,首先用豐富的圖例詳細說明CoffeeScript應用開發和運行環境的安裝步驟,講解CoffeeScript語言的基本語法,包括變量和語句、函數調用、控制結構、運算符、數組和簡單對象知識等;然后通過寵物商店網絡應用開發之旅,引領讀者學習CoffeeScript語言的高級開發技巧,包括空值處理、一次給多個變量賦值、高級函數參數、類的使用、異步調用等;最后,詳細介紹調試工具的使用方法,以及更多可以集成CoffeeScript的開發環境。

如果你是JavaScript開發者,你想節省更多的編碼時間,并給代碼增加更多強大的功能,那么本書可以幫助你。通過本書,你將以最小的代價學會一整套新的語言,幫助你減少應用開發時間。通過閱讀本書,你將學到:
在各種環境下編寫CoffeeScript代碼,并將其編譯成在各處均能運行的JavaScript代碼
探索新的技術,管理復雜的代碼庫和不斷變化的需求
在CoffeeScript整潔、強大的語法中棄用分號
構建循環、if語句和函數,盡可能減少額外的輸入
用類和繼承,保持代碼的整潔和有組織性
使用高級的CoffeeScript習慣用法來解決快速增長的應用需要
用源映射來高效調試
將CoffeeScript與Rails、Brunch及其他Web框架項目無縫集成
在Node.js的服務器端軟件中使用CoffeeScript
目錄:

譯者序

前 言

第1章 運行CoffeeScript程序1

1.1 安裝Node.js1

1.1.1 在OS X上安裝Node.js2

1.1.2 在Windows上安裝Node.js3

1.2 使用安裝程序3

1.2.1 使用獨立的可執行文件4

1.2.2 使用Chocolatey5

1.2.3 在Linux上安裝Node.js5

1.2.4 手動編譯Node.js7

1.2.5 跳過Node安裝步驟8

1.3 測試Node安裝8

1.4 安裝CoffeeScript9

1.5 第一段CoffeeScript代碼10

1.6 編譯CoffeeScript文件10

1.7 支持CoffeeScript的編輯器11

1.7.1 TextMate支持11

1.7.2 Sublime Text 2支持11

1.7.3 Vim支持12

1.7.4 Emacs支持12

1.8 開始開發Web應用程序12

1.9 小結14

第2章 編寫第一個CoffeeScript程序15

2.1 跟著示例做15

2.2 CoffeeScript基礎16

2.2.1 語句16

2.2.2 變量17

2.2.3 注釋17

2.3 函數調用18

2.4 控制結構20

2.4.1 if語句20

2.4.2 else和else if語句22

2.4.3 unless語句22

2.4.4 單行形式23

2.5 比較運算符23

2.6 數組25

2.6.1 數列26

2.6.2 循環27

2.6.3 判斷數組成員30

2.7 簡單對象31

2.8 小結33

第3章 構建簡單的應用程序34

3.1 構建應用程序34

3.2 字符串插值38

3.3 定義函數40

3.3.1 函數命名41

3.3.2 函數返回41

3.4 在應用程序中增加動態特性44

3.5 Switch語句48

3.6 小結51

第4章 改進應用程序52

4.1 檢查值是否存在52

4.1.1 使用存在運算符53

4.1.2 空值在鏈式調用中54

4.1.3 以空值為條件,賦新值55

4.1.4 在寵物應用程序中處理空值56

4.2 一次給多個變量賦值59

4.3 高級函數參數62

4.3.1 默認參數值63

4.3.2 接受可變數目參數的splat67

4.4 小結72

第5章 CoffeeScript的類73

5.1 在CoffeeScript中定義類73

5.1.1 給類綁定方法74

5.1.2 CoffeeScript如何構建JavaScript的類75

5.1.3 保持對象屬性狀態76

5.1.4 在對象中調用其他方法76

5.1.5 在類定義的外面綁定方法77

5.2 構造函數78

5.3 類的靜態方法調用80

5.4 繼承82

5.5 在CoffeeScript中使用其他類庫85

5.5.1 CoffeeScript的Backbone類86

5.5.2 CoffeeScript的Ember類87

5.6 小結88

第6章 用類重構89

6.1 重構周期89

6.2 用類結構化數據90

6.2.1 添加業務邏輯91

6.2.2 更多數據建模92

6.2.3 更多業務邏輯93

6.3 用類管理顯示邏輯94

6.3.1 顯示一個集合96

6.3.2 頂層的顯示邏輯98

6.4 最后的重構99

6.5 使用繼承重構102

6.6 獲得綠燈104

6.7 小結104

第7章 CoffeeScript高級用法105

7.1 正確的上下文105

7.2 用memoization節省工作108

7.3 新的習慣用法:選項對象111

7.4 小結115

第8章 異步操作117

8.1 理解異步操作117

8.2 了解遠程API119

8.3 發出異步請求120

8.4 使用第三方庫122

8.5 多個異步調用124

8.5.1 循環請求125

8.5.2 確定何時結束127

8.6 管理異步調用的替代方案128

8.6.1 承諾128

8.6.2 異步輔助庫131

8.6.3 IcedCoffeeScript133

8.7 小結136

第9章 調試137

9.1 發現問題137

9.2 源映射138

9.2.1 Firefox的源映射開發工具139

9.2.2 Chrome的源映射開發工具144

9.3 解決問題150

9.4 小結151

第10章 在更多地方使用CoffeeScript153

10.1 直接在瀏覽器運行CoffeeScript153

10.2 CoffeeScript在瀏覽器控制臺154

10.2.1 Firefox的CoffeeScript控制臺155

10.2.2 Chrome的CoffeeScript控制臺157

10.3 在Rails中使用CoffeeScript159

10.3.1 設置資產管道159

10.3.2 配置應用程序162

10.3.3 添加CoffeeScript163

10.3.4 預編譯資產165

10.4 在Brunch中使用CoffeeScript166

10.4.1 創建Brunch項目166

10.4.2 完善應用程序167

10.4.3 預編譯資產170

10.5 在Node.js環境下使用CoffeeScript170

10.5.1 創建項目171

10.5.2 保持服務器最新172

10.5.3 添加CoffeeScript編譯173

10.5.4 完成應用程序173

10.5.5 整理腳本依賴關系175

10.6 小結176

第11章 在服務器中使用CoffeeScript177

11.1 用CoffeeScript運行服務器177

11.2 增加數據端180

11.3 使用數據庫182

11.4 使用Cakefile184

11.4.1 寫一個Cake任務185

11.4.2 更多Cake任務186

11.5 構建交互式應用程序186

11.6  小結190
序: