gpt4 book ai didi

javascript - 设计 AJAX 应用程序的推荐方法

转载 作者:行者123 更新时间:2023-11-29 22:30:49 25 4
gpt4 key购买 nike

这是一个非常笼统的问题,但我使用了 Flex 几年,而且我在纯 Web 开发方面经验不多。

我的问题是:如果您需要构建 AJAX 应用程序,您更喜欢两种方法中的哪一种:

  1. 经典服务器端 MVC,其中 Controller 返回随模型数据一起提供的 View 。 View 可以是完整的或部分的。基本上,只有少量完整的 View 充当容器,而 javascript 将帮助异步填充部分 HTML View 的空白。这种方法比传统的 Web 开发更进一步,因为 javascript 仅用于维护整体控制和用户交互

  2. 一个成熟的 js 应用程序,例如使用 Cappuccino、Sproutcore 或 Backbone.js 构建的应用程序,其中客户端很厚,并且实现了 MVC 的客户端实现来处理模型,作为控制逻辑,并查看交互。在这种情况下,服务器端扮演一组 JSON/XML 服务的 Angular 色,客户端与之交换数据。这种情况下的缺点是必须在开始时加载 View 模板,当启动初始应用程序时,以便 javascript 可以根据数据布局标记。优点是减少了服务器响应的重量,以及更好地控制客户端,这允许应用 View 模型绑定(bind)等内容。

  3. 两者之间有些混合的方法。

我更喜欢第二种,这很正常,因为我来自类似的环境,但我最关心的是 url 路由(或我们在 Flash 中称之为深度链接)、状态管理等问题,模块化和 View 布局(何时加载 View 标记模板?是否应该有特定的服务器端点在调用时提供这些模板,以便模板数据不会在开始时加载?)

请评论

最佳答案

我自己更喜欢#2,但我喜欢 javascript :)

不幸的是,我什至从未见过 flex 代码是什么样子的。我的经验是使用 Rails,所以我会用这些术语来谈论,但希望这些概念足够普遍,以便答案有意义

至于客户端模板,最好是当您选择的服务器端平台有它的故事时(例如 rails 3.1 Assets 管道或 3.1 之前的 jammit 插件)。如果您正在使用 Rails,我可以提供更多信息,但如果您不是,我要做的第一件事就是寻找一个开箱即用的 Assets 管理系统。

我的后备方案通常是将模板嵌入到脚本标记内的服务器端模板中,例如

<script type='text/html' id='foo-template'></script>

稍后要检索字符串,您可以这样做(jquery 语法)

var template = $('#foo-template').html();

在我的服务器端模板中,我会将这些脚本标签作为部分文件拉入它们自己的文件中,因此我仍然可以进行文件分隔(rails 语法)

<%= render :partial => 'templates/foo.html.erb' %>

我更喜欢只使用 jammit,并将我的客户端模板放在以 .j​​st 结尾的单独文件中,但第二种方法在任何地方都适用,而且您仍然可以获得大部分相同的好处。

关于javascript - 设计 AJAX 应用程序的推荐方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7003570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com