何时实施Ajax的最佳实践?

时间:2009-03-27 18:24:47

标签: ajax

在这个Microsoft tutorial中,他们在最后一步实现了Ajax:“步骤7.实现Ajax”

我知道它只是一个教程,所以它保持简单,但我也在其他地方看到了这个想法,构建应用程序,然后在适当的地方撒上ajax。

我实施ajax,但我想知道人们认为这是一个最好的做法。是最好在最后抛出ajax还是你应该随时实现它?有人遇到过这样或那样的麻烦吗?

7 个答案:

答案 0 :(得分:5)

如果您的核心用户互动将依赖于Ajax(例如Google Docs),那么您应该尽早实现这些位。

否则,如果您的核心交互依赖于可靠地存储和检索数据,请最后添加Ajax。这样,您就强迫自己和您的团队测试您应用的行为,就好像您的用户浏览器上没有JavaScript一样。在这种情况下,Ajax将是一个额外的用户界面良好层。

答案 1 :(得分:3)

最后做AJAX的论点是,如果你让它在没有AJAX的情况下工作,你就更有可能开发一个优雅降级的网站。

这对某些人来说无关紧要 - 我已经看到(内部)网站专为特定浏览器的特定版本而设计,并启用了一组明确的功能。但是如果它对你很重要,那么将AJAX添加到一个运行良好的站点要容易得多,而不是从一开始就依赖它的站点中删除AJAX。

答案 2 :(得分:2)

'你去的'是什么意思?我从一个设计开始,因此非常清楚最终产品将是什么。所以,是的,你需要知道ajax的东西从一开始就发生在哪里。

答案 3 :(得分:1)

我去的时候,它是有意义的。我们很少从第1天开始就有完整的设计规范,所以你有时候必须做出决定。

答案 4 :(得分:1)

忽略这样一个事实,即您希望Ajax的要求不符合用户界面规范要求(如果您有这样的事情),我会考虑尽快实现它(或实现挂钩)

1)将其改造为已经架构以返回完整页面的东西并不一定是直截了当的

2)它可能会影响您的解决方案的部署模式,因为它将提供页面加上页面片段/对象,这些片段将导致更多的点击到您的服务器(想象一下额外的命中如果您引入类似Google Suggest的内容,您的服务器就会获得,其中可能每个按键都会导致新的服务器请求。)

所以你可能不想立即实现Ajaxness。但我会敦促你尽快考虑它(如果需要的话)。

答案 5 :(得分:1)

早期实现Ajax的另一个理由是,无论何时在项目后期添加任何功能,通常都需要拆除并重建一些现有代码或设计才能使其正常工作。当您从头开始计划该功能时,需要的重新编码要少得多。

答案 6 :(得分:0)

在我看来,当涉及到ajax时,有两个阵营。一个阵营想要创建这种丰富的用户体验,并提供大量简洁的用户体验,并且可能只将其大部分网站功能实现为ajax。另一个阵营想要添加不错的便利功能,但项目的核心和大多数主要功能都将在服务器端实现。在第一个大部分功能将在ajax中实现的阵营中,我会尽早处理ajax并将其用于您的设计决策过程。对于第二种情况,我将实现所有功能服务器端,然后添加ajax以添加一些不错的UX感觉。

我记得早期用ajax阅读,实现你的网站就像你的用户的浏览器没有javascript,然后一旦所有功能都正常工作,添加ajax来改善用户体验。但是自从ajax的早期开始,Google肯定会推动这一局面,并且很多人希望在他们的网站上用ajax创建这些惊人的丰富用户体验。我曾经和很多人一起工作过,他们真的很喜欢在ajax中实现很多功能,但很少有人能够把它拉下来。我当然没有自己的排骨,并且对那些看起来非常酷的测试不良的功能感到非常沮丧......如果你以某种方式使用它们......交叉你的手指。其中很多都与测试有关,单元测试是一回事,在浏览器测试中是另一回事,而且我经常发现自己非常努力只是为了让单元测试到位,更不用说整个浏览器测试套件。

您必须决定您希望您的用户体验如何,ajax如何适应这些决定,然后选择何时实施ajax。对于仅在ajax中实现主要功能的网站而言,之前的早期版本仅适用于ajax仅添加UX糖的网站。这是我的0.02美元,我确信有人有相反的意见。