这是一个有点主观的问题,但我想知道自己,所以我会尝试回答。
假设您可以将它集成到您的产品中(单独讨论),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 有多棒,而如何不使用它是愚蠢的顶峰。
很少有技术性的东西(或遗漏)是“愚蠢的顶峰”。花一个周末,尝试集成到您产品的一部分中。您将很快看到它的优势/劣势并开始确定它的价值。