Meteor 實戰 (Meteor in Action) 图灵程序设计丛书:Meteor实战

霍赫豪斯 (Stephan Hochhaus), 施厄貝爾 (Manuel Schoebel)

  • 出版商: 人民郵電
  • 出版日期: 2017-04-01
  • 定價: $414
  • 售價: 8.5$352
  • 語言: 簡體中文
  • 頁數: 285
  • 裝訂: 平裝
  • ISBN: 711545017X
  • ISBN-13: 9787115450173
  • 此書翻譯自: Meteor in Action (Paperback)
  • 立即出貨 (庫存 < 3)

買這商品的人也買了...

商品描述

本書秉承“實戰”系列圖書的一貫風格,以解決開發者實際問題為出發點,通過Meteor平臺構建可擴展的高性能應用。書中詳細介紹瞭如何用Meteor進行全棧開發,涵蓋了Meteor棧的所有關鍵部分,涉及構成Meteor棧的各種組件和概念、響應性應用的基本模塊和應用的構建與合理部署等,讓讀者全面掌握如何充分發揮Meteor在服務器端和可擴展性上的優勢。

作者簡介

作者:【德】霍赫豪斯(Stephan Hochhaus),施厄貝爾(Manuel Schoebel)  譯者:楊學輝

Stephan Hochhaus,
知名Web開發人員,在可擴展的Web解決方案方面具有豐富的經驗。精通JavaScript、PHP、C#和Java。

Manuel Schoebel ,
知名Web開發人員,其技術博客廣受開發者歡迎。

兩人均是從Meteor誕生之初就一直在工作上運用Meteor。

楊學輝,
自由程序員,譯者,獨立博客——獵數博客——的博主。數學系畢業的技術愛好者,興趣廣泛,致力於學習和開發新的技術,以便高效解決現實生活中的實際問題。

目錄大綱


關於本書
關於封面插圖
前言
致謝


第一部分看,一顆流星!


第1章構建應用程序的更好方式............... 2 
1.1 Meteor簡介..................... ......................... 3 
1.1.1 Meteor背後的故事................. ...... 3 
1.1.2 Meteor棧...................................... . 4 
1.1.3同構框架:全棧式JavaScript ....... 5 
1.1.4在瀏覽器中處理:在分佈式平
台上運行............. .......................... 7 
1.1.5響應式編程................. .................. 8 
1.2 Meteor的工作原理.......................... ........ 10 
1.2.1核心項目.................................... .. 11 
1.2.2 Isobuild和CLI工具.................... 13 
1.2.3客戶端代碼和服務器端代碼........ 14 
1.3優勢和劣勢.............................................. 15 
1.3.1使用Meteor的好處..................... 16 
1.3.2使用Meteor時的挑戰............ ...... 17 
1.4創建新的應用程序.................................. 19 
1.4. 1創建新項目.................................. 19 
1.4.2啟動應用...... ................................ 20 
1.5剖析默認項目............. ............................. 21 
1.5.1 helloWorld.css .............. ................ 21 
1.5.2 helloWorld.html ........................... 21 
1.5.3 helloWorld.js ................................ 22 
1.6總結........ ................................................. 24 


第2章我的冰箱:一個響應式遊戲.......... 25 
2.1應用概述......................... ......................... 25 
2.2初始設置..................... ............................. 26 
2.3創建佈局................. ................................. 27 
2.3.1設置樣式........... ........................... 27 
2.3.2添加模板................. ..................... 29 
2.4向數據庫中實時添加內容..................... .. 31 
2.4.1在數據庫中存儲物品................... 31 
2.4.2將數據連接到模板........... ............ 33 
2.4.3添加一組預定義的物品............... 35 
2.5把物品放進冰箱裡.... .......... .................... 36 
2.5.1為項目添加jQuery UI ................. 36 
2.5.2為物品定義拖放目標................... 37 
2.5.3允許物品被拖動................ .......... 39 
2.6部署應用到meteor.com並使用它.......... 40 
2.7總結................ ......................................... 40 


第二部分3,2,1 ——撞擊!


