Live data from Hacker News

Tailwind CSS marketing and misinformation engine

nuejs.org

21–30 of 125 posts

Re: Tailwind CSS marketing and misinformation engine

#21
post #18

One thing I would like to see is a re-implementation of the button in your style of CSS to strengthen your position. I'm not siding with either approach, I just think it would make the article better. Your, "don't make things cleaner"/"make clean things", images show part of the Tailwind classes used to make the black button on one side and the class "primary" on the other. Elsewhere in the article you define "primar…

Hey. Thanks for the comment. I could add that, but wanted to focus on the title of the article: the technological origin, vendor lock-in, and their messaging scheme.

I have written a different article about Tailwind vs semantic CSS, which compares the amount of code needed to implement the same thing and how the resulting site is order of magnitude smaller with the semantic approach:

https://nuejs.org/blog/tailwind-vs-semantic-css/

Re: Tailwind CSS marketing and misinformation engine

#22
post #19

Earlier quoted context omitted.

Tailwind limits the scope of your rewrite problem to the element you want to change. No fears about side effects on other parts of the page.

so if I write into "style", I have all advantages of tailwind?

No. There is no inline style for @media, :hover etc.

Re: Tailwind CSS marketing and misinformation engine

#23
I think Tailwind appeals to « back of the front end » devs which is a role that didn’t exist until 2010 or so?

I think tailwind is valuable and as always middle way is the best approach but more difficult to structure and definitely not good for commercial purposes.

My favourite way is to put tw classes for spacing components and layout directly in the template while using bem-like naming for the component ‘s own appearance.

Having utilities like mb-2 that can override the default set in a component I think solves many headaches and is one of the strengths of having a full set of utilities.

However I also find a real strength is having a standard accross devs AND projects and so when tailwind advises to customise your project. Change the meaning of mb-4 or text-lg then I find it completely undermines the value of having a standard utility set.

Re: Tailwind CSS marketing and misinformation engine

#24
I guess you're missing the whole point of an entire market segment adopting utility CSS like tailwind or uno (and windi before that) for reasons. It wasn't an arbitrary decision and I very much doubt it was mostly decided because tailwind guys are good at marketing.

Semantic CSS class names are a failure because the context in which they are named is often a moving target. In the real world, a good name for something at point A in the timeline is not likely to hold up at point B for the majority of developers out there. It also relies on a persons capability to extract meaning from an arbitrary name and hope that their understanding of what that means lines up with the original developer's intention of what it means. And then that can fall apart if you are working with teams with different cultural perspectives and language proficiencies.

Utility CSS also lets you tie into an underlying design system that enforces consistency. You know someone doesn't know what they are talking about when they make the claims that tailwind is just inline styling because it isn't. Inline CSS styles are absolute. Utility CSS classes are tied into a design system that can be mutated and changed.

Honestly, your whole Nue project is written about in such a way as to be mildly insulting. Like I would never even consider using it regardless of whatever supposed superiority it may or may not possess because you kind of come across as a pretty unlikeable know it all. I don't know if that's true or not, but that's the impression I get reading the stuff you've written. This article is sort of another example of it. You literally tell people who use tailwind CSS to "learn CSS" and that we are taking part of a "trend". It's got the real dinosaur vibe get off my damn lawn vibe going for it. That's saying a lot because I'm pretty sure I'm older than you and I've been doing this as long, if not longer.

Re: Tailwind CSS marketing and misinformation engine

#25
post #13

Like many I was initially skeptical of Tailwind because I thought it made the code look “ugly”. But then I started using and almost immediately noticed the productivity boost. Two things that I noticed while using it was 1) I never knew how much I disliked naming things before I didn’t need to do that anymore and 2) how big of a mental burden it was to keep the mapping between the id/classes and the CSS, not mentioni…

Naming things is notoriously hard, but it's a skill you need to master to make reusable things. You name things that repeat. Think of function names in JavaScript, class names in object-oriented languages, or component names in Figma.

Re: Tailwind CSS marketing and misinformation engine

#26
post #2

Author here: This is probably the most important content piece I've ever written. Curious to hear your thoughts. Thank you!

I don’t like Tailwind. But you probably have it the wrong way. You claim malicious intent such as vendor lock-in. Your article sounds as if all this was planned as a cash grab from the beginning. The more likely development path of Tailwind was:

1. Create a utility CSS system, use it, feels nice, publish an article around it why it might make sense and why it feels nice (which is probably a hindsight explanation)

2. People start using it, way more than ever expected.

3. Iterate on the product

That’s it. I’m pretty sure nothing about this was planned, the vendor-lockin wasn’t planned and just happened.

While your arguments about inconsistencies about semantic components in Catalyst vs semantic class names are right, it is highly likely your assumptions are missing a critical piece, because there are clearly many happy users.

Re: Tailwind CSS marketing and misinformation engine

#27
I agree with the overall sentiment of the article, but find it a bit harsh.

I honestly find the real debate to be inline styles vs stylesheets.

Tailwind is just fancy inline styles. Personally, every single time I've used stylesheets in a large production-grade project it's an absolute mess. Every project I start now I use inline styles. I'm pretty indifferent on Tailwind though, it's sometimes nice to get opinionated defaults.

Re: Tailwind CSS marketing and misinformation engine

#30
I like Tailwind because it's easier to prototype & modularize design. The HTML can be copied from templates, other sites, & it more or less works. Carson Gross, creator of HTMX, wrote an article about Locality of Behavior, which I believe applies here.

https://htmx.org/essays/locality-of-behaviour/

I don't use HTMX as I would like a smaller JS bundle. I would also like an efficient CSS system of utility classes. I think Hypermedia libraries & CSS utility libraries can be improved. I'm also working on app systems to reuse code across domains...using a consistent domain language. A challenge is interoping my domain ontology with other domain ontologies. The class name interop is an area where Tailwind has found success. You can start with their prototypes or another developer's prototype with copy/paste. This is great for engineers/developers who are less inclined to spend enough time learning the art of perfecting design.

This can happen in semantic markup as well, however the bounded context of the example site is less likely to interop with your app...because the semantic markup is less bounded than utility classes.

Tailwind also has `purge` to remove unused CSS classes. Yes, `purge` is a build step & it requires the js/html content to evaluate. However, if you want to optimize the JS bundle size, you probably use a build step.

Post reply on HN