22

我在一家企业级 SaaS 公司工作。该产品已上线,开发时间约为 6 个月。显然,作为一家公司和产品,我们仍处于起步阶段。

我们的一个项目人员购买了他在网上找到的主题。它有一些很好的图像,但除此之外它大多是垃圾。用于 ui 的唯一其他附加组件是 jquery ui。我想提及我们使用 Microsoft 堆栈(C#、MVC3、Visual Studio)会有所帮助。我们还涉足 Html5 和 Css3。

最近我从我的开发者朋友那里听说 bootstrap 有多棒,而如何不使用它是愚蠢的顶峰。我想把使用 bootstrap 的想法带给公司的其他人,但我想先从 SO 社区获得反馈。

切换的优点/缺点是什么?你会推荐它吗?如果是的话,你会多努力推动开关?

4

3 回答 3

58

这是一个有点主观的问题,但我想知道自己,所以我会尝试回答。

假设您可以将它集成到您​​的产品中(单独讨论),Bootstrap 将让您快速找到一个不错的地方。我说“体面”,因为我不认为这是最终的结果。

优点

  • 适用于所有现代浏览器
  • 版本 3中的“移动优先”方法
  • 规范了许多小的 CSS 烦恼
  • 轻的
  • 可定制
  • 鼓励使用 LESS CSS ( http://lesscss.org )
  • 给出一致性
  • 帮助有审美挑战的开发人员(尽管我相信每个开发人员都应该具备 UX 的工作知识)
  • 许多漂亮的入门模板可用(https://wrapbootstrap.com/http://bootswatch.com/等)
  • 与 jQuery 集成(有些人可能认为这是负面的)
  • 附带一些 jQuery 插件
  • 一些 jQuery 插件现在提供 Bootstrap 主题

缺点

  • 在复杂的数据输入屏幕方面表现不佳。当然,屏幕应该对用户来说很简单,但这并不意味着表单在技术上可能不复杂。有时,用户训练有素,需要复杂的表单,以便他们可以快速完成工作。

  • jQuery 插件是有限的。当然,您可以集成自己的,找到其他 3rd 方控件等。但开箱即用,您缺少重击,如网格、树视图、拖放等。

  • 命名约定和语义是平庸的。示例:使用<i>标签作为图标。类名,如“pull-right”。

  • 它非常可定制,但不可避免地有许多网站开始看起来很相似(就像 Wordpress 一样——考虑有多少博客网站看起来相同)。

最后,伟大的利弊这是别人的代码。不是你写的;如果您希望它以不同的方式工作,您必须发现如何做到这一点,以及如何偏离既定的代码流。

实例探究

以下是我在最近的几个项目中处理它的方式。所有这些都是使用 c#、ASP.Net MVC、HTML5、CSS 2/3 和 jQuery 编写的(类似于问题中的开发堆栈)。

作为参考,我在 JavaScript 和 CSS 方面相当扎实。如果您的开发团队中没有人精通 CSS 或 JavaScript,那么从头开始将是一项艰巨的任务(并且可能是浪费时间)。

安全/合规产品

该产品具有复杂的安全模型,并且对数据输入/工作流程很重。应用程序管理的业务流程很复杂,因此 UI 的主要目标是简单。我从 Bootstrap 开始,但在一天之内就把它删掉了,因为我知道我想要完全控制,而且我已经有了基本的 CSS 模式和一些我自己的 JavaScript 组件可以构建。

但是,我保留了 LESS CSS。我也喜欢颜色编码的按钮。偶尔(现在仍然如此),我使用 Bootstrap 作为参考来了解广泛使用的框架如何应对特定挑战。

我知道我有幸能够在这个产品上投入大量时间,并且我做出了时间承诺来改进我自己的框架和我自己的文档。我对产品的了解越深,实现我想要的 UI 所需的自由/可扩展性就越大。

该产品已进行商业演示和销售,用户界面非常受欢迎。我花时间在自己的代码上做出了正确的选择。

在线向导

这是一个简单的、面向公众的网站,用于收集用户信息。我设计了大部分解决方案,但我没有全职工作。

最初,使用 Bootstrap 非常顺利。事实上,这个答案在项目完成之前吹捧 Bootstrap 是成功的。

团队喜欢 Bootstrap 并熟悉它。他们使用定制的 Bootstrap 模板快速构建了一些模型。由此产生的用户体验远高于平均水平,并且 Bootstrap 节省了时间。团队在需要时可以轻松找到文档。

事实证明,在 Bootstrap 模板中挖掘“别人的代码”对团队来说是一项挑战,但他们设法去掉了不需要的东西,让它看起来可以接受。

Bootstrap 使项目通过了原型阶段。一旦我们开始微调,它就变得不那么有用了。我们从未做出“停止使用 Bootstrap”的决定,但当项目上线时,我们已经找到了优秀的 JavaScript 组件,并定制了无法识别的 CSS。

简单的公共网站

这个网站纯粹是为了营销,需要快速建立。我的客户购买了他们喜欢的模板,我们在几个小时内对其进行了定制。

模板的代码相当容易浏览。唯一的困难是它是为先前版本的 Bootstrap 编写的。

完美吗?没有。但它很快就完成了工作,并且在大多数设备上运行良好,而我几乎不需要付出任何努力。

文档网站

我使用了 Bootstrap(100% 未定制)来减少为在线系统构建具有专业外观的文档(例如 API 文档)所花费的时间。为此,我喜欢它。它使我能够提供具有专业外观的内容,并且在风格上浪费零精力。

结论

如果您的时间和/或经验不足,请考虑使用 Bootstrap。如果您正在计划一个主要产品,请做好准备,您可能需要“深入挖掘”代码。

当然可以使用 Bootstrap 来构建一个漂亮的网站。没有也同样可以这样做。为工作使用正确的工具。至少将 Bootstrap 作为候选工具进行一次调查可能是值得的。即使您有经验,您也可以掌握一些技巧。

最近我从我的开发者朋友那里听说 bootstrap 有多棒,而如何不使用它是愚蠢的顶峰。

很少有技术性的东西(或遗漏)是“愚蠢的顶峰”。花一个周末,尝试集成到您产品的一部分中。您将很快看到它的优势/劣势并开始确定它的价值。

于 2013-01-09T02:11:35.987 回答
3

不要将 Bootstrap 视为一种选择。蒂姆·梅多拉(Tim Medora)提出了很多好的观点。但我会注意到,通过深入研究代码或使用主页的自定义页面,始终可以提取 Bootstrap 的各个部分并自定义它的各个方面以获得看起来新鲜的东西。当然,如果你保留基本的导航栏和菜单,你会得到一些感觉非常传统的东西,这可能是个问题。但是很多人使用 Bootstrap 来制作独特的外观

使用网格系统但设计自己的组件是完全可以接受的。或者放弃网格并使用它们的组件。这不是一个非此即彼的命题。唯一真正变得棘手的时候是当你决定你真的想要改变一些东西时,比如菜单的外观和感觉。做到这一点的“正确方法”并不总是显而易见的。您可能必须深入研究代码,并且很难确保您所做的更改不会破坏其他内容。但这仍然比根本没有示例要好。

我认为你唯一能犯的错误就是没有彻底了解 Bootstrap 可以为你提供什么。

于 2013-01-09T06:20:07.173 回答
2

Bootstrap 为您提供了一些网格系统、样式和 CSS 技巧以及 JS 组件的解决方案。其中一些不适合您,但这不是全有或全无的选择。把它作为一个很好的默认开始,这在美学上是正确的;) 和便携。如果您将保留此默认设置而不进行自定义,那么您的站点将与所有其他保留相同默认设置的产品相似,但这是一个很好的起点。BS 中的按钮样式和导航栏在大多数 BS 产品中是相同的,但在大多数不使用 BS 的产品中按钮样式也是相同的;)

于 2013-01-09T07:27:34.213 回答