Live data from Hacker News

Tailwind is a leaky abstraction

jakelazaroff.com

371–380 of 391 posts

Re: Tailwind is a leaky abstraction

#371
post #296

Earlier quoted context omitted.

Then what's the advantage of Tailwind?

Standardised and clean CSS syntax. The benefits in that context are debatable, a component based frontend architecture is where it absolutely shines. If you end up using it in that context you won't need to ask this question, it quickly becomes clear that it's the optimal path.

What can't pure CSS do here and that Tailwind does ? The CSS syntax is already clean and standardized if you use it properly and don't name every little piece of interface. It is a genuine question, by the way...

Re: Tailwind is a leaky abstraction

#372

Earlier quoted context omitted.

> The point is not to hide the complexity of CSS, but to provide access from the markup to enough of capabilities of CSS that you don't have to edit your stylesheets 95% of the time, when you alter the styling of a document. This makes Tailwind seem like a lot of machinery (in the sense of bundle size, running code, and pseudo-language) just to avoid opening a file at dev time. Layouts are often "collaborations" - th…

> This makes Tailwind seem like a lot of machinery (in the sense of bundle size, running code, and pseudo-language) just to avoid opening a file at dev time. It’s not about avoiding opening a file. It’s about avoiding the risk and/or cost that comes from editing a stylesheet that applies globally. If you change existing rules, you risk breaking the layout somewhere you didn’t anticipate. Or, to avoid that, you treat…

But can't you do the same with CSS ?

If every selector in a file begins with the component class, isn't it the same as writing styles in the component JS file ? I mean, the only real benefit I see is the forced encapsulation in JS compared to "soft" encapsulation in CSS. But, it's something so trivial to learn and practice that the soft part shouldn't be an issue. And if it is, then it is time to learn some rigour, no ?

Re: Tailwind is a leaky abstraction

#373
post #296

Earlier quoted context omitted.

Then what's the advantage of Tailwind?

Standardised and clean CSS syntax. The benefits in that context are debatable, a component based frontend architecture is where it absolutely shines. If you end up using it in that context you won't need to ask this question, it quickly becomes clear that it's the optimal path.

CSS is standardized…

Re: Tailwind is a leaky abstraction

#374

Earlier quoted context omitted.

Okay you pointed me at a Tailwind plugin that provides Bootstrap classes. I have no idea what point you're trying to make.

> a cursory look gives me the instinct that Tailwind is kinda like Very Fancy Bootstrap I was refuting this as it is not really the same, and pointing to you something (a UI library built with Tailwind) which is more logically comparable to Bootstrap.

> kinda like

You seem to have missed some words. Please point out how Tailwind is not a tool that makes working with CSS more standardized and simpler for someone just sitting down to your code base?

Literally the entire original comment was just that Tailwind fills much the same role as Bootstrap did, just with far more capabilities. Thus, it engenders the same flame wars that were fought over Bootstrap. You responded by saying, "It's a superset of Bootstrap."

Which is what I was saying by "Very fancy Bootstrap"?

Re: Tailwind is a leaky abstraction

#375

To start, it's ok to not like Tailwind. The author's complaints are valid in the sense that Tailwind doesn't really solve the edge-case problems they apparently have. But the author finishes by saying "Maybe you really want to avoid coming up with names." And yes, I really do want to avoid inventing names and I'll tell you why. If I have two projects both written in Tailwind, it's trivial to switch between them and m…

> `body.single-page .entry-content .btn.btn-small {}`

But why would you do that?

That's awful CSS. And nothing calls for it. There also are tools for linting and analyzing CSS that would flag this atrocity. Everything is there for us to use CSS in a good, simple way.

Re: Tailwind is a leaky abstraction

#376

CSS has done more damage to developer productivity than any other technology out there. And I'm including .csv's. CSS is over 20 years old and we as an industry have been spinning our wheels on how to do simple arrangements of rectangles the whole time. Truly, it is time to just bin the whole thing as a failure.

When CSS was first invented nobody had mobile devices in mind (they werent around yet). So now a lot of RWD was taped on top of it. Actually GUI Design is challenging, many people dont find Desktop GUIs intuitive. I don't know how to calculate the amount of possible shapes one can have with RGB on a 3x3 grid.

Luckily you only need rectangles, no matter the size of the grid :)

Re: Tailwind is a leaky abstraction

#377
Tailwind is not an abstraction, it's a collection of one-rule utilities.

Tailwind is not for beginners, it's a dependency reversal for professionals.

Tailwind is not replacing CSS, it's embracing the realities of component libraries.

Tailwind is a paradigm shift...

Re: Tailwind is a leaky abstraction

#380
post #5

> You still need to know CSS. Yes. Tailwind CSS is just CSS: > A utility-first CSS framework It is not a leaky abstraction, because it isn't an abstraction. It's a only a special syntax for applying predefined blocks of CSS to HTML elements.

> ...it isn't an abstraction. It's a only a special syntax for applying predefined blocks of CSS to HTML elements.

How would you define abstraction then?

Post reply on HN