4

我的服务器用 PHP 实现,现在只是一个数据泵。我使用 JavaScript 在客户端上编写 HTML。

优点

  • 减少网络负载(没有 HTML,只有原始数据)
  • 减少服务器负载(服务器不必编写)

缺点

  • 增加客户端负载

鉴于这些优点/缺点,只要客户端没有负载问题,将 HTML 编写移至客户端似乎是个好主意。

有没有我没看过的角度?

来自评论/答案

可能的缺点

  • 机器人可能会失败
  • 屏幕阅读器可能会失败

其他优点

  • 纯数据可随时用于新设备上的新应用程序
4

2 回答 2

4

这里有一些你应该在“缺点”下列出的用户故事——还有更多。

  • 我关闭了javascript,因为我有安全意识。你的网站不适合我。

  • 当我使用后退按钮时,我会离开您的网站(绕过这在技术上非常困难) -查看评论-这是有争议的

  • 在使用您的网站很长一段时间后,我的网络浏览器会消耗大量内存,因为它在回收由范围外对象腾出的内存方面很松懈,或者因为您的代码效率不高(IE 特别容易出现这种情况)

  • 我使用的移动设备的 JavaScript 性能比台式机差 - 你的网站对我来说似乎很慢。

  • 我使用屏幕阅读器 - 我无法理解您的网站。

  • 我的名字是 GoogleBot - 您的网站不可索引。

如果这些都不打扰你 - 继续前进。

作为旁白

我应该补充一点——我完全反对这种应用程序。如果做得好,客户体验可以超越传统的点击、GET、点击、POST、点击、GET等网站。事实上,在我目前的项目中,我一直在开发纯 JavaScript 应用程序,作为我组织网站的 QA 助手和原型。

但我们肯定不会使用我们唯一的网络存在这样的东西。

于 2012-08-02T23:09:09.493 回答
2

请定义“客户端负载”

另外,请记住,除非您设置要从同一域提供的数据,否则 JS 无法实际使用它,除非您通过 JSONP 规避 XSS

除非您在 JS 中使用模板系统,否则在 javascript 中创建 html 可能会在一段时间后进行管理,这本质上只是客户端上的 MVC。

性能:JS 比 PHP 快得多,所以我不认为 JS 的缓慢是个问题,但是,DOM 本身在与它交互时很慢,所以与 DOM 的交互越少越好。

您的想法最好的一点是,根据爬虫的说法,“页面加载”将“更快”,因为页面的同步加载才是最重要的。

但是你必须考虑到如果数据是异步填充到 dom 中的,你可能会遇到抓取内容的问题

于 2012-08-02T23:10:19.703 回答