輕松學編程:雲端應用與游戲開發 Begin to Code: Building Apps and Games in the Cloud

[英]羅伯·邁爾斯(Rob Miles)著 周子衿 譯

  • 輕松學編程:雲端應用與游戲開發-preview-1
  • 輕松學編程:雲端應用與游戲開發-preview-2
  • 輕松學編程:雲端應用與游戲開發-preview-3
輕松學編程:雲端應用與游戲開發-preview-1

商品描述

"《輕松學編程:雲端應用與游戲開發》依據認知心理學相關理論,專門針對初學者設計了結構和內容,幫助初學者運用JavaScript在雲端開發小程序和游戲,全書分為三個部分,分別介紹了雲、如何創建基於雲的小程序以及如何利用雲技術來進行應用和游戲開發。書中通過視頻的方式來輔助讀者學習,對提高學習效率很有幫助。 《輕松學編程:雲端應用與游戲開發》適合打算成為高效率雲開發人員的讀者,能幫助他們在雲端開發雲原生小程序和游戲。"

目錄大綱

詳 細 目 錄

第Ⅰ部分 雲計算

第1章 代碼與雲 2

1.1 什麽是雲 4

1.1.1 萬維網 4

1.1.2 將網頁放到雲端 5

1.2 為什麽要選用JavaScript 7

1.2.1 JavaScript英雄:函數 8

1.2.2 JavaScript函數對象 9

1.2.3 揭開 JavaScript 的神秘面紗 10

1.2.4 對JavaScript函數對象的引用 17

1.2.5 函數表達式 18

1.2.6 被用作函數參數的函數引用 18

1.2.7 從函數調用返回值 22

1.2.8 從函數調用返回多個值 24

1.3 製作一個控制台時鐘 27

1.4 箭頭函數 30

要點回顧與思考練習 32

第2章 進入雲端 36

2.1 在雲端 38

2.1.1 Git 38

2.1.2 存儲Git存儲庫 40

2.1.3 GitHub和開源軟件 40

2.1.4 獲取 Visual Studio Code 44

2.2 網頁是如何工作的 48

2.2.1 加載並顯示網頁 49

2.2.2 超文本標記語言(HTML) 50

2.3 創建動態網頁 55

2.3.1 與文檔對象交互 55

2.3.2 網頁和事件 60

2.4 製作時間旅行時鐘 62

2.4.1 向頁面添加按鈕 64

2.4.2 通過全局變量共享值 64

2.5 在GitHub上托管網站 70

要點回顧與思考練習 72

第3章 創建交互式網站 76

3.1 從用戶處獲取輸入 78

3.1.1 HTML輸入元素 78

3.1.2 輸入類型 82

3.2 在本地機器上存儲數據 84

3.3 JavaScript英雄:let、var和const 87

3.4 使用JavaScript創建網頁元素 94

3.4.1 小游戲《找奶酪》 95

3.4.2 放置奶酪 99

3.4.3 響應按鈕按壓 100

3.4.4 玩游戲 101

3.4.5 使用事件 103

3.4.6 改進小游戲《找奶酪》 104

要點回顧與思考練習 105

第4章 托管網站 108

4.1 Node.js框架 110

4.1.1 JavaScript英雄:模塊 116

4.1.2 創建並引用模塊 116

4.1.3 require與import 121

4.1.4 在瀏覽器中使用import 122

4.1.5 導入代碼註意事項 126

4.2 創建網頁服務器 127

4.2.1 軟件即服務(SaaS) 128

4.2.2 文件傳輸 134

4.2.3 活躍站點 140

要點回顧與思考練習 140

第Ⅱ部分 雲端應用開發

第5章 構建共享應用 146

5.1 改進小游戲《找奶酪》 148

5.1.1 添加一些顏色 148

5.1.2 為游戲添加結尾 156

5.1.3 增加隨機性 158

5.1.4 增加更多奶酪 160

5.2 創建共享游戲 168

5.2.1 設計對話協議 169

5.2.2 創建端點 170

5.2.3 開始游戲 170

5.2.4 游戲服務器 176

5.2.5 玩游戲 180

要點回顧與思考練習 185

第6章 創建共享體驗 188

6.1 共享游戲 190

6.2 創建共享游戲 191

6.2.1 調試共享游戲 193

6.2.2 創建偽隨機值 201

6.2.3 創建偽隨機庫 208

6.2.4 生成定時隨機性 209

6.2.5 使用全球時間 212

6.3 準備部署到雲端 212

6.3.1 優化性能 212

6.3.2 避免重復計算 216

6.3.3 改進結構 217

6.3.4 購買域名 218

6.4 部署應用程序 219

6.4.1 package.json 219

6.4.2 設置服務器埠 220

