将web应用程序建立在浏览器AJAX调用上是一种好做法吗?

Is it good practice to base a web application on browser AJAX calls

本文关键字:一种 建立 应用程序 web 浏览器 调用 AJAX      更新时间:2023-09-26

在标准的MVC web应用程序中,是否可以用ajax调用呈现大部分内容?

让我们以Facebook为例,他们动态加载大部分内容。我们应该遵循这种方法吗?我们应该采取什么措施来确保良好的用户体验和性能?

编辑让我来澄清这个问题:

我使用Facebook的例子,因为我正在考虑解决类似于Facebook News Feed的应用程序上的问题:它们之间非常相似的大集合(几乎无限)实体,由于明显的性能和响应问题,控制器无法获取。

因此,我们将使用ajax调用动态加载项,并使用模板引擎呈现项。

这个方法合理吗?我们应该做些什么来保证良好的用户体验,性能和合理的SEO?

这个问题有点模糊,因为我认为基于ajax的网站的用户体验会因网站而异。这也可能不是发布这个问题的最佳论坛。

然而,在我看来,ajax可以是一个伟大的工具,以提高用户体验。减少页面刷新、呈现新鲜内容以及在不干扰用户当前状态的情况下执行任务是一大优点。

但是,如果您的站点很复杂,并且有很多导航,ajax可能会成为开发人员和用户的噩梦。

这很可能会导致对JS/JQ的一些依赖,而这可能不是一个选项。

我觉得这个主意不错。但有几件事你需要记住。Javascript总是需要时间来加载。所以如果你主要用js创建dom,用户肯定会觉得网站在初始加载时很慢。只是静态html会快得多。所以我们的想法是使用静态的html和智能的javascript来创建dom,这样不仅用户会觉得js很快而且服务器资源也得到了很好的利用。所以最好的办法是将两者巧妙地结合起来。当然,ajax调用总是倾向于通过javascript创建dom,除非您有大量数据要绑定到dom。总之,这取决于您的需求、资源和目标用户。

这些好处包括:

  • 服务器可以实现api接口,这将允许它是客户端无关的
  • 端点更加集中和离散
  • web客户端可以更容易开发,可以并行开发,只要有一个明确的API规范

一些难点可能是:

  • 难以确定每个api端点应该如何集中?应该返回什么数据?
  • 客户端最终可能会发出许多小的ajax请求,许多连接的开销
  • 单个请求失败或加载缓慢时的处理
  • 在渲染api
  • 返回的数据时考虑性能dom操作
  • 每个端点缓存-即使端点可能非常集中,前端的单个页面视图在逻辑上可以对应一组端点
相关文章: