https://urbantastic-blog.tumblr.com/post/81336210/tech-tuesday-the-fiddly-bits/amp
Heath来自Urbantastic,他写了关于他的HTML生成系统的文章:Urbantastic中的所有HTML都是完全静态的。 所有动态数据都以JSON格式通过AJAX发送,然后使用Javascript与HTML组合。 换句话说,Urbantastic的服务器软件仅生成和消耗JSON。 HTML,CSS,Javascript和图像都通过不同的服务(纯净的Nginx服务器)发送。
我认为这是一个有趣的模型,因为它在物理上将表现与数据分离。 我不是架构专家,但似乎效率和稳定性会有所提高。
然而,以下内容让我担忧:
[主观] Clojure非常强大;Javascript则不是。用为其他目的创建的语言来编写所有内容生成将会带来一些痛苦(想象一下在CSS中编写类似于Javascript的代码)。除非他有一个用于生成Javascript的宏系统,否则Heath可能需要经常在JavaScript和Clojure之间不断切换。他还将有很多JS代码;可能比Clojure多得多。从我们转向基于LISP的语言时所看到的所有东西来看,这可能不利于功能、快速开发、简洁性等方面。
[性能] 我不确定,但在用户的机器上呈现所有内容可能会导致滞后。
[可访问性] 如果禁用JS,则无法使用该网站。
[可访问性#2] 我怀疑使用JavaScript进行大量动态数据填充将创建跨浏览器问题。
有人可以发表评论吗?我对这种架构类型的意见很感兴趣。
参考资料: