Woah, the TailwindCSS project just released their newest version, with a brand new landing page… this one is just a blast to look at:
Let’s use that chance to talk a little bit about Tailwind!
I love how they really understand their domain and really live by what they preach for. Even though the utility first CSS approach was pretty controversial and frowned upon first, they have proven that good documentation, and a good eye on practical use-case scenarios will go a long way, even if the tech looks odd.
The project (which is OSS at its core), does a lot of things right. Their major advantage in the beginning was that the core maintainers are both developers and designers (whereby one of them is like a designer designer… a person who works in proper UX / UI tools, not just in code).
They had a concrete problem they wanted to solve (don’t worry too much about CSS cascading, have a good subset of CSS that makes sense for building beautiful products), and made a framework to tackle this problem.
They made sure the documentation is easy to understand and navigate. They created Screencasts and other material to help others understanding the concepts. They nailed their explanations on why their solution is good for solving real-world problems and thought deeply about their target audience (whom are they advertising for? what technical backgrounds do they have?).
I personally use Tailwind in all my work projects, we even use it for a Top 500 fortune client right now and integrate it in an existing web platform. It mixes extremely well with the ReScript / React ecosystem (that’s also why we are using it for rescript-lang.org), or with any other templating / component system really. Vue, Svelte, Preact, Drupal, Handlebars / Express, Laravel,… you name it, it just fits into any system.
I am really happy about the success of Tailwind, because it really shows that there is actually a good chance of winning against all odds (CSS-in-JS was already well established in React) just by thinking really hard about the end user experience, subsetting an existing technology and polish it to perfection.
They basically crushed it with a 2-3 person team and are now considered to be a serious, production-ready platform for styling web apps. That is a very big accomplishing, and I salute them for their success. Really well deserved.
My big hope is that ReScript will follow its lead of being a really well polished subset of its original platform, focusing on the things that actually matter for the end user (even if it looks controversial at first), and make it just really pleasant to use.
As some people might have noticed, we started to advertise a more pragmatic approach of tackling ReScript applications. We don’t go for the purity / full type safe approach. We don’t evangelize for functional patterns, fancy syntax extensions, or other more complex language constructs that would theoretically be possible within the language. That’s because we want to focus on the “build great products” aspects.
You don’t need many ReScript constructs to build really astounding webapps that are also fast and easy to maintain (functions, variants, records,
-> pipes, interop syntax). That’s our focus, and I am 100% convinced that this strategy will make us going places in the near future!
For those who haven’t tried Tailwind and felt uncomfortable with CSS-in-ReScript solutions so far, maybe give this a try. ReScript + React + Tailwind is pretty much a no-brainer for me nowadays, and it’s there to stay.
Have a great one!