28
55 Comments

Who uses Vue? What makes it better than React?

Hey IH 👋

Over the past year, I have spent time working on projects and mastering React. It’s gone well!

However I keep hearing how Vue and other frameworks can be great for rapid prototyping, quick builds, blah blah blah.

Is there anyone here that uses an alternative JS framework from React?(Vue, Svelte, etc)

What, in your opinion, makes it awesome?

Thanks, this advice is super helpful.

  1. 13

    I use Vue and am a huge fan.

    Our product is built on Django and while Django can be set up with React, Vue blends into HTML unlike React which replaces it. This makes building on top of the Django templating system extremely simple and fast, especially if all you need to do is make a few API calls to dynamically update screens based on user input.

    As a newbie programmer, I feel that Vue has a more generous learning curve than React as well.

    1. 1

      This was my experience as well. Vue is great for if you're using some other SSR tech to render the HTML and then you want to just layer on a javascript framework to make further DOM manipulation easier. Great for easily upgrading the front end of legacy apps, where React seems to require a bigger overhaul to integrate it.

    2. 1

      Aww drat 😐. I just spent a bunch of time evaluating a bunch of different tech to make development as easy as possible for myself and had made a decision. Now Vue sounds like exactly the tool I need…

      I’m any case, thank you for responding sir!

      1. 1

        No worries! Depending on how far along you are, it may not be too late to explore it as a solution, or try it out for a future project!

    3. 1

      Yeah using React with Django is basically using React with Django Rest Framework. Forgoing all the usefulness of Django templating is really a pity. But React with DRF is okay too

    4. 1

      That’s very true! I’m working on a Django project soon too — super helpful advice !

      1. 1

        No problem! Good luck!

  2. 9

    I'll be a little contrarian here.

    I use Vue, Angular, and React regularly across various projects.

    There are endless pro/con lists out there, but they all solve the same core problem: Specifying your HTML declaratively so you can worry about your business logic instead of about HTML rendering.

    Pick one, master it, and then focus on making something your users will benefit from.

  3. 6

    Vue is better than React when you fundamentally understand how the framework works. You understand JavaScript, you look into the intricacies. You've read the source code in the repo, you get it, you're not superficial in your willingness to understand what's going on. You're not mashing together components and snippets in the hope of having it transpiling succesfully.

    React is better than Vue when you fundamentally understand...you get the point.

    Until then it's only a matter of he say she say. It doesn't count.

    Rant

    The way I choose to look at things is:

    The fastest framework is the one you know best.

    To be technical that statement isn't true. Some frameworks are faster, but most probably you don't need it. It's in the realm of milliseconds. Yes, the side project you are building that has close to... 0 users doesn't need it.

    • No library, framework, plugin, script, UI KIT will make you go faster than your ability to execute.
    • You should look into other frameworks when you encounter problems or issues within the library / framework you're using and can't avoid them - hard to believe. By that point you will probably know fundamentally how other frameworks work, what makes them tick. You've read their source code and you have a great understanding.
    • If you know one UI library well and you pick that over the latest benchmark, latest article hype bs or tweet... you will have a better time. Who cares if a different UI library or framework released yesterday has benchmarks 25% faster in X isolated cases. Most probably you will not hit those scenarios. If you do, you are aware of them.
    • By the time you worry about performance or "what was the better library" you don't have to worry about it....because you have the money, people or acquired knowledge.
    1. 2

      Great points here! I agree with what you mean by “ The fastest framework is the one you know best.”

      I’ll take these into account!

    2. 1

      Absolutely true. Always choose the tech stack that you are good at. Most of the projects I worked are built with PHP and Vue.

  4. 5

    We are mostly a Vue shop at my company. It seemed the easiest and simplest to work with even though I am sure React is good as well. Also the single component thing in Vue was really nice for me.

    1. 2

      I see what you mean. Sometimes simplicity is just key.

    2. 1

      I agree, I feel like the development direction of React is more geared towards large Enterprise applications. It's over-complicated for anything else.

  5. 5

    I've used AngularJS, Angular2+, React and Vue so far.
    Vue is definitely my go-to for frontend development.

    The syntax is easy and well separated (separate template, javascript and style sections), documentation is great, the community also, and there's no JSX.
    I don't like JSX, feels a bit like PHP days :)
    Plus, Vue is a progressive framework. It means you can start slowly integrating it into pieces of your web page/app.

    1. 1

      True, that makes sense. I’m definitely hopping on for the large, open community, docs, and simplicity.

  6. 4

    Hey!

    Vue can be as big or as small as you want. It literally can do anything React can do and vice versa. Remember, 80% the developer 20% the tool, in our case the tool is React/Vue

    Why I like vue so much is because it feels like I'm writing HTML, CSS, and JavaScript but without the bullshit. Vue comes built-in with a router, which is a godsend as I've been on React and HATE using plugins for it. Maybe I'm doing react wrong but built-in CSS scope with vue

    1. 3

      It is, it is. What I'm using with React right now is NextJS (amaaaazing for SSR, apis, and routing) and Tailwind (the best css tool ever by far).

      Vue still looks tempting so I'm taking a dip on the wild side I guess lol.

  7. 3

    Im working with Laravel and Vue.js.
    Vue is perfectly integrated in Laravel which makes the developement process pretty quick!

    In the end use the framework which you enjoy more!

  8. 3

    I use Vue for all of my side projects. Some things I particularly like:

    • It's less verbose than react
    • Single File Components make it really easy to make CSS that's scoped per-component
    • It's easy to start small (ie. replace a single button with a Vue component) and add in more Vue features later (full page views, routing, state management, etc) piecemeal as you go
  9. 3

    Hi Brayden, I've been using Vue daily for several years now. I feel that its structure makes it simpler and easier to use than React. With version 3 out now, they have really taken performance and developer experience up a lot.

    What makes it awesome for me is that the learning curve is pretty low as there are a ton of great learning resources and the docs are really great. The new composition api in the newest version add a lot of flexibility and ergonomics. It has great reactivity and features around reactivity that are much easier to use than React in my opinion.

    I like the appeal of Svelte because it's objectively more performant than React. I've used it for a simple personal project and enjoyed the experience. I've built a site in Gatsby (my first major experience with React) and I don't get the hype around it. I think it has a lot to do with what you learned first/used most/feel most comfortable with.

    1. 2

      I see what you mean. Yeah, not a big fan of Gatsby either :/

      Thanks for sharing!

  10. 3

    I'm a huge fan of React and have projects with 40k+ lines of code using it.

    Recently used Vue. It makes a ton of sense for smaller sites that need some interactivity such as ecomm or web apps that need to make API calls and update a few elements, tables/charts.

    React requires advanced knowledge and can quickly get messy in the wrong hands.

    I feel like Svelte is massively overhyped by devs, but I might be wrong.

    1. 2

      Svelte is only overhyped if you haven't used it. After using it for 5 projects now, I see absolutely no reason to use anything else, as Svelte is superior in every way: less code, less boilerplate, faster build time, smaller size, ... everything.

      1. 1

        You might be right. I tried to build something but quit and went back to React.

        With Vue I was able to use it because the syntax is just HTML. I think if the syntax for Svelte was different I might have liked it more.

        1. 2

          Give SvelteKit a try. It's not quite stable yet, but it doesn't take long to get started and productive. The fact the Svelte tutorial only takes a couple of hours means there not much syntax to learn.

    2. 1

      "React requires advanced knowledge and can quickly get messy in the wrong hands." Can you please elaborate on it?

      1. 1

        React isn't opinionated and it lets you do a lot.

        So developers can make mistakes.

        Frameworks like Nextjs make it easier to use.

    3. 1

      Yeah, Vue does seem pretty sweet. Since you have experience on both sides, would you say that for bigger sites React is the way to go? Or could Vue be enough for those “40k+ line projects”?

      1. 1

        Depends on the project.

        Lines of code is an interesting way to look at it. But I would go deeper actually.

        Are you doing complex interactions client side.

        If so use React.

        If not use Vue.

        1. 1

          Hmm, I see what you mean. Thanks!

    4. 1

      I think Svelte has a lot of potential once it matures a little more. Its performance is objectively amazing.

  11. 2

    This article may help you understand the similarities and differences between the two:
    "Vue vs React – How to Go from One Framework to the Other" :
    https://www.freecodecamp.org/news/vue-vs-react-comparison-of-frameworks/

    1. 1

      Good resource - thanks!

  12. 2

    Both Vue and React are "incrementally adoptable". You can start using both in a small part of a single page and grow the usage from there slowly. Vue is a bit more focused on this in their onboarding, but React can do it too.

    I've used Vue a bunch, and liked it. It feels clean and is intuitive for me as a "js is something which works around my HTML" person. Vue felt easier to pick up for me, coming from a non-node background.

    Recently, I built a project with React and Next.js and ... I liked it a lot as well! It feels more code-centric feeling compared to Vue. Even more lightweight, but I haven't used Vue in a while. I didn't have problems finding solutions to my problems on Google (probably a bit easier doing so than with Vue a few years back).

    I still don't have favourites, and probably would avoid both Vue and React for anything which doesn't need the interactivity of an app. For simple applications, I'd avoid either as long as possible though :D

    If you're comfortable with React, and don't see an immediate to shop around you'll be able to get everything you want done with it.

    1. 1

      Awesome - thanks for the advice!

  13. 2

    I use Svelte on all my projects now (5+ and counting). I honestly see no reason to do anything with React anymore, as Svelte is superior in basically every way (I mention those ways in another comment).

    1. 2

      What complex projects have been built with it?

      Would love to see some web apps etc.

      1. 2

        I built listenaddict with it. Others who use it are the NY times (the creator works there), Apple has used it, 1password has used it, a bunch of others too.

  14. 2

    We use vue in combination with PHP. We are currently working on an airtable competitor In terms of complexity it can count.

  15. 2

    I built and now support a medium-sized e-commerce-like product (a platform for running loyalty programs) using vue on front (storefront). To me, vue code seems to be a bit easier to read and understand, I bet that's because HTML in vue code will never look like js - there's quite a distinct separation between your js code and HTML chunks.

    1. 1

      Thanks for sharing this!

  16. 2

    I'm using Vue for my office job, Vue has a great ecosystem like Vue router, Vuex (state management), for newcomers it's great to choose an already predefined project starter.

    But for some side projects, I also explore other frameworks like NextJS and SvelteKit, it's great and fast to get started.

    1. 1

      Yeah, NextJS is my all time favorite so far. But it definitely would be worth for me to check out other options.

  17. 1

    I've been using Vue for several years and recently started learning React. I think it is good to learn both but I still prefer Vue over React. Vue just seems to make more sense on how I think things should be done.

    1. 1

      Yep, I guess if it ain’t broke don’t fix it.

    1. 1

      Wow, that’s neat. I believe Adobe and Netlfix use it… but i might be wrong….

  18. 1

    I use Vue because I learnt it and it works well for me, so no need to learn something new :D

    1. 1

      True true. Sometimes that’s all it takes.

  19. 1

    Big VueJS fan here. I’ve also used React (mostly in React Native) professionally so I have a good grasp of both. Here are my thoughts:

    Advantages of Vue:

    1. Truly progressive, you can use it for tiny projects or very large ones. It can be as simple as dropping in the script tag, no build step required.

    2. Computed properties: this is fantastic. The closest thing in React is useEffect + useMemo but for VueJs this is built in.

    3. Performant out of the box. In React Native, you have to always remember to useCallback or memoize your arrow functions so as not to cause unnecessary rerenders. You may not notice this in React for Web, but it’s very noticable on React Native on low powered devices. VueJs reactivity system is smart enough to rerender only things that actually changed so you spend less time worrying about this. Sometimes you get the opposite problem: you need to ask VueJs to rerender when it is being ‘too smart’

    4. First party state management: Vuex has first party support and basically everyone uses it. Makes it easy working across different projects. React, on the other hand, has so many state management systems… Redux is a pain in the butt to use (too much boilerplate).

    What React has better over Vue:

    1. Better TypeScript support. Vue 3 has better TypeScript support thought but still not as good as React.

    2. More popular in the US and bigger community. I was hired for a US company to do VueJs work because apparently it was hard to find VueJs programmers in the US (i’m from Asia).

    1. 1

      Yep! The lack of typescript support was surprising and unfortunate. Back to react.

    2. 1

      Thanks for the tips!

  20. 1

    I use vue all the time and I really like it.
    It was super simple to learn, and I felt that I could just start and learn as I go.
    I didn't use React for anything except a little playground, but I can say that I didn't like jsx. Why should I write code that spits html instead of just writing html?
    Vue just blends into html so nicely, and there's separation of html/logic/css.
    By the way, in Vue you can also write render functions if you want to, but I never wanted to ;-)
    I have a few large projects with complex interactions like drag-and-drop, animations, etc, and I never hit any wall.
    I also use Quasar framework that has very nice components library plus build tools that allow you to build your app for mobile, web, electron, cordova... Very nice framework

Trending on Indie Hackers
Bootstrapped a Shopify app to 500+ paying clients with an MVP. AMA! 29 comments Rejected from YC 13 comments Milestone: $1 million paid out to mentors (soon) 10 comments 29 days left before 2022 🔥 What do you want to finish & accomplish before the end of the year? 9 comments First Launch on Product Hunt! 7 comments Launched our first widget 🔥 1 comment