2012-12-23 24 views
4

我一直在開發了8個月的應用程序現在已經使用的Smarty的PHP模板。使用Smarty的或Backbone.js的爲模板的JavaScript

我已經在所有的Smarty沒有問題了,我已經開始增加對網站上的用戶更多的JavaScript交互。

我在考慮使用Backbone.js的到模板JavaScript的爲好。

但另一個想法來到我,返回一個聰明的模板並加載到div而不是返回一個json並使用backbone.js來格式化結果是不好的主意?

這會減緩反正申請?這樣做有什麼好處(如果有的話)和劣勢?

任何想法將是巨大的,

感謝

+1

也許,也許不是。取決於細節(像往常一樣)。 –

+0

看看[jSmart](http://code.google.com/p/jsmart/),也許它適合您的需求。 「JavaScript模板引擎,PHP模板引擎Smarty to Javascript的端口,可讓您在服務器和客戶端使用相同的PHP和JavaScript模板。」 – noisebleed

+1

詳細闡述muistooshort的評論。客戶端模板(使用Backbone)對於單頁應用程序是必需的,否則是可選的。同樣,服務器端模板(Smarty)是傳統Web應用程序所必需的,否則可選。在客戶端和服務器上使用模板不會減慢應用程序的速度,但當然,應用程序的可維護性會受到影響,因爲您正在複製代碼...對嗎? – McGarnagle

回答

3

與正常的多頁「網站」,用戶頁面瀏覽頁面耗時網站的功能。但是,主幹最適合單頁「Web應用」模型。採用這種方法,唯一加載的html頁面是第一個;在那之後,每個「頁面轉換」實際上都是由Backbone的路由器處理的,後者通過DOM操作動態地轉換頁面。每個新頁面的元素都是由Backbone Views構建而成; PHP生成的html從不涉及。

這就是爲什麼骨幹未必是你最合適的。除非你想將你的PHP代碼改爲純粹的服務器端API風格的結構(這實際上不需要Smarty),否則Backbone的許多價值將會喪失。