I'm a professional PHP, Python and Javascript developer from the UK. I've worked with Django, Laravel, and React, among others. I also maintain a legacy Zend 1 application.
The default front-end toolset for Laravel uses Vue, so it's quicker to get working with Vue in Laravel than any other front end framework.
I have tried Vue a couple of times, and the issues I have with it are as follows:
Vue has a lot of special syntax for templating, while React is basically just Javascript and HTML with a handful of minor changes to attribute names so they don't conflict with Javascript reserved words, making it easier to remember
I've always had a strong affinity for Javascript, and React embraces the functional nature of Javascript to a much greater extent than Vue, particularly since the advent of the hooks API. A component is effectively just a Javascript function that returns HTML.
React is conceptually simpler. There's no two-way binding - instead you just pass props down from one component to another (or using context to share data with multiple components within a tree), making it fairly straightforward to understand what's going on
It feels more natural to make your components more granular in React than in Vue, and thus they are potentially easier to maintain
Vue feels less philosophically consistent than React to me. As noted above, React has an emphasis on functional programming, as opposed to OOP, and sticks pretty rigorously to it (they notably removed mixins because they caused certain problems, and encouraged the use of higher order components in their stead), while Vue is more forgiving.
I will concede that React is harder for front-end developers who don't necessarily know Javascript all that well to pick up, though.
The default front-end toolset for Laravel uses Vue, so it's quicker to get working with Vue in Laravel than any other front end framework.
I have tried Vue a couple of times, and the issues I have with it are as follows:
I will concede that React is harder for front-end developers who don't necessarily know Javascript all that well to pick up, though.
Wow, awesome reply. Thank you for taking the time to respond :)