2012-12-23 12 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的许多价值将会丧失。