我開始的項目基本上是一個單頁應用程序,可下載並顯示一堆統計信息(使用d3.js)。數據層是由Mongo支持的,通過RESTful API提供服務,客戶端應用程序將用Ember.js編碼。我們希望通過API交換所有數據,因爲我們也有一些移動應用程序在後臺程序中掛鉤到相同的API。實現基於RESTful API的Web應用程序。我需要一個服務器端框架嗎?
我在討論是否編寫API(使用Express.js或其他服務器端MVC框架),或者只是服務於API使用Deployd而不使用服務器端框架,除了Deployd。我會提供一些有關項目特徵的提示:
- 主要功能基本上是一個儀表板,顯示已經計算並存儲在Mongo數據庫中的聚合統計信息。
- 用戶交互很少,只允許用戶自定義他們的儀表板,但用戶永遠不會上傳數據(其他自定義首選項)。
- 大部分應用程序都有很多d3.js來創建和渲染一堆圖形,這些圖形可以通過多種方式進行自定義。
- 它需要一個非常豐富和敏感的用戶界面。
我建議完全跳過服務器端框架,並簡單地使用一堆靜態HTML + CSS,並使用客戶端MVC(如Ember.js)完成所有繁重的工作。由於所有的數據下載和上傳都可以通過Deployd來處理,因此純靜態站點的加載速度會更快,並且也更容易擴展。此外,(我認爲)所有用戶相關的數據和驗證都可以使用Deployd本身完成。
事情是,當我提到這個想法時,我的一些同事有一個心臟病。所以我想要一個現實檢查:除了Deployd之外,我是否真的需要一個服務器端框架來處理我無法預見的問題?擁有一個純靜態網站的好處是與Express.js 相比,以防萬一?
謝謝。最後,我決定跳過Deployd,轉而使用更傳統的Express.js API來支持其中的許多功能,例如使用真棒Passport,CORS和安全性功能進行身份驗證。 –