javascript - 与具有持久 URL 的应用程序相比,构建大量使用 AJAX 的 Web 应用程序的优缺点是什么?

标签 javascript

<分区>

原始问题:制作一个全 JavaScript 网站是个坏主意吗?

*更改了问题,因为这最终更像是一个讨论,但它可能对其他人有帮助。*

在这种情况下,我正在考虑制作一个最初使用常规 HTML 提供其整体布局的网站(如普通的基本网页),但后来我计划动态填充 HTML 内容区域的内容,完全使用AJAX 请求。

网站的用户永远不会刷新页面或转到新页面,所有其他需要生成的 div 和元素都将使用 AJAX 创建(利用网站上的大量 JavaScript 函数)缓存的外部 JavaScript 页面)。

虽然我实际上并不是在制作一个论坛网站,但论坛的功能级别接近我想要实现的目标。大量的数据库读写。

这是个坏主意吗?我不是在考虑可能使这变得很糟糕的事情吗?它在性能方面是否很好(因为我将做大量的客户端工作而较少的服务器端工作)?

我意识到该页面对关闭了 JavaScript 的用户不起作用,但在这种情况下这不是问题。我也不担心任何不支持 JavaScript 的移动设备,因为我可能只是创建一个不使用 JavaScript 的特定于移动设备的网站版本)。

谢谢!

更新: 首先:谢谢大家的回复!非常感谢!

只是为了澄清,我认为这是一个好主意,主要是因为我似乎可以说,“嘿 AJAX,只要给我这个页面的原始论坛帖子数据,我就会做所有的 HTML在客户端构建。”当然,相同的数据库访问,但更少的服务器端页面格式化工作和更少的数据传输到客户端。

还有一个重要的澄清:我不担心搜索引擎优化,因为这个论坛将是一个仅限登录的网络,不应该被未登录的用户抓取或查看。

最佳答案

这根本不是一个疯狂的想法,但我建议不要这样做,因为它很难维护。你只需要知道你要做什么。 Facebook 也在做类似的事情。例如,Google 搜索界面也会让您在执行搜索时保​​持在同一页面上。

您可能还对以下内容感兴趣:

Backbone .js http://documentcloud.github.com/backbone/

和BBQ(后退按钮查询) http://benalman.com/code/projects/jquery-bbq/docs/files/jquery-ba-bbq-js.html

一个缺点是分析脚本不一定能在以这种方式构建的网站上正常工作,具体取决于您构建它们的方式。

编辑:

一个问题是它不会被搜索引擎抓取。如果您很好地构建站点(可能使用 BBQ)并遵循此规范,则可以克服此问题:

http://code.google.com/web/ajaxcrawling/docs/specification.html

关于javascript - 与具有持久 URL 的应用程序相比,构建大量使用 AJAX 的 Web 应用程序的优缺点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6560821/

相关文章:

javascript - D3 墨卡托函数 NaN

javascript - 如果元素出现超过 n 次,则删除该元素的出现

javascript - 悬停时向上移动文本

javascript - iPhone/移动版 Safari : Getting a reliable viewport height

javascript - 子组件应该在什么级别拥有自己的容器(逻辑react-redux的connect)组件才能管理自己的mapDispatchToProps?

javascript - 带有字符串或(匿名)函数引用的 setTimeout()?快速的

javascript - 没有 Ionic 的设备上的 Cordova 热重载

c# - 如何在 asp.net webform 中获取 js POST?

javascript - zurb foundation 3 中的固定宽度列

javascript - 强制 SWFObject 使用 EMBED 而不是 OBJECT