2013-05-30 23 views
8

有了這樣火力地堡和解析,而像角JS工具,新業務的Web應用程序,現在可以寫這簡直是充當靜態文件集合的web應用程序。您可以在錢包HTML/CSS/Javascript中編寫前端,而後端是託管服務。寫有「沒有後端」

我的問題是:

  • 這是一個好主意?
  • 像這樣的應用程序使用類似Heroku或App Engine的東西是否值得?用戶真的只需要下載HTML/JS一次,並且它們被設置爲
  • 如何處理用戶?聯合登錄?將用戶數據存儲在Firebase/Parse中?

任何其他建議歡迎!

回答

8

這是完全合理的編寫與當前瀏覽器的功能僅客戶端應用程序。我個人構建了一個複雜的應用程序,只使用後端的Firebase和CDN作爲客戶端提供的HTML/JavaScript。這是特別適合類型的應用程序,其具有固有的簡單安全模型:

  • 單用戶應用(其中數據屬於與由一個人修改)
  • 聊天和通信部件
  • 應用的私密對一個組織,其中客戶端連接進行認證和至少信任輕微程度(協作編輯和標準物質)

有可能在某些情況下,但不適合於大量計算的工具,甚至低級別的用戶數據必須是c由受信任的第三方有效地控制(例如,遊戲裏玩家可以砍自己的統計和計算有效的統計需要複雜的算法)

您也可以大大有取代傳統的API和服務器腳本降低服務器管理和設置「特權的消費者。」這些人也是Firebase的聽衆,具有更高的訪問權限,可以像客戶端一樣監聽和處理數據,然後寫入安全數據,而不是普通用戶不應該被允許訪問或操作。

僅客戶端模式的缺點是安全的複雜性增加。必須信任每個客戶端來計算和存儲自己的數據,或者必須通過安全規則或某種外部監視(如特權用戶)小心保護數據。

你可能會鑽研文學上"Fat Client" or "Thick Client"設計模式發現一些有趣的設計思路。您可能還想看看distributed gaming獲取一些見解。

+0

你不是指加藤聊天應用程序的權利? ;) – CMCDragonkai