为什么Bootstrap需要jQuery?

30

我已经多次谷歌这个问题,但从未找到令人满意的答案。大多数答案似乎只是说“是的,Bootstrap插件确实需要jQuery”或“是的,如果您不使用插件,可以不使用jQuery使用BS”。Bootstrap对jQuery的依赖(如其快速入门所述)让我觉得这是一个糟糕的设计决策,至少有以下原因:

  1. jQuery是一个相对较大和臃肿的框架,现在任何使用BS插件的网站都必须下载它。诚然,BS用户可以使用精简/压缩版本(除非他们想使用jQuery AJAX),但即使这些版本对于可能不用于任何Bootstrap之外的内容库来说也增加了不可忽略的负载时间。
  2. 总体而言,jQuery似乎最近正在失去青睐,因为像Angular和React这样的框架越来越受欢迎(参见StackOverflow trends)。我知道老 != 坏,而且jQuery仍然几乎无处不在地存在于Web上,但为什么BS开发人员选择依赖一个十多年历史的框架呢?
  3. 仅仅要求在BS之前将jQuery作为

似乎询问BS开发团队使用jQuery的动机在这里真的是离题了。为什么不直接问他们呢? - trincot
这更多是一个观点问题,因为它目前的表述方式。你也许可以去掉编辑、发泄和讽刺,使其更具生产力。技术原因是他们在Javascript实现中使用了Jquery选择器,无论你喜不喜欢,这都是一个依赖项。 - User970008
jQuery-3.2.1.slim.js在经过最小化和gzip压缩后不到24k(23896字节),所以我不确定您如何认为它是“相当庞大和臃肿的框架”。看起来您似乎没有真正提出实际问题,而是来试图验证您的先入为主的偏见。顺便说一下,Vue在经过最小化和gzip压缩后也只有20k,您认为这很新并且臃肿吗? - Robert McKee
都收到了,我其实很喜欢jQuery,并且在几乎每个项目中都使用它。最近,我一直在深入研究现代SPA框架的大量文献,比如Angular、Redux、React、Vue等等,但是惊讶/失望地发现有多少作者似乎确实有偏见对待jQuery。看来年轻开发者们正在远离jQuery,所以我想知道为什么BS没有这样做。 - Rabadash8820
我上面的第四个问题是我认为最值得回答的一个。但正如@trincot所说,它可能更适合直接向开发人员(例如在GitHub上)提问,而不是在这里。 - Rabadash8820
显示剩余2条评论
2个回答

19

回顾过去很容易做出评判(正如你现在所做的那样,有些缺乏远见),但是在2011年,jQuery并不被认为是臃肿或过时的,而且它是提供简单DOM访问的主要可靠库。因此,在那种情况下使用jQuery是很合理的。

事实上,6年后可能仍然没有另一个具有与jQuery相同的强大功能集和特性的库。


1
@Inertialboogie,“短视”是这里适当的词语;我没有意识到BS自2011年以来一直存在!这基本上解释了一切,但我很好奇他们今天是否会做出同样的选择。然而,这篇文章的普遍共识似乎是我应该直接问他们:P - Rabadash8820

2
Jquery 是一个流行的框架,许多开发者都有使用它编写代码的经验,这使得文档更容易理解。它也非常擅长处理 JavaScript 呈现的许多跨浏览器问题。
如果您真的不想使用 Jquery,则可以使用 Bootstrap Native: http://thednp.github.io/bootstrap.native/

1
谢谢你的回答!我之前听说过Bootstrap Native,但总是对使用第三方仿制品持谨慎态度。不过,这可能值得一试。 - Rabadash8820

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接