使用AJAX/JSON提供静态HTML和生成内容有什么好处?

man*_*ken 5 javascript json separation-of-concerns web-architecture static-html

http://blog.urbantastic.com/post/81336210/tech-tuesday-the-fiddly-bits

来自Urbantastic的Heath写了他的HTML生成系统:

Urbantastic中的所有HTML都是完全静态的.所有动态数据都以JSON格式通过AJAX发送,然后使用Javascript与HTML结合.换句话说,Urbantastic的服务器软件专门生产和使用JSON.HTML,CSS,Javascript和图像都通过不同的服务(vanilla Nginx服务器)发送.

我认为这是一个有趣的模型,因为它将表示与数据分开.我不是建筑专家,但似乎效率和稳定性会有所提高.

但是,以下关注我:


  • [主观] Clojure非常强大; Javascript不是.在为另一个目标创建的语言上编写所有内容生成将产生一些痛苦(想象一下在CSS中编写Javascript类型的代码).除非他有一个用于生成Javascript的宏系统,否则Heath可能需要在JavaScript和Clojure之间不断切换.他还会有很多JS代码; 可能比Clojure要多得多.在功能,快速开发,简洁以及我们在切换到基于LISP的语言时所考虑的所有事情方面,这可能不太好.

  • [性能]我不确定这一点,但渲染用户机器上的所有内容可能会滞后.

  • [可访问性]如果您已禁用JS,则根本无法使用站点.

  • [accessibility#2]我怀疑用JavaScript填充大量动态数据会产生跨浏览器问题.

谁有人评论?我有兴趣阅读你对这种架构的看法.

参考文献:

  1. 链接到关于HN的讨论.
  2. 链接到关于/ r /编程的讨论.

Cyr*_*pta 3

“Urbantastic 中的所有 HTML 都是完全静态的。所有动态数据均通过 AJAX 以 JSON 格式发送,然后使用 Javascript 与 HTML 组合。”

我认为这就是 RIA 的标准模型。这里的强调词似乎是“全部”。因为在很多网站中很多动态内容仍然不是通过Ajax获取的,只有关键功能是。

如果您没有包含大量元素的大型网页,我认为渲染问题不会成为主要瓶颈。

JS的可访问性确实是一个问题。但是,想要体验 AJAX 的用户必须启用 JS。您是否做过调查,了解有多少用户没有启用该功能?