6.4.3 設置服務器路徑 221

6.4.4 設置本地文件路徑 222

要點回顧與思考練習 225

第7章 設計應用 230

7.1 TinySurvey應用程序 232

7.2 應用程序的工作流 234

7.2.1 索引頁面 235

7.2.2 輸入選項 236

7.2.3 選擇選項 238

7.2.4 顯示結果 240

7.2.5 額外工作流 241

7.3 應用程序數據存儲 243

7.3.1 JavaScript英雄:類 243

7.3.2 為TinySurvey創建類 253

7.3.3 Option類 253

7.3.4 Survey類 255

7.3.5 Surveys類 261

要點回顧與思考練習 264

第8章 構建應用 268

8.1 使用Bootstrap增加樣式 270

8.2 開始使用Express 273

8.2.1 Express和Node包管理器 273

8.2.2 Express路由 280

8.3 使用Git管理版本 280

8.4 使用EJS製作頁面模板 285

8.5 獲取示例應用程序 288

8.6 主頁 289

8.6.1 從表單發布數據 291

8.6.2 從post中接收輸入 291

8.7 輸入調查問捲的選項 296

8.7.1 enteroptions頁面 296

8.7.2 使用EJS模板生成頁面 298

8.7.3 使用命名路由參數 303

8.7.4 構建一個調查問捲數據對象 304

8.8 構建選項選擇頁面 307

8.9 記錄調查問捲的反饋 311

8.10 渲染問捲結果 313

要點回顧與思考練習 315

第9章 走向專業化 318

9.1 模塊化代碼 320

9.1.1 註釋/文檔 323

9.1.2 錯誤檢查 326

9.1.3 測試 332

9.1.4 日誌記錄 338

9.2 專業編程 338

9.3 使用cookies存儲應用狀態 338

9.3.1 TinySurvey中的cookie 339

9.3.2 cookie中間件 340

9.3.3 在TinySurvey中使用cookie 340

要點回顧與思考練習 349

第Ⅲ部分 巧用雲服務

第10章 存儲數據 354

10.1 文件數據存儲 356

10.1.1 同步文件寫入 356

10.1.2 異步文件寫入 356

10.1.3 JavaScript英雄:Promise對象 357

10.1.4 JavaScript英雄:await和async 362

10.1.5 在TinySurvey中使用async 363

10.2 處理文件錯誤 365

10.3 數據庫存儲 370

10.3.1 開始使用MongoDB 370

10.3.2 Mongoose和模式 373

10.3.3 SurveyManagerDB 類 374

10.3.4 異步測試代碼 377

10.4 重構TinySurvey 379

10.5 部署TinySurvey  381

10.5.1 管理環境變量 381

10.5.2 使用nodemon包進行編碼和部署 383

10.5.3 創建README.md文件 386

要點回顧與思考練習 390

第11章 活動追蹤與會話 394

11.1 用戶跟蹤 396

11.1.1 創建全局唯一標識符(GUID) 396

11.1.2 用戶跟蹤的倫理問題 397

11.1.3 使用活動圖來展現工作流 397

11.1.4 cookie使用許可條款的工作流 398

11.1.5 創建追蹤中間件 400

11.1.6 存儲調查問捲創建者 407

11.1.7 識別調查問捲創建者 408

11.2 改進TinySurvey 417

11.3 用戶會話 418

11.4 註冊和登錄工作流 419

11.5 用戶註冊 420

11.5.1 對密碼進行哈希處理 421

11.5.2 register路由 422

11.6 用戶登錄 425

11.7 訪問token 427

11.8 驗證token 433

11.9 會話延長 434

11.10 基於角色的安全機制 435

要點回顧與思考練習 439

第12章 JavaScript進階 444

12.1 創建自己的雲 446

12.1.1 安裝node 449

12.1.2 托管應用程序 450

12.1.3 在服務器上使用MongoDB 452

12.1.4 關閉服務器 452

12.1.5 運行服務器 453

12.2 從服務器控制硬件 453

12.2.1 通過瀏覽器控制的燈 453

12.2.2 遠程控制按鈕 457

12.2.3 使用WebSockets從服務器發送值 461

12.2.4 創建WebSocket 461

12.3 使用MQTT 464

12.4 物聯網設備 466

12.4.1 創建自己的物聯網設備 467

12.4.2 管理使用Connected Little Boxes服務器的設備 468

12.5 使用Phazer創建游戲 469

12.6 進階,成為高手 471

12.6.1 Typescript語言 471

12.6.2 React框架 471

12.6.3 Electron框架 471

12.6.4 Graphql框架 471

12.6.5 Socket.io框架 472

12.6.6 ml5.js庫 472

12.6.7 Espruino 472

要點回顧與思考練習 472

術語詳解 475