继续更新Web应用程序中使用的Bootstrap版本是否有意义?


17

对于可能不知道的人来说,Bootstrap是HTML,CSS和JS框架,可以用作构建网站或Web应用程序的基础或起点。

现在,我处于生产中的应用程序中,该应用程序是使用框架的版本3设计的,但具有与该公司投资组合中的其他网站一致的其他样式。

但是,我们将对该Web应用程序进行大量扩展,我想知道-我是否应该更新该应用程序正在使用的引导程序的版本?

我问这个有几个原因。首先是bootstrap的版本4与版本3并不完全向后兼容-许多辅助类已被更改,替换或完全删除,因此更新工作量不小(不是多余,但不是只需更新package.json中的版本号,然后重新构建即可)。

现在,我对引导程序的理解是,它最初是关于使您的网站/ Web应用程序起步的-可以这么说(因此得名)。但是考虑到应用程序已经超出了引导点,我是否应该考虑花费时间来更新引导框架?

我知道从表面上看这似乎是一个带有明显答案的问题-当然,您可以使自己的东西保持最新状态!!!但是,如果您将Bootstrap视为入门的一种方式,那么在启动并运行后,为什么还要继续更新框架本身?您已经为应用程序的需求定制了零件-您是否应该允许自己朝不同的方向发展?

如果Bootstrap作为框架真的是关于入门的(不同于像Rails或Django这样的框架在整个应用程序的生命周期中都在不断提高生产力),那么在某个时候,您是否应该与入门框架分离?

(例如,如果您克隆了一个Angular入门仓库来开始构建您的应用程序,那么您会在4或5个月后回来并尝试将对该入门仓库的更新合并到您现在处于活动状态的应用程序中吗?)

PS。这是我第一次在这里提出问题-如果这不是该论坛的适当类型的问题,我事先表示歉意。


2
I know that on the surface this seems like a question with an obvious answer - of course, you keep your stuff up to date!!!.不太明显。您将获得什么更新?获得的收益是否值得花费时间和金钱?您只是在更新CSS还是有任何重要的错误需要修复?是否存在引导3未成功满足的要求?
Laiv

1
我目前没有专门针对bootstrap 3的任何问题。但是,正在使用的工具之一是ng2-bootstrap,它是bootstrap js的特定于角度的端口,可删除jQuery依赖性。当我将其更新到最新版本时,我从该库中得到了一些奇怪的行为,这就是我在考虑使用另一种角度引导程序库的想法-更好地支持它,但仅适用于引导程序4。
snorkpete

....我知道我的问题遗漏了这些信息,但是我只是想知道是否有任何真正动机继续更新引导程序或仅冻结引导程序版本,使用自己的代码修复库中遇到的任何问题,并且不要不必担心与时俱进。
snorkpete

Answers:


18

您可以以与考虑其他任何依赖项相同的方式来考虑更新Bootstrap。

  1. 它会带来重大变化吗?
  2. 您从升级中获得什么好处?
  3. 收益是否超过风险或时间投入?

在CSS(如果使用帮助程序脚本,则可能是JS)依赖项的上下文中,可以通过以下方式考虑以下问题:

  1. 如果Bootstrap中使用的类名称发生更改,或者样式明显不同(可能会破坏您网站上的样式),则这是一个重大更改。
  2. 您可能会访问更好的模块化代码,更漂亮的网格等。
  3. 获得改进的收益很大程度上取决于您在先前的Bootstrap安装基础上已经进行了多少自定义工作。如果您做了很多工作,而这些工作都依赖于覆盖预期的样式,那可能不值得。

就个人而言,我认为一开始就可以将CSS样板放置在一个项目中。我永远不会修改实际的Bootstrap代码本身,并且通常以我想从Bootstrap中特别覆盖的样式为目标。这意味着,如果我升级Bootstrap,许多事情可能会以难以追踪的微妙方式破裂-对我来说,获得最小收益是不值得的麻烦。我将使用新版本的Bootstrap保存下一个应用程序或下一页。

我可能会看到的唯一例外是引入较新的网格或与布局相关的代码,但同样,这取决于您对旧版本的CSS依赖项进行了多少定制工作。


2
很好的说,我的朋友
snorkpete
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.