我正在从现有的(RESTful)应用程序接口构建一个前端web应用程序。
做这件事最好的方法是什么?我假设新的标准方法是通过像backbone.js这样的东西。
我也希望页面是不同的网址的,而不是有一个单一的页面应用程序。也就是说,我猜当我们从服务器加载数据开始时,请求页面然后触发异步api请求是一种糟糕的做法,对吧?我应该考虑什么样的体系结构或技术,才能重用API,而不是向服务器发送两个连续的请求,一个用于加载页面,另一个用于加载数据?
发布于 2013-10-18 12:34:40
Backbone和其他JavaScript "MV*“框架绝对是高性能事件驱动UI的一个很好的选择。您可以使用此设计,并拥有不同的页面和URL。它使在给定页面上执行异步操作变得更容易、更快,因为您将拥有JSON模型中的相关数据,并在视图在数据更改时自动更新的环境中使用发布/订阅模式。这种设计的另一个优点是,您可以将数据放在模型中,而不是遍历DOM来获取数据。
发布于 2013-10-18 14:00:22
除了Girardi的回答之外,您对在初始页面加载时执行两个请求-一个用于页面,另一个用于实际数据-的担忧是一个真正的问题。
其中一个解决方案是将初始数据直接引导到页面中,这样您就可以跳过额外的异步请求。这就是所谓的模型引导。例如,您可以放置和附加包含引导模型的<script></script>标记:
<script>
window.I_MODEL = [
{id: 1, name: "foo"},
{id: 2, name: "bar"}
]
</script>然后在服务器端构造模型,并在某种模板机制的帮助下将序列化的模型直接打印到页面中。
搜索backbone model bootstrapping,下面是一个切中要害的示例:http://ricostacruz.com/backbone-patterns/#bootstrapping_data
发布于 2013-10-18 19:28:37
首先加载页面,然后请求异步数据,这不是一种坏的做法。将模板(Html)和数据调用分开,您可以最大限度地利用localStorage、browserCaching的优势。Backbone并没有给你的应用程序注入任何魔力,它只是提供了一个框架来组织你的代码,并帮助你一次又一次地避免一些样板代码。
https://stackoverflow.com/questions/19441576
复制相似问题