Ant Design – the second most popular React UI framework
Ant Design is a React UI library on GitHub, featuring enterprise-level UI design components in TypeScript. It supports multilingual features and enables extensive theme customization via CSS-in-JS.
Read original articleAnt Design is an enterprise-class UI design language and React UI library available on GitHub. It offers high-quality React components, written in TypeScript for predictable static types. The library supports internationalization for numerous languages and allows powerful theme customization through CSS-in-JS.
In one case I was working on a real estate platform, so I had to build a listing search page (similar to Zillow). This means you're rendering lots of little dots on the map, and on hover, each one will open a popover with the listing details.
Using Ant Design brought this page to a standstill - massive performance issues, we're talking >1 second between frames. Turns out, it was rendering a unique portal element for every dot on the page, regardless of whether it was open or not.
I tried hacking it a bit but eventually gave up, and just wrote my own portal component that simply replaced the portal content with whatever you hovered over. After that we were back to 60fps.
These days, there's just much better options such as shadcn/ui [1], chakra [2] or radix [3] which when paired with frameworks such as floating ui [4] are just much better.
[1]: https://ui.shadcn.com/ [2]: https://v2.chakra-ui.com/getting-started [3]: https://www.radix-ui.com/primitives/docs/overview/introducti... [4]: https://floating-ui.com/docs/getting-started
Something like DaisyUI but using other languages when needing interactivity.
Also, tested the DatePicker and it's examples with time is unusable on mobile, renders outside of the viewport without option of scrolling.
But I wouldn't be averse to trying Ant again. Last time it was lacking something I needed but that was years ago. Might be time for another attempt :)
Development could be a little clunky with some things difficult to customize, although I think that's gotten somewhat better. I also remember a few things having Chinese documentation but missing some English translations. Haven't used it for a few years so not sure if that has been more filled in or if there are more English speaking maintainers involved now.
Still think it looks nice visually overall.
It's also been ported to Angular:
In the past we've found Antd doesn't play well with custom components, and can often have weird performance implications.
It was a decent way to get a nice UI up fast, but we quickly found a need to build custom components or go elsewhere.
Styling was also a bit of a pain iirc, though I believe things are better with Antd 4+.
At my new gig we use Tailwind + shadcn, plus an increasing number of GPT-generated one-off components :)
It would be so much nicer using something like Elixir LiveView for the kind of apps I’m developing. But having to implement so many basic components from scratch just doesn’t make sense.
I mean I can fully see the downsides of introducing big 3rd dependencies into a codebase but not using them would be (in my opinion) a huge waste of time.
Isn’t this a problem for other people (that aren’t using component libraries) as well?
How can anyone be productive with non React/Vue stacks for that reason?
I’d really wish there would be other solutions (web components) so I hadn’t rely on React.
It's very batteries included, you don't even need to use any external form handling library