了解Tailwind与Bootstrap的区别

736 阅读3分钟

它与Rails到底有没有关系?

Tailwind和Bootstrap都是CSS框架,所以可以说它们与Rails本身没有关系。这倒是真的。但两者都试图在最令人愉悦的开发者体验中尽可能快地 "完成工作",这也是Rails也试图实现的。此外,很多Rails开发者使用Bootstrap - 现在他们倾向于默认选择Tailwind。

Bootstrap是第一个进入这个房间的

Bootstrap在这里已经有很长一段时间了,而且至今仍然非常活跃。它的优势在于:一致的UI设计,跨设备的兼容性,强大的响应性考虑,以及已经开箱即用的动态组件(如导航栏)。

另一个优势是社区。它被广泛使用,已经有很长时间了,你很可能会找到你需要的主题或帮助。

主要的弱点是它 "强迫 "你使用他们的设计。这并不完全正确,因为Bootstrap倾向于越来越多的可定制。但是,即使是最近的版本,一些组件和行为如果不进行大量的黑客攻击,真的很难调整 - 例如,按钮行为。

进入Tailwind

Tailwind是一个实用至上的CSS框架。这意味着什么?一个简单的例子抵得上成千上万的解释,所以这里是你如何用tailwind设计一个组件。

<div class="flex items-center m-20 border border-gfray-100 rouded shadow p-3">    
    <div class="text-gray-700">
        <h2 class="font-bold text-2xl text-gray-900">David B</h2>
        <div class="text-sm">Product Engineer</div>
        <div class="text-sm">davidb@example.com</div>
        <div class="text-sm">(5595) 9876-4321</div>
    </div>
</div>  

乍一看,它似乎很恶心。我第一次见到Tailwind的时候,就立刻拒绝了它。我开始重新考虑,因为我看到:1)Github上星星的数量在飞速增加;2)有很多知名人士和机构在使用它。可能这两者都有关系,但无论如何。我不得不重新考虑我的意见。

我喜欢TailWind的原因是能够进行实验,并以最快的方式达到自定义的设计。

对于一个Rails开发者来说,这听起来应该是令人高兴的。请记住,在你交付功能之前,你要 "黑 "多少次。Rails的控制台。错误堆栈就在浏览器中。模型中的业务代码。只是为了在重构之前快速测试周围的东西,并拥有一个漂亮的生产代码。

这同样适用于Tailwind。你可以快速地黑掉一些东西,一旦你对结果感到满意,就进行重构。

对Tailwind来说,强制性的事情是 "清除 "CSS,否则你会有大量未使用的CSS文件被浏览器下载,使你的网站变得很慢。
另一个缺点是,你必须经常清理你的CSS组织方式,如果你想实现一个可维护的、可重复使用的CSS代码。
最后,里面没有JavaScript。对于一个CSS框架来说,有些人可能认为这很好,也很合理,但缺点是可能会错过一些动态的UI组件,比如导航栏。

Bootstrap 5:一个很好的折衷方案

Bootstrap 5还没有正式投入生产(在写这篇文章的时候,它还在测试阶段),但是我可以猜到Tailwind在这个最后版本中的影响。有更多的公用事业类。此外,你将有能力定义你自己的实用程序类,并在以后清除它们。

那么,谁赢了?

对不起,这里的答案很无聊:这取决于。

你必须用一个预制的、体面的设计来快速投入生产吗?选择一个Bootstrap v4模板。

你必须实现一个定制的设计,并且你喜欢黑客/重构的编码周期?选择Tailwind。

如果你想混合这两种方法,并且你不害怕尚未稳定的框架,选择Bootstrap v5。

其他可能性

我最喜欢的另外两个CSS框架是Inuit和Knacss。

InuitCSS,对于如何思考和构造你的CSS代码有一个坚实的基础和观点。然而,该项目在过去几年中并不活跃。

另一个我最喜欢的是KNACSS,非常简明扼要,但这更多的是关于个人品味。