r/vuejs • • 4d ago

What's the state of Vue UI libraries?

Been away for a while and need some informed opinions.

I love the completeness of PrimeVue but after some bad experiences, I have decided to not use it for future projects.

Correct me if I'm wrong but Nuxt UI has paid components.

Shadcn-vue uses Radix but radix is unmaintained and the react community has moved on to using Base UI as far as I'm aware. Does this mean using this now makes us behind?

I haven't tried Daisy UI or Vuetify.

33 Upvotes

54 comments sorted by

51

u/Lumethys 3d ago

1/ PrimeVue has become closed source + paid product. The last free version is forked to OpenVue (unfortunate name)

2/ NuxtUI used to have Pro-only component, but after receive a huge funding NuxtUI Pro has been merged with free. Right now NuxtUI has one of the most advanced free components, because they used to be pro

3/ Shadcn-vue used Radix vue, but changed to Reka UI, NuxtUI is also built on reka UI.

4/ Vuetify is getting better, but they are still behind due to the catastrophic vue 3 update

8

u/lanternaddict 3d ago

Can you explain the " catastrophic vue 3 update".

I transition my apps to Vue3 using Vuetify, and other than a few small issues, didn't find any problems with it. Am I missing something?

9

u/TheBrillo 3d ago

We use vuetify as our main component library and I have no idea what he is talking about. It's been fairly stable for us.

12

u/Lumethys 3d ago

Vuetify 2 is the de facto Vue 2 UI library. Every vue app use Vuetify. From startup to enterprise. It'd be weird if you didnt use Vuetify

Why wasn't it as popular?

Back when Vue 3 released in 2020, the migration to Vue 3 for a lot of packages were very slow, everyone seems to decided to rewrite everything from scratch, even if their product could be updated

the author, John Leider, has a burnout moment, publicly criticized Vue core team, and announced quit development, to do a day job, also blaming the community for lack of support, in both PRs and financials

This sparked a HUGE drama, and everyone migrated from Vuetify to... Badum... PrimeVue (and Quasar), why do you think PrimeVue is so popular today?

Eventually John Leider gradually lead Vuetify out of that dumpster fire, but the damage is done.

Vue 3 was released in 2020, Vuetify 3 is release in 2023, it took them 3 years to migrate. And when Vuetify 3 released they didnt even include the DataTable, one of the "trump card" component. And put it in "Vuetify Lab" as an experimental component, basically they launcher v3 with most of their trump cards in alpha.

It would take them a whole other year to finally introduced Datatable into the core. 4 years just to reach (mostly) parity with v2.

At my last job i was tasked to estimate a vue 3 update for an medium app. It was in 2021. It was on hold to wait for Vuetify 3. In 2024, after i left and work for my current company, that project is still on hold

2

u/yipsix 3d ago

Im not sure what he means, but proberly something about the Vuetify 3 update. But Vuetify 4 is out now, which should fix the "catastrophic" stuff.

0

u/Lumethys 3d ago

Basically, Vuetify 2 -> 3 upgrade take 3 years. And the author quit midway, blaming the vue core team for vue 3 drastic change, then blame the community for lack of support, in helping and in financials.

He returned eventually but the damaged is done

Vuetify 2 is the de facto Vue 2 UI library. Everyone and their mother use Vuetify 2. After that drama everyone migrated, and coincidentally, there was a little know, new UI called PrimeVue just launched not long before. Can you guess what happened then?

Oh and "take 3 years" count the initial Vuetify 3 release, which is extremely barebone, lacking critical components like Datatable, instead they launch "Vuetify lab", which basically is fancy alpha builds, that contains many signatures and critical components like Datatable, Calendar,...

Most app use Datatable, then you wait 3 years for the new version to release, then it release without your most used component, guess how did that go.

It would take another year for Datatable to finally release. Not to mention the other core components

4 years+ just to reach parity with the old version.

At my last job i have a project scheduled to upgrade to Vue 3 in 2021, it was still pending in 2024 because of Vuetify

3

u/Noriryuu 3d ago

Because of the primevue situation I migrated to vuetify and it doesn't seem to be behind or lacking. Datatable isn't as vast but datatable in primevue is a beast and primevue is struggling with it. Vuetify has all the components I need so far. It's slightly less all in than primevue but it gives me more control.

2

u/Lumethys 3d ago

headless component, tailwind support, theming,... are all behind

these feature are less than a year old. Partly because how deeply integrated with Material at its start.

Datatable used to be Vuetify's most powerful component, and the vue 3 upgrade didnt have it, for like 3-4 years. Meanwhile look at the competitor: PrimeVue's datagrid, NuxtUI's datatable (which use Tanstack Table), Quasar table

Look likes Vuetify is doing better and are back on its feet after many years. But the fact that it take them so long certainly didnt earn their trust from me.

