这值得详细阐述一下。
首先:
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 应用吗?
我相信还有很多其他优点,但这些是最基本的。
