为什么 Discourse 论坛需要 JS?

这些论坛为什么需要 JavaScript?它不像其他论坛那样可以没有它就能运行。

1 个赞

因为 Discourse 本身就是纯 JavaScript。如果你把 JS 去掉,那就什么都不剩了 :wink:

只是技术解决方案不同而已。

3 个赞

它的制作方式就是如此。Discourse 不仅仅是“需要”JavaScript,它本身就是一个完全加载到你浏览器中的 JavaScript 应用程序,这个应用程序使用 API 从服务器端数据库加载数据。


@Jagster 的速度更快。另外,我的解释可能有点含糊,但我相信这里有专家能够更好地解释!

5 个赞

这值得详细阐述一下。

首先:

:thinking: :eyes: GitHub - discourse/discourse: A platform for community discussion. Free, open, simple.

Discourse 实际上主要是 Ruby on Rails,而且(根据 GitHub 的数据)只有四分之一是 JavaScript,尽管这是一个极其关键的四分之一,并且在客户端占主导地位。

Discourse 和其他现代网站(/Web 应用)使用 JavaScript 的原因包括:

  • 工作负载: 将大量工作从服务器转移出去,有助于网站更好地扩展(嘿,让用户的机器分担一些工作,为什么不呢?!)。
  • 带宽: 尽管初始加载可能需要稍长的时间来下载 JavaScript,但之后的数据的中间加载使用更少的带宽(如果明天世界失去了 JavaScript,互联网可能会停滞不前?),速度要快得多,因为你只需要传输数据,而不需要所有 UI 的标记和布局。因此,事情在网上完成得更快,并且支持低带宽连接,如糟糕的移动连接。
  • UI: 提高了 UI 的动态性,从而改善了用户体验(例如,单击一个按钮只更新屏幕的一部分 - 无需整个浏览器重新绘制)。
  • 它是标准: JavaScript 是所有现代浏览器(包括移动浏览器)的标准,因此可以“一次编写,到处运行”,为大多数设备带来类似应用程序的体验。
  • 关注点分离: 将服务器进程与(通常)渲染 UI 的担忧分离开来,更容易迁移到或支持其他非 JavaScript(甚至非 HTML)的前端。有人想要 iOS 应用吗?

我相信还有很多其他优点,但这些是最基本的。

12 个赞

从客户端以及最终用户的角度来看,这纯粹是 JS,对吧?

3 个赞