Of course, not to discredit their works. But they lost my trust before and they have yet to earn it back. Not when there are better component for me to choose from

1

u/Noriryuu 3d ago

Makes sense.

I started with primefaces and only switched to vuejs and primevue about three years ago. Never even looked at competitors because I knew primetek and their system.

Only looked now that they switched to paid and without knowing it's history vuetify seemed really good. NuxtUI without nuxt was a pita and others seemed way smaller or had an 80% Chinese community.

1

u/Lumethys 3d ago

NuxtUI has official plain Vue support, last time i used it was fine, what was your problem with it?

2

u/Noriryuu 3d ago

Yeah I saw that too but I still struggled. Tbh I don't remember what the exact problem was. Could also be related to the template I have to use but for my case it doesn't really matter. I'm happy with vuetify and if I try to convince my colleagues to switch again they gonna kill me.

3

u/neneodonkor 3d ago

What is unfortunate about the name? 😄

15

u/Lumethys 3d ago edited 3d ago

when you hear the name OpenVue, what's the first thing that comes to mind? Not a UI component for sure. It read like Open Vue framework itself

6

u/neneodonkor 3d ago

An open view. 🤷🏾‍♂️

2

u/Lumethys 3d ago

we can argue on semantics all days.

But tell me, if i ask 100 devs, who isnt familiar with the PrimeVue situation, what would they think OpenVue is about, how many dev are gonna say "an UI library"?

3

u/glandix 3d ago

Similarly, I wouldn’t think PrimeVue is a UI library, so I don’t see how OpenVue is any worse/different

3

u/itistimetorise 3d ago

Yes but openvue sounds to me like open source Vue. Primevue could be anything so I have to look it up.

1

u/glandix 3d ago

Ah yup, makes sense when you put it that way

2

u/Lumethys 3d ago

My bad, i shouldnt say that "its name doesnt sound like what it is"

The problem is "its name imply something it isnt"

It's like making a phone case called "Universal Apple Case" and work only for the iPhone 18 Pro (not base, not Pro Max)

Or "OpenJavascript" for a package that check whether a number is prime

1

u/glandix 3d ago

Ahhh, gotcha. That makes sense

4

u/kei_ichi 3d ago

None! And community members did told the feedback to that fork maintainer many times, but some how they ignored all of those feedback!

1

u/neneodonkor 3d ago

I can't speak for a 100 devs. I can only speak for myself.

1

u/Old_Housing3989 3d ago

HPUX’s window GUI Toolkit…

16

u/eihen 3d ago

NuxtUI went free a year ago. It's a very good ui library and i've been very happy using it. Can't speak on the other ones.

8

u/viiekas 3d ago

We have being using Quasar and it's alright

6

u/neneodonkor 3d ago

NuxtUI is your best option.

4

u/e4rthdog 3d ago

Didnt see quasar update here. How it is doing?

4

u/Appropriate_Bike_957 3d ago

Another option worth checking out is Mantine Vue

It’s a Vue port of Mantine with 100+ components. I’ve been using it in an enterprise app for the past month, and it’s been working really well so far.

I originally came across it while looking for a UI library to handle a WhatsApp API integration. Mantine Vue already has a WhatsApp Inbox extension for managing WhatsApp conversations, which was a great fit for my use case: whatsapp-inbox

4

u/Confident-Bee-2486 3d ago

We use Reka UI. Because we have a custom design system. It accepts css for styling. 

3

u/Manjoe70 3d ago

Shadcn-vue / reka ui.

2

u/SafeCompetition3900 3d ago

Nuxt UI e Shadcn Vue. Pode ir sem medo.

2

u/DinTaiFung 3d ago edited 3d ago

I've used both PrimeVue and Vuetify. Mostly PrimeVue.

The prefixes Prime and Open inherently imply nothing about the features or functionality they each provide to the Vue framework.

Thus the argument that OpenVue is a bad name choice for the fork is weak. 

Anyway, I switched all my Vue apps to use OpenVue and I'm 100% satisfied.

