Meanwhile, react.js has over half the participants saying: "I've USED it before, and WOULD use it again".
Meanwhile, react.js has over half the participants saying: "I've USED it before, and WOULD use it again".
I coded with Angular 1 for 2 years and had to open the doc each time I wanted to use ngRepeat…
I just wanted to render a list components or conditionally render something.
When I made the move to React - following the painful Angular2 beta update - I was so relieved to just use Javascript again.
It's been amazing writing templates that are just functions in a clean language like jade/pug. Jsx still has a lot of boiler plate.
https://github.com/tdumitrescu/virtual-jade
Also has a webpack loader https://github.com/tdumitrescu/virtual-jade-loader
Most of all I love this kind of libs that work well with other libs. It's like Lego programming. Choose bricks you like and stack them.
And while React is simple, you quickly have to add a router, some state management etc., so instead of a small simple library most React-projects I have seen end up being a custom framework.
Modals: https://reactjs.org/docs/portals.html
Or animations (in react-native at least, but if you click the link you'll see it works for the web just as well): https://www.webpackbin.com/bins/-KfKys3S2mgEH9UsE8GL
In Vue you're pretty much in the rain. The community isn't encouraged to explore due to half-baked-in solutions, and baked in stuff in general is browser-complacent and thereby very limited. So you get css class animation groups (=react-animation-group), state is a one trick pony tied to the lib, theming isn't considered. There are so many open gaps and holes in the eco system at large, i'm scratching my head over how this would possibly be a plus or easier to the developer. It is often not.
Re. animations, etc., those aren't too hard with lifecycle methods, which, if I understand correctly, Mithril copied from React.
Not a framework, but library.
Mind elaborating on this? I'm about to start a project that will use SSR, and I'm really interested where Vue (which would otherwise be my preference) might limit me.
It is possible, but not a good option, to also use React without a build step by either skipping JSX (ugly and cumbersome to use) or by using the Babel runtime (large, not really meant for production).
To me, it's one of the easiest frameworks to teach and maintain.
While I believe React is technically a more correct way to write applications, it can be very heavy-handed. Vue is a great compromise for mixed front-end / full-stack teams.
A bit of apples and oranges comparison but writing Vue felt just like first time I wrote Python many years ago: FUN
I write a lot of embedded Javascript (based on Spidermonkey) so I was happy to find that vue seems to make the same decisions I often make in my own code.
I am sure React is great for full time webdev of heavy SPAs but learning curve feels longer, plus the whole framework feels heavier.