第3章模板.............................................. ...... 42 
3.1模板介紹........................................ .......... 42 
3.2使用模板.................................... .............. 44 
3.2.1 Blaze引擎.............................. ...... 44 
3.2.2組織模板文件.............................. 45 
3.3創建動態HTML模板. ............................ 45 
3.3.1雙重和三重大括號標籤(表達式) ........ ................ 46 
3.3.2包含標籤(局部模板) ............... 48 
3.3.3塊標籤... ....................................... 50 
3.3.4輔助函數..... ................................. 53 
3.4處理事件............. ..................................... 58 
3.4.1模板的事件映射..... ..................... 58 
3.4.2事件傳播....................... ............... 59 
3.4.3阻止瀏覽器的默認行為............... 60 
3.5模板生命週期..... ..................................... 61 
3.6總結.......... ........................... .................... 63 


第4章數據......................... ........................... 64 
4.1 Meteor的默認數據源................ .............. 66 
4.1.1什麼使數據源具有響應性........... 67 
4.1.2如何將響應式數據連接到函數.. .......... 68 
4.2構建房屋保姆應用.................................. 69 
4.2.1設置模板...................................... 71 
4.2.2連接到數據庫並聲明集合........... 71 
4.3 Session對象............................... .......... 72 
4.3.1 Session對像簡介..................... 73 
4.3.2使用Session存儲選定的下拉值................... 73 
4.3.3使用Tracker.autorun創建響應性上下文........... 75 
4.4 MongoDB集合.... .................................... 76 
4.4.1在MongoDB中查詢文檔..... ....... 77 
4.4.2 Meteor的集合.............................. 78 
4.4.3初始化集合.................................. 78 
4.4.4查詢集合.......... ............................ 79 
4.4.5在模板 顯示集合數據............... 80 
4.4.6在集合中更新數據....................... 83 
4.4.7向集合中插入新數據................... 85 
4.4.8從集合中刪除數據............ ........... 87 
4.5總結.................................... ..................... 88 


第5章全響應式編輯..................... .............. 89 
5.1響應式編輯的工作流程........................... 89 
5.2響應式前端與DOM操作........................ 90 
5.3在本地集合中進行臨時更改.......... ......... 94 
5.4在表單中顯示集合數據........................... 97 
5.5使用本地集合進行響應式更新............. 100 
5.5.1 houseForm模板的事件映射..................... 101 
5.5.2 plantFieldset模板的事件映射....... 102 
5.6實現一個簡單的通知系統..................... 105 
5.6.1添加通知模板.. .......................... 106 
5.6.2添加狀態屬性................. ........... 106 
5.6.3使用會話變量觸發通知............. 107 
5.7總結............................................... ........ 109 


第6章用戶、認證和權限......................... 110 
6.1將用戶加入應用.. .................................. 111 
6.1.1添加密碼認證......... ................... 111 
6.1.2註冊和密碼重置...................... .. 113 
6.1.3設置郵件.................................... 117 
6.2使用OAuth認證用戶........................... 120 
6.2.1 OAuth介紹................. ............... 121 
6.2.2整合Facebook認證................... 122 
6.2.3集成其他的OAuth提供者........ 126 
6.3管理用戶權限、角色和組..................... 127 
6.4總結........ ............................................... 130 


第7章數據交換......................................... 131 
7.1發布和訂閱. .......................................... 132 
7.1.1 publish()和subscribe() .. 133 
7.1.2全局訂閱.................................... 134 
7.1. 3模板級訂閱.............................. .. 135 
7.1.4參數化訂閱................................ 136 
7.1.5向客戶端獨有的集合發布匯總數據....................... 138 
7.1.6將聚合發布變成響應式數據源......... ............ 141 
7.1.7通過用戶ID限制數據可見性........................ 143 
7.2 Meteor的方法....................................... 145 
7.2.1刪除insecure包.. .................. 146 
7.2.2使用方法將數據寫入集合......... 147 
7.3總結......... .............................................. 150 


