像Meteor這樣的即時網路框架通常以它們的能力為特徵
為協作和回應式應用程式供電,但功能相同
也為傳統應用提供了價值。特別是流星
即時作為可使用的持久資料庫向開發人員公開
同樣來自用戶端和伺服器。此共享資料庫用作單
將傳統傳播的 Web 應用程式狀態一併聯開來的真理源:
資料庫、應用程式伺服器記憶體中變數、記憶體中變數
快取、瀏覽器內 javascript 變數和瀏覽器內 DOM。能力
放棄手動同步狀態簡化了單使用者 CRUD 應用程式的開發。
不同應用程式層的狀態同步通常是
樣板和蟲子的來源。考慮傳統的應用程式堆疊
具有不同的資料表示與轉換:
- 瀏覽器文件物件模型
- 與 jQuery 進行強制同步或與「角」、反應等框架進行聲明性同步。
- 瀏覽器 JavaScript
- 手動與 AJAX 和 REST 終結點同步(或使用自訂架構的 WebSocket 等較新的協定 )
- 伺服器 Web 應用程式
- 透過 ORM 手動同步或直接資料庫存取(如 SQL)
- 資料庫
連接每個層需要額外的代碼,並且還會重複
各種形式:用戶端javascript資料結構,伺服器端資料
結構和資料庫表示形式。一些簡化是可能的
對用戶端和伺服器使用 JAVAScript。也可以製作資料層
統一使用JSON貫穿始終,例如蒙戈DB而不是關係
資料庫。 但是,即使使用這些標準化,應用程式開發人員
需要用 REST 終結點連接圖層,並將資料上下推送
層。Meteor 透過以下架構結構簡化了此堆疊:
- 瀏覽器文件物件模型
- 聲明性地與空格鍵同步,這是一個基於 Handlebar.js 的樣本化框架
- 瀏覽器 JavaScript
- 透過 DDP(透過 Websocket 或襪子進行傳輸機制)自動將客戶端資料庫 (MiniMongo) 與伺服器端資料結構同步
- 伺服器 JavaScript
- 透過 LiveQuery 自動將伺服器端資料結構與資料庫 (MongoDB) 同步
- Mongodb
在某些方面,Meteor 提供了類似於第一個程式設計模型
產生動態 Web 應用程式:可以直接對 HTML 檢視進行範本化
從資料庫。這種簡化的程式設計模型減少了行動元件
以及任何應用程式中的錯誤機會。