Wolfr_
Who moved my (virtual) cheese?
Native Dual-Range Input
The majority of design systems work is busywork
Making an iOS App Simply by Prompting
An intro to building Figma plugins
Things about Storybook’s CSF3 that were not that clear immediately
SvelteKit form actions are the bomb
Just like I, a front-end dev + designer am thankful for something like Firebase, because my backend skills are fairly nonexistent.
Because it provides a copy-pastable subset of reliable classes where you end result will look good.
As a company we are often hired to fill a knowledge gap (exactly in design and front-end). The nature of agency work is to leave a deliverable for the client to work with.
My idea is that when the project is over and the design/front-end gap still exists in the team, perhaps it is better to leave something more manipulatable (I used the word malleable originally).
I think with the great docs that Tailwind has it might be easier for someone who is not a front-end dev to manipulate a `<div class="p-4">` to `<div class="p-3">` than to come across a BEM/ITCSS component, written in SCSS* where you have to understand much more concepts to manipulate it skillfully.
*(our preferred stack really)
My 3 blog posts were a genuine attempt at trying to dissect what I didn't like about the framework. Many people wrote in to thank me for that perspective.
I find it unfair to single out two historical tweets neither of which is directed at the authors.
I just genuinely wonder if blocking people that don't agree with you is a good strategy.
I guess over time things also changed, Tailwind 2y ago was not the same as Tailwind now. They hired a bigger team and became much more of a company.
A big reason for me is that I want the bigger group in our company to experiment with several CSS techniques to grow as front-end developers. If I (as a manager) set a constraint on one type of CSS it is difficult to learn more.
As an agency it makes sense to have broad capabilities. I think as a freelancer it's super fine to just constrain yourself to what you like, as you state there is huge demand out there.
Now, since we bought Tailwind UI to do our work, we are technically also a customer.
I like "atom"-like components better with semantic classes. In BEM/ITSS I'd make a component for -everything-. But in Tailwind we'd only make one for common "atoms" such as buttons, tags, inputs etc.
Code example: write ".t-button" and then use @apply to put the classes there. Keeping the design constrained to a set of tokens.
.t-button {
@apply border
inline-flex
items-center
px-3
leading-5
font-medium
rounded
focus_outline-none
focus_ring-2
focus_ring-offset-2
focus_ring-blue-500;
}Coming to Terms with Tailwind
Devlog – converting this WordPress site to Bedrock itself
Major updates to Bedrock HTML prototyping tool: PostCSS and PurgeCSS support
We design complex business software. Looking for a problem-solving designer with a lot of UI chops to design great software.
Where the same system is used across multiple code bases, with varying components, where you need to be able to accurately replace the look of a component, that might be coded in multiple dev environments (Angular, PHP, React...)?
If so, you would be running away from this approach fast. BEM/ITCSS all the way. How would you globally replace something that is marked up like this (example appears somewhere else in this thread)? How would you assert what this code means across projects?
class="text-4xl sm:text-6xl lg:text-7xl leading-none font-extrabold tracking-tight text-gray-900 mt-10 mb-8 sm:mt-14 sm:mb-10"
With BEM/ITCSS, you would have a custom namespace like `auk`: class="auk-btn auk-btn--primary"
And you can reason about it, maybe in project 2 it is class="auk2-btn auk2-btn--primary"
So now you can refactor the old buttons out to replace the new buttons. Good luck with the mess above.If people say: you can use `@apply`. Yeah. If you write your whole stylesheet in `@apply` logic, why are you using Tailwind at all?
Design tokens and the re-use of design variables is not a Tailwind thing by the way. Some people seem to be acting like it is. We've had variables in Sass for over since 2009. People have been doing clever things with variable maps (arrays) in Sass since forever. There's no way Tailwind can take credit for this.
I've written extensively about why Tailwind is problematic:
(1) https://johanronsse.be/2019/11/11/thoughts-on-tailwind-css/
(2) https://johanronsse.be/2020/07/08/why-youll-probably-regret-...
(3) https://johanronsse.be/2020/08/20/hey-your-api-surface-is-ca...
Don't fall for it! The marketing is sweet but the choice will hurt you in the end.