Why did you pick Vue than React?

  • @metalsadman :

    I purposely posted this message in Quasar forum and not Vue forum, because I also wanted to see if you are here, means you use Vue and Quasar. And when I do defend Vue in the next meeting, it will be Vue + Quasar as a solution package.

    Thank you for your feedback!

  • There is something that I think people tend to take falsely, when they see Vue for the first time. They think, “Ha, that is a toy. It’s not going to work for more powerful applications.” What they are misconstruing is Vue’s affinity to attract newcomers to it as being “too simple to be used for something complex”. It’s because it’s API, it’s way of doing things, is much more beginner friendly. This beginner friendliness starts with its CLI being a first class citizen, to the UMD version, for implementing it in existing projects, to it’s concepts, which make sense at any level of experience (except for the concept of slots maybe 🙂 , which once learned, is amazing).

    People say, Vue’s API and having to learn it up front is more complex than React’s. I say, in the beginning maybe. However, Vue’s bit of opinionation in this regard means a form of constraint and constraints are good in programming, as long as what can be done with it as a tool is flexible. Over time, these constraints mean code bases are similar and easier to reason about and require less “best practices”. Less best practices means better more stable code i.e. better quality and for sure, a lot less cognitive load over time.

    I don’t know if you’ve noticed, but in Twitterdom, Evan You started a bit of a flurry, when he noted how he likes React hooks. Well, if you went to the React side of the ball park to find out why they came to life, you will find this article from Dan Abramov:


    There is also this video, where hooks was presented as the solution to “what sucks in React” (remember, this is Facebook telling the world what sucks about React):


    • Classes ( I still get a good chuckle thinking about this design decision being a mistake)

    • Wrapper hell / Logic Sharing

    • Giant Components

    Those are some major problems. I’ve not seen these same issues in all of my time watching and listening to the Vue community. Maybe nobody has gotten to the size of Facebook yet, but still, I can’t imagine them being a Vue problem.

    Yes, hooks have clear advantages over mixins, but I would say, because Vue didn’t go down the road of inheritance, and instead followed the mantra, “prefer composition over inheritance”, it could avoid most of those problems for the most part. And I truly believe, if your components follow SRP, issues with mixins are limited too.

    Of course, React is now going back to functional components and with hooks, it solves it’s ugly problems. So, it is advancing. That’s a good thing. And if you watched that video, React is starting to look more and more like Vue. Hahaha!

    At any rate. Both Vue and React are powerful reactive UI libraries. I still think Vue has advantages over React, because it does it’s job smartly, in a way that is simple, yet powerful. That is the ultimate goal in programming such a tool. React, to me, is less simple and maybe too powerful and that “too powerful” can be understood as, allows for too much crap. Which, as you can see, even Facebook found out about the hard way. 🙂


  • @s-molinari ;

    Could be speculation on my part, but I believe Evan You designed Vue, way after when AG and React were hitting the walls, so he learned from others mistake what not to do and how to do it right. Although React maybe in version 16, But when vue took off, it was when React had spun many versions to get things right, just like AG.

    I had zero experience with any SPA framework. I studied all 3, but my brain was always happy with Vue. I never liked AG and React. It’s hard to become creative in something you don’t like. But this is all my personal feelings. Monday I may too cook up something to tell my View of the Vue. 🙂

  • Yup. Your brain and my brain must be alike. 🙂


  • @s-molinari

    Then you’re in trouble… 🙂

  • @hawkeye64 said in Why did you pick Vue than React?:

    You might also be interested that Vue now has more Github stars than React: https://github.com/search?utf8=✓&q=repo%3Avuejs%2Fvue+repo%3Afacebook%2Freact+repo%3Aangular%2Fangular&type=Repositories&ref=advsearch&l=&l=

    really nice to see that i’m in good hands with vue, in such short time it has caught up with other popular frontend framework which is amazing when react and ag are owned by gigantic companies.

  • @hawkeye64 ;

    Thanks man. Very useful ammunition. 🙂

  • I always hated bloat.
    I didn’t like the fact that you had to compile javascript or typescript, with React and Angular.
    I find that frontend development is waaaaay to complicated…

    I read an article somewhere that said :
    Start with VueJS because it’s the easiest to learn.
    Then Angular, because it has tons of stuff similar to Vue.
    Then, if you want to be a rockstar, go with React.

    I started vue using Umd… because before I found Quasar, I HATED web pack.
    It was NEVER working… I don’t want to spend 2 weeks learning just to configure a tool!!
    Python and dotnet doesn’t get in the way like web pack does!!

    What I really liked was the easy tutorial / video on the vue website.

    Then, I found Quasar… which meant I could build Electron and web application without learning a lot about web pack (just the bare minimum)… and without learning much about frontend. (I’m more of a backend guy)

    Quasar just… works… and is beautiful! 🙂

    Also, writing cross-platform apps with the same codebase is awesome.
    That’s why I back this project.

    The only reason I’d go with angular or react is if you have a huge developer team with a huge budget doing a huge project.
    But for everyone else, go with vue. (small and medium projects)

  • Thanks for the nice words @pg !!! - and with Vue 3.0. The argument about TypeScript and large teams will also be part of Vue’s (and Quasar’s) sales pitch. 😁 In fact, currently an app extension for Quasar is being worked on, so devs can add TypeScript support. But, until the cores of Vue and Quasar are built with TypeScript, the app extension is temporary help.


Log in to reply