2015-05-13 27 views
0

我開始的項目基本上是一個單頁應用程序,可下載並顯示一堆統計信息(使用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 相比,以防萬一

回答

1

我以前沒有和Deployd一起工作,但是從它的文檔的快速瀏覽中,它 a server-side framework。它接受請求並用json響應。它只是面向API和JSON而忽略HTML,與默認的Ruby on Rails不同。

由於缺乏傳統的服務器端框架,我可以想到的主要問題是auth,CORS和XSS/CSRF/other common security issues。如果內置或容易添加,您可以通過Deployd來滿足這一點,但這可能很困難。

進一步看Deployd的文檔,我看到有guide爲用戶和CORS。我找不到有關XSS或CSRF的任何信息。

+0

謝謝。最後,我決定跳過Deployd,轉而使用更傳統的Express.js API來支持其中的許多功能,例如使用真棒Passport,CORS和安全性功能進行身份驗證。 –

相關問題