6
31 Comments

THE ONGOING QUESTION: React or Vue?

I've got a problem. I want to learn a framework, but don't know to either choose React or Vue.

I know React is much more developed, but Vue is simple to learn. Should I just pick one and don't look back?

Any advice would be awesome. 😄

  1. 5

    Hi Brayden,

    In every forum that someone poses this exact question, the answers usually boil down to one key takeaway:

    Learn React to make yourself more employable but learn Vue because it's fun to use.

    I don't agree with the above takeaway 100% but I do agree that it is a good summary of all the answers. Personally, I mostly work in Laravel and Laravel works out-of-the-box with Vue so that's why I learnt Vue first (I'm still a novice in React). Another great thing about Vue is that, in my experience so far, it's very quick and easy to put together an MVP in Vue since you can just include a script in the head and benefit from all of Vue's goodness.

    Coming to React, tools like Gatsby make working with this framework a delight and the introduction of Hooks has definitely made things more interesting. React is also better with TypeScript and GraphQL (though Vue3 promises better support for the former).

    In that sense I would suggest that if you have a free reign then Vue may be easier to pick up but, eventually, you might still want to learn React especially because there are just more solutions (whether in SSG or ready made tools). There's no "wrong" answer here!

    I hope that helps you a bit.

    1. 2

      Very true indeed. I am looking to just learn something simple for now, than I will try out React.

  2. 4

    I recommend you watch this talk given by Rich Harris talking about "Rethinking reactivity".

    I've worked with react for the past 3 years and I can say today, I never want to work with react again. I've used it for small and large projects and it just ends up being one big mess and constantly forces you to think about performance (among plenty of things). Don't even get me started with stores (blurrrrgghhhh, no one is convincing me that redux is GOOD).

    Vue? I don't really know. I've heard good things about it and I've heard not so good things about it, but it's probably worth more of your time than react.

    But instead of all this, why not just use Svelte? (Also Svelte typescript is alllllllmost available).

    Watch the talk, it's extremely informative.
    https://www.youtube.com/watch?v=AdNJ3fydeao

    1. 1

      Very cool, I'll have to watch it then 😄

  3. 3

    Hi @BraydenTW! As a caveat: I am primarily an iOS developer but I work at a React shop. So I hesitated to comment here as I might not be informed enough to provide good counsel...

    But with all that said: if you are interested in mobile app development React offers a nice segue into React Native so there is option value there?

    Thank you @BraydenTW for your help in the past. I just wanted to try and return the favor! :)

    Sae
    Co-founder of CRUU
    CRUU, the best darned React development tool ever invented by humanity this week.

    1. 2

      Very true. I wanted to learn React Native. I'll take that into consideration.

      Btw, BuildFaster just launched on gumroad: https://gumroad.com/buildfaster

      If you're interested in an easy-to-use and fast-to-build HTML theme, this is the place to get it 👍

      1. 1

        Congratulations @BraydenTW on the Gumroad launch! Awesome! Go forth and conquer!

        :)

        1. 1

          Thanks! Wish the best for Cruu too! 😄

  4. 2

    Stop thinking about which framework to learn and just start learning one of them :)

    1. 1

      Haha I did that yesterday. I’m learning React 👍 ⚛️

  5. 2

    I've worked with both on reasonably sized projects (very large projects for React) - and I can tell you that they are both very mature and unlikely to limit you in any meaningful way. Like many of these types of questions, I think the answer mostly comes down to personal preference, coding style, and mental model. Unless you need something very specific, e.g. React native, you're unlikely to regret using either one.

    I know this probably isn't the answer you're looking for (sorry) - but the truth really is that you need to try them both (and some other tools too!). For whatever reason I've ended up liking React a bit more, but I wouldn't have known that without trying both of them (Plus a few other frameworks besides. I haven't dipped my toe into Svelte yet, but I'm curious).

    It's worth taking a couple days to try different things out - it doesn't take long to see if one of them "clicks" with you better.

    1. 1

      Ok, makes sense. Let’s just say I try out both... but prefer vue over React and I choose vue as my main framework. What do you think I would regret when choosing vue over react?

      1. 1

        The biggest thing is just popularity I think. You're more likely to encounter React in the workplace, and if you're building your own project and might eventually have other people working on your code, you'll have a slightly easier time finding experienced React devs.

        Another side effect of this is that the ecosystem of components for React is much bigger. There are really good React options for pretty much every difficult UI challenge (Datepickers, drag and drop, etc).

        1. 1

          Well, you just convinced me 😂

  6. 2

    Go for React. It's a lot better in the long-term as it's better maintained, has a larger ecosystem and scales better.

  7. 1

    Go React! It's not that easy to learn but it would be more useful in the future!

  8. 1

    I think that if you learn React, Vue will be a breeze to pick up. I use React at work, and Vue for my side projects. The learning curve for Vue is tiny compared to React, and it's also less configuration. So if I were you, to start, I would pick React, but then I would look back (if you want to). Then you can form your own opinion of which you like better.

    1. 1

      Very true... thanks so much 😄

    2. 1

      This comment was deleted 3 years ago.

      1. 1

        Vuetify, and MaterialUI for React

  9. 1

    Hey Brayden,

    When I started modern web development I choose VueJS. Today, React is my new go-to.
    What I love in VueJS:

    • Vue file
    • Vuex
    • NuxtJS

    But I prefer React because:

    • ES6 and TypeScript friendly
    • JSX
    • Hooks
    • Community

    I just wrote an article if you want more details: https://medium.com/@lnalex/why-did-i-quit-vue-for-react-65315285fd90

    ;)

    1. 2

      Nice article. I think I will learn React

  10. 1

    Hi Brayden,

    I'm more of a C# person who has adopted some JS to deliver front end stuff. Definitely no expert on it, but a summary of my personal journey as a beginner has been (including Angular for context!):

    First - Angular 2 (up to 4 or so)
    Why chosen: Colleagues were running free workshops on it. I heard it worked well with .NET backends. I heard it was big but gave you everything in an integrated package.
    Outcome: Made several apps with it but suffered quite a lot. Lots of concepts as they say. My main two issues were the large templates needed for a component - it just added friction doing all these imports, exports etc that were all in string templates and not well validated. Second major one was the size of output. It was huge.

    Next - Vue.
    Why: Heard it was easy. Less need for JS for basic usage. Allows progressive adoption.
    Outcome: I did like it. HTML templates and directives for conditions, repeating elements etc were similar to Angular. Two main things I didn't love were the comparitively few controls. That said, Vuetify (component set) was very nice, but changed markup a lot in the last major update so updating was a pain. Quasar is another interesting one with mobile etc, but locks you into their build tools etc.

    The fact everything was in a large nested object (methods, computed, etc) was a bit ungainly for me. Sometimes if you put a character wrong the whole thing would fail to build, with no warning. Other times you'd get very clear indicator of the issue. That's the thing with having frameworks that parse larger text templates I guess.

    More recently - React.
    I'm yet to create a production app in it. What I like about it is that it's all code pretty much (even the JSX stuff compiles to method calls from what I can see), so you don't end up in a hole for ages hunting a strange bug. What I don't like is that it's currently stuck between this idea of class components and hooks (where each component is just a function). Each have their pros and cons, but hooks remove much of the 'friction' in creating a new component. Takes a second. I've tried to learn just hooks, but most courses present it all with classes, then have tacked on a module to learn the hooks.

    I guess you have to try them all. I did a free course on scrimba.com the other day - by james quick I think, about creating a movie search app with react hooks. That's a great intro. Cool platform too, it's like tutorial videos but the code is copyable and editable as they present.

    To compare how each achieves things, check out this page. It shows a ton of common tasks, achieved in Vue and React. See which one fits the shape of your mind better!

    https://sebastiandedeyne.com/react-for-vue-developers/

  11. 1

    I would also really recommend using Typescript for any project bigger than a few pages. I love it.

    1. 1

      Yes I will try that. 😄

  12. 1

    I'm going with Marko for my project. Developed by eBay and is the fastest 😄

    1. 1

      Haha, cool! I'll check it out

  13. 1

    Speaking from personal experience, the learning curve for Vue is pretty manageable.

    I haven't used React so I can't really speak about it, but I've been using Vue for 3 years now, and it works really well for me.

    I can use it as part of an SPA or a full stack app with multiple pages.

    If I'm building a landing page and just need to sprinkle in a bit of magic, I can drop a Vue instance in there and get to work.

    It also depends on your goals. Are you learning languages and frameworks for the sake of learning them, or for the sake of mastering a stack to build a business? If it's the former then you need to learn tech that compliments one another. If it's the latter then learn them all and build little projects using them to solidify your knowledge!

    Both are great frameworks.

    1. 1

      Thanks so much for the great response! I'll be learning a framework just for fun so I'll probably use Vue

      1. 1

        Nice that you join the Vue community, both has it's perks. But I believe Vue is much easier to learn, and by no way a bad choice even if you move past the MVP stage

  14. 1

    This comment was deleted 4 years ago.

  15. 1

    This comment was deleted a year ago.

  16. 1

    This comment was deleted 4 years ago.

    1. 1

      Wow thanks. I’ll let you know when I am interested

Trending on Indie Hackers
After 10M+ Views, 13k+ Upvotes: The Reddit Strategy That Worked for Me! 42 comments Getting first 908 Paid Signups by Spending $353 ONLY. 24 comments I talked to 8 SaaS founders, these are the most common SaaS tools they use 20 comments What are your cold outreach conversion rates? Top 3 Metrics And Benchmarks To Track 19 comments Hero Section Copywriting Framework that Converts 3x 12 comments Join our AI video tool demo, get a cool video back! 12 comments