2012-05-01 142 views
2

最近我正要和一位朋友一起開始一個寵物項目,我們討論瞭如何構建網站,是否讓服務器負責模板和數據操作,或者使用一些JavaScript UI庫(如ExtJS/Jquery UI)動態呈現小部件,並將服務器用作允許數據流的服務。Javascript模板與服務器模板

有什麼更好? JavaScript來處理UI/Events以及前端的所有事情,只有後端纔是數據服務,或者使用後端框架(最好是ruby)的傳統MVC?

什麼是正確/(易於使用)框架用於2場景。另外在哪個用例中每個都比另一個更受歡迎。

回答

3

兩者都不是更好。每個都有它自己的用途。

對於基本站點接口,應始終讓服務器創建站點的初始結構。因此,這需要服務器端模板。這也適用於那些「如果JS關閉」或「JS不支持」的情況。至少有一個基本的網站形式出現。不要像之前的Facebook一樣,關閉JS會留下空白頁面,因爲它太依賴JS了。

對於通過AJAX獲取數據的小部件,動態任務和操作,應該完成客戶端模板化。 AJAX全部是關於異步性和速度的,並且從服務器返回的格式化標記太龐大。這是您使用JSON的地方,您可以在其中緩存模板字符串,並使用客戶端模板。

0

一個想法可能是使用Mustache,它可以在服務器端和客戶端都呈現。看到這個博客帖子如何在兩者之間分享:

http://blog.railsware.com/2012/04/12/shared-mustache-templates-for-rails-3/

+0

也有波洛:https://github.com/olivernn/poirot,有在這裏討論鬍子/ Rails的一個問題:HTTP ://stackoverflow.com/questions/7045656/mustache-render-on-the-server-rails-and-on-the-client-javascript –