第8章路由................................................. . 151 
8.1 Web應用中的路由................................ 151 
8.2客戶端路由..... ...................................... 154 
8.2.1添加Iron.Router .... .............. 155 
8.2.2創建第一個路由........................ 155 
8.2. 3基於路由定義佈局.................... 157 
8.2.4根據路由設置數據上下文......... 161 
8.2.5使用Iron. Router訂閱數據................................ 163 
8.3高級的路由方法.................................... 166 
8.3.1使用命名路由和鏈接輔助函數................................ 166 
8.3.2讓活動路由有更好的導航鏈接.. ............. 167 
8.3.3等待外部庫加載......................... 168 
8.3.4將路由組織為控制器................. 169 
8.3.5使用鉤子擴展路由過程............. 171 
8.3.6創建Iron.Router插件.......... 172 
8.4用於REST API的服務器端路由.......... 173 
8.5總結............. .......................................... 175 


第9章包... .................................................. .. 176 
9.1所有應用的基礎.................................... 176 
9.2使用Isopack .. ........................................ 177 
9.2.1版本求解器和有語義的版本號...................... 178 
9.2.2查找包................... ..................... 179 
9.2.3添加和刪除Isopack ................... 182 
9.2 .4更新包........................................ 183 
9 .3使用npm包........................................... 183 
9.4創建Isopack .......................................... 184 
9.4.1創建包........................................ 185 
9.4.2聲明包的元數據. ........................ 186 
9.4.3添加包的功能.................. .......... 188 
9.4.4使用tinytest測試Isopack ......................... 191 
9.4.5發布.. .......................................... 194 
9.5總結..... ........................................ 195 


第10章高級服務器方法... ........................ 196 
10.1再次介紹Node.js ................... .............. 196 
10.1.1同步代碼.............................. .. 197 
10.1.2異步代碼................................ 198 
10.2使用纖維的異步功能... ........................ 200 
10.2.1將多任務引入事件循環......... 200 
10.2.2使用wrapAsync為纖維綁定回調函數............... 203 
10.2.3為單個客戶端解除方法調用阻塞.................. .... 204 
10.2.4使用b indEnvironment創建纖維............... 206 
10.3整合外部API ........................... ............ 207 
10.3.1使用HTTP包進行RESTful調用............... 208 
10.3.2使用同步方法查詢API .... ...... 208 
10.3.3使用異步方法調用API .......... 209 
10.4將文件上傳到集合.................. ............ 211 
10.5總結................................... ... 215 


第三部分走出隕石坑


第11章構建和調試.................................. . 218 
11.1 Meteor的構建過程.............................. 218 
11.1.1構建階段....... ......................... 220 
11.1.2使用--production選項運行............... .... 223 
11.1.3加載順序................................ 223 
11.1.4通過包添加構建階段............. 226 
11.1.5添加自定義構建階段............. 227 
11.2訪問正在運行的應用....... .................... 229 
11.2.1使用交互式服務器外殼......... 229 
11.2.2使用node-inspector進行調試.. .................. 230 
11 .3創建瀏覽器應用.................................. 232 
11.3.1使用Meteor.settings進行應用配置................ 232 
11.3.2構建Meteor項目................... 233 
11.4創建移動應用.. .................................... 235 
11.4.1使用Cordova的混合應用..... 235 
11.4.2加入移動平台........................ 236 
11.4.3配置移動應用............ ............ 238 
11.4.4添加移動功能........................ 240 
11.5總結.... ................................................. 242 


第12章開始生產....................................... 243 
12.1準備生產.. ............................................ 243 
12.1.1使用版本控制........................ 243 
12.1.2功能測試:Velocity框架...... 245 
12.1.3估算和測試負載.. ................... 247 
12.1.4服務器管理......................... ... 249 
12.1.5清單........................................ 250 
12.2安裝和部署.......................................... 250 
12.2.1 簡單的部署:meteor.com ........................ 251 
12.2.2無所不包的主機:雲供應商..... ............... 253 
12.2.3最靈活的方式:手動設置........................ .. 256 
12.3將各部分連接起來.............................. 259 
12.3.1環境變量..... ........................... 260 
12.3.2 Meteor和MongoDB的連接.............. ............... 260 
12.4擴展策略............................... ............... 261 
12.4.1使用冗餘的主動被動高可用性....................... ..... 262 
12.4.2單組件部署............................ 263 
12.4.3冗餘和負載均衡. ................... 263 
12.4.4絕對可用性......................... ... 265 
12.5總結............................................ ......... 266 
附錄A安裝Meteor .................................... 267 
附錄B MongoDB剖析.............................. 271 
附錄C設置nginx .......... ............................. 278