This presentation is not a dig at your preferred workflow*. If you find something that works for you, use it.
If you're looking for something new to solve a problem,
this talk will help you navigate the lingo.
* unless your workflow is based on styled-components
Type-checking, bundling, compilers*
Runtime
Build time
Styled-components
Vanilla-extract
CSSOM, dynamic styles
"dumb" .css file
run-time
but once
Stitches
Very JS
Just CSS
Styled-components
Tailwind
Theme provider
CSS vars
CSR only
Everything
Styled-components *
CSS-modules
* this one is a little bit unfair but I'm sticking with it
<button class="text-base font-medium rounded-lg p-3 bg-sky-500 text-white">
Accept
</button
<button class="btn-primary">
Accept
</button
.btn-primary {
border-radius: .5rem;
background-color: rgb(14 165 233);
padding: .75rem;
font-size: 1rem;
line-height: 1.5rem;
font-weight: 500;
color: rgb(255 255 255);
}
features / components
added bytes to load
Utility-first
Semantic
- Class based
- Statically extracted
- barely any runtime
- variants
- just CSS
* what BoomerCSS uses
** what BoomerCSS kinda uses