styletron
linaria
Our great sponsors
styletron | linaria | |
---|---|---|
5 | 46 | |
3,322 | 11,155 | |
-0.0% | 0.7% | |
6.5 | 8.4 | |
4 months ago | 16 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
styletron
-
A recruiter asked me this.
React is pretty much its own language at this point. With J/TSX. Not even CSS is immune to react's approach of "what everything was proprammatically generated divs?", case and point https://www.styletron.org
-
Tailwind CSS v3
Some technical thoughts as someone who could care less about fanboyism:
- One point where atomic CSS frameworks are supposed to shine over conventional CSS is bundle size, since they (at least the good ones) compile to only a single rule for any used value, rather than potentially repeating rules for semantically different classes.
- Another point where atomic CSS frameworks shine is just sheer volume of banging code out. When the bulk of your output is visual, mastering tools based on shorthands like tailwind, emmet, etc can feel very productive.
- Purely atomic CSS frameworks can make some workflows more difficult, e.g. by having too granular call sites and not allowing "let's see what happens to the overall theme if I do this design change" iterative style of work, or because workflows that edit CSS on the fly via browser devtools can no longer be used to limit impact within semantic lines (e.g. "I want to change padding only on buttons, without breaking everything else that happens to depend on the same padding value"). There are both design-oriented and debugging-oriented workflows that are affected in similar ways.
- You generally don't get visual regressions at a distance w/ atomic CSS. This matters at organizations where desire for pixel precision and simultaneously fickle design teams are the norm. But conversely, "can we just change the font size to be a bit bigger across the site" can often run into issues of missed spots. On a similar note, designs may become inconsistent across a site over time due to the hyper local nature of atomic CSS oriented development.
- Custom rules may as well be written in APL[0]; they usually aren't documented and it takes a "you-gotta-know-them-to-know-them" sort of familiarity to be able to work with them (or get back to them after a while).
- There are some tools that mix and match atomic CSS with other paradigms. For example, styletron[0] can output atomic CSS for the bundling benefits, but looks like React styled components from a devexp perspective, and has rendering modes that output traditional-looking debug classes for chrome devtool oriented workflows.
The main theme to be aware of: proponents rarely talk of maintenance, so beware of honeymoon effect. Detractors often omit that traditional CSS (especially at scale) also requires a lot of diligence to maintain. So think about maintenance and how AOP[1] vs hyperlocal development workflows interact with your organization's design culture.
[0] https://www.styletron.org/
[1] https://en.wikipedia.org/wiki/Aspect-oriented_programming
-
5 React.js UI Component libraries.
It is created, managed, and utilized by Uber. It includes a wide range of attractive components, with accessibility as the top focus. It is quick since it is built with the Styletron engine. Style overrides can be used to tweak themes, but in my experience, I've never required them because the design vibe they're trying for is precisely what I want.
-
Just-In-Time: The Next Generation of Tailwind CSS
[0] https://www.styletron.org/ [1] https://baseweb.design/blog/getting-started-with-styletron#getting-started-with-styletron
-
@blocz/react-responsive v3 is out
When we created the library, we were using styletron for our styles, and we wanted to bind the breakpoints we defined in @blocz/react-responsive with the breakpoints used for our styles.
linaria
-
How we improved page load speed for Next.js ecommerce website by 1.5 times
The code duplication occurred due to disabling the default code splitting algorithm in Next.js. Previous developers used this approach to make Linaria work, which is designed to improve productivity. However, disabling code splitting led to a decrease in performance.
-
An Overview of 25+ UI Component Libraries in 2023
KumaUI : Another relatively new contender, Kuma uses zero runtime CSS-in-JS to create headless UI components which allows a lot of flexibility. It was heavily inspired by other zero runtime CSS-in-JS solutions such as PandaCSS, Vanilla Extract, and Linaria, as well as by Styled System, ChakraUI, and Native Base. ### Vue
-
Why Tailwind CSS Won
I like Linaria [0] because your IDE typechecks your styles and gives you autocomplete/intellisense when typing styles. With Tailwind you have to look everything up in docs because it's all strings, not importable constants. Leads to a lot of bugs from typos that aren't a thing with type checked styles.
-
I've decided to go back to using the Pages Router for now (long post)
And if you're wondering why I'm not using something like Linaria or some other runtime-less CSS-in-JS tool, it's simply because I don't want to have to spend my time setting things up and working around stuff and all that jazz. I just want something that works, and I've already got a personal scaffold for getting SC to work out of the box with Next, so, right now, it's either that or sticking to CSS/SCSS/SASS. For me, that is. I know it's such a small thing, but, honestly, one less headache for me is 2 steps forward.
- What's the best option these days for CSS in JS?
-
How bad is it to use CSS-in-JS with regards to the future of React?
I know that there are solutions that generate static css files (like vanilla-extract or linaria), but neither of them work with app router currently (1, 2).
-
JSS vs Styled Components? and why?
If you really want tighter interaction with JS, try a zero-runtine solution like linaria
-
What is the best CSS framework to use with React? why?
https://github.com/callstack/linaria is objectively the best. It's 100% styled component compatible, but with zero runtime which not only makes it substantially faster, but also makes it easy to do things like server side rendering, etc.
-
Why is tailwind so hyped?
tags inside SFCs are typically injected as native
</code> tags during development to support hot updates. <strong>For production they can be extracted and merged into a single CSS file.</strong></p> </blockquote> <p>There are also 3rd party CSS libs that do the same thing such as <a href="https://linaria.dev/">linaria</a>, <a href="https://vanilla-extract.style/">vanilla-extract</a>, and <a href="https://compiledcssinjs.com/">compiled CSS</a>. Which can be used in the event you're stuck with something that doesn't have baked in support via SFC formats (looking at you React).</p> <p>These are my preferred ways of handing it.</p> <ol> <li>Tailwind</li> </ol> <p>Option 2 is tailwind, which works backwards.</p> <p>That is, instead of the above with extraction where you write the styles, and the framework or libs extract them and replace them with class names, it's the other way around.</p> <p>You're writing class names first (which are essentially aggregated CSS property-values) which then generate and/or reference styles.</p> <p>It has the advantage of being easy to write (assuming you've got editor LSP, linting, etc), but as you've discovered, it's difficult to read / can get really messy really fast.</p> <p>As far as all the other claims on the Tailwind site, it's all marketing, at least 80% bullshit.</p> </div>
- Individual css for every component?
What are some alternatives?
styled-components - Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress 💅
emotion - 👩🎤 CSS-in-JS library designed for high performance style composition
Tailwind CSS - A utility-first CSS framework for rapid UI development.
Fela - State-Driven Styling in JavaScript
vanilla-extract - Zero-runtime Stylesheets-in-TypeScript
JSS - JSS is an authoring tool for CSS which uses JavaScript as a host language.
classnames - A simple javascript utility for conditionally joining classNames together
React CSS Modules - Seamless mapping of class names to CSS modules inside of React components.