【发布时间】:2011-10-23 15:10:15
【问题描述】:
这是一个非常笼统的问题,但我在 Flex 工作了几年,对纯 Web 开发并没有太多经验。
我的问题是:如果您需要构建一个 AJAX 应用程序,您更喜欢两种方法中的哪一种:
经典的服务器端 MVC,其中控制器返回提供模型数据的视图。视图可以是完整的或部分的。基本上,只有少数成熟的视图作为容器工作,而 javascript 将帮助用部分 HTML 视图异步填补空白。这种方法比传统的 Web 开发更进一步,因为 javascript 仅用于维护整体控制和用户交互
一个成熟的 js 应用程序,例如使用 Cappuccino、Sproutcore 或 Backbone.js 构建的应用程序,其中客户端很厚,并实现了 MVC 的客户端实现,同时处理模型,作为控制逻辑,并查看交互。在这种情况下,服务器端扮演一组 JSON/XML 服务的角色,客户端与之交换数据。这种情况的缺点是视图模板必须在开始时加载,当初始应用程序被引导时,以便 javascript 可以根据数据布局标记。优点是减少了服务器响应的权重,以及更好地控制客户端,这允许应用视图模型绑定等内容。
这两者之间有些混合的方法。
我更喜欢第二个,这很正常,因为我来自类似的环境,但我最关心的问题是 url 路由(或我们在 Flash 中称之为深度链接)、状态管理、模块化和视图布局(视图标记模板何时加载?是否应该有特定的服务器端点在被调用时提供这些模板,以便模板数据不会在开始时加载?)
请评论
【问题讨论】:
标签: javascript ajax model-view-controller backbone.js