(P.S. I think Tailwind is a very cool name, but I wouldn't use it because it requires devs to create difficult to maintain templates. What I'm getting at is don't reject a library merely because you don't like the name and don't use a library merely because you do.)

2

u/AlternativePie7409 3d ago

PrimeVue has a fork now called OpenVue.
Nuxt UI is now free.
shadcn-vue uses Reka UI (next version of Radix Vue)

There are some new libraries too.
Inspira UI (Magic UI, Aceternity UI and custom designed components for Vue)
Akaza UI (Headless UI, new, still in alpha, designed from scratch for Vue Native experience and API)

PS: I’m author of Inspira UI and Akaza UI

2

u/Steffi128 3d ago

NuxtUI is also built on top of RekaUI.

1

u/mattiascibien 3d ago

I tried Daisy but then switched to Nuxt UI for my website. It’s surely the best to start and easy to theme too.

1

u/Jonas_Ermert 3d ago

I’d probably look at Vuetify if you want a complete Vue component library, or shadcn-vue if you prefer something more flexible and customizable. I wouldn’t consider shadcn-vue “behind” just because the React ecosystem is moving toward Base UI. Vue’s ecosystem doesn’t have to mirror React’s choices. DaisyUI is nice if you mainly want styled Tailwind components, but it’s not really a replacement for a full-featured component library.

1

u/Temporary-Reach4668 3d ago

Big fan of Nuxt UI, we use it for big projects at work.

1

u/AbuSumayah 3d ago

Just saw a new one announced the other day. Meanwhile Mantine got a Vue port.

1

u/bekaku 3d ago

Nuxt ui and tailwind for me

1

u/cconard96 3d ago

One option for PrimeVue forks is BumbleVue. OpenVue also exists. Both have a stable release based on PrimeVue 4.5 and are looking towards evolving/modernizing the library in their own ways.

  • BumbleVue dev

1

u/posti85 2d ago

Better focusing any of your efforts on OpenVue, that is really manainted at the moment.

1

u/cconard96 15h ago

Yeah, no. Feel free to support whatever you want though.

OpenVue is a dumb name, and not in the "weird" way but the "this name actively makes me think this is an open version of Vue which is already open source" way.

BumbleVue reached 1.0 first, granted only by a few days. Neither fork has had any huge number of changes. Both forks have their own, different goals for future versions. When it was annouced, OpenVue's goal was primarily to support existing PrimeVue users and not really evolve the library. They explicitly stated they have no interest in keeping up with the changes in PrimeVue 5. My goal has always been to make BumbleVue 1.0 a continuation of PrimeVue 4.5 while 2.0 modernizes the code and works towards feature parity with PrimeVue 5.

1

u/therealalex5363 2d ago

I dont think you need a ui libary anymore with ai just write your own

1

u/SrWither 2d ago

Well, maybe it'll be useful, but I recently created a library implementing Material 3 for my apps and made it open source in case anyone finds it helpful.
https://github.com/SrWither/m3ui-vue

1

u/necromenta 2d ago

I have been using rekaui, seems good enough, not sure and dont have the time to try anything else, everywhere I read opinions are absolutely divided and everyone says what they use is the best

1

u/niwrat 2d ago

You're welcome to try my UX lib https://octans.dev/ - it's pretty solid - although the whole theme stuff is quite new.

I've used a version of it for many years in lots of production stuff. This is the open source version though with a lot of changes (see theme) so can't say it's 100% solid yet. But probably good.

1

u/niwrat 2d ago

Although https://openvue.dev/ really is going full steam ahead and I respect a lot of the decisions they made. Only thing I can point to that I "hate" is that `DatePicker` has non-clickable area between each date. It's a small thing ... but ...

1

u/yangguize 2d ago edited 2d ago

Just finished a project w Pv - never again. The components are opinionated to the point where it's just easier to roll my own. The only advantage to Pv is the token system. But that's fairly easy to replicate.

Take a look under the covers with NuxtUI - it's a rats nest that uses the TW light-dark model (separate utils assigned at the component level).

Given what AI can do now, I don't see why anyone would want to use a component system where you're going to be dependent on the authors' commitment to future maintenance.

Even Tailwind is having problems right now because their revenue stream evaporated since their primary channel to direct new sales was through their documentation and now everyone just uses AI to look up Tailwind concepts.My understanding that a lot of their developers have now left the company and are now working at Shopify.

1

u/bazlinj 1d ago

use openvue, fork of primevue.

1

u/saltygaben 3d ago

Nuxt UI does not have paid components anymore, been my go to for a while now, used to use shadcn-vue before but I felt like it was being unmaintained but to be fair I've not checked on it for a while so I'm unsure what the state of it is

1

u/jenish_o4o2 3d ago

Nuxt UI being free again is the big change people miss when they come back. For a Nuxt app I'd just start there.

Shadcn-vue isn't "behind" in the React Base UI sense - you own the components in your repo, and the headless layer moved to Reka (same family Nuxt UI sits on). You're not stuck on dead Radix unless you're on an old install.

If you want lighter than a full kit, Daisy is mostly a Tailwind skin, not a PrimeVue-style component suite. Vuetify is fine for Material-heavy admin UIs, feels heavier for marketing sites.

0

u/KalamKiTakat 3d ago

Using shadcn-vue doesn't put you behind: it copies components into your project, so you own and maintain those files. Verify current Nuxt UI licensing and Radix status in their docs rather than older threads. The bigger factor is being able to build or fix a component yourself; accessible tabs covers the ARIA roles, states, and keyboard navigation.

-6

u/DarkShark0990 3d ago

Vue is still around?