From those who know more, is this a correct appraisal? Do the other frameworks also allow you to pick and choose and only use small parts as needed?
From those who know more, is this a correct appraisal? Do the other frameworks also allow you to pick and choose and only use small parts as needed?
I see why Vue was created, but I don't see why it's still around.
React has solved the complexity pain points, it's easier to develop in React than Vue now (imo), and Vue has just been copying features.
Not to mention the massive environment and cross-platform access (I don't see Microsoft making a react-windows-vue fork).
Also, if you want a job, React is far more popular (look at the hiring threads)
I would recommend Create React App using a TypeScript template.
> npx create-react-app demo --template typescript
edit: you guys can downvote all you want, I'm simply showing you the other side. I already use React, I don't care if you do or not.
Because a lot of devs in FE-land have little experience, so they still have to find out the hard way how some stuff breaks.
Like the "stringly typing" (a.k.a. no type safety because we use strings to refer from one bit of code to another) you see a lot in Vue: it is plain evil and can only be fixed by a really clever IDE or a new version of Vue that breaks compatibility.
A React code base feels like real programming comparably. I always recommend it much more.
React does not have low barrier entry. you can't just open notepad, edit blank index.html, include react.js via script tag and tinker with your html in 10 minutes to create simple widget - you need additional tooling, typescript compiler, etc. Vue is for people who used jQuery before and want to go reactive in shortest time possible.
You can choose how much React you want. You don't need tooling or JSX even.
If someone needs to change an H1 tag of X-component I don't have to do it and I trust that an HTML (I don't even know what you call someone who exclusively uses HTML at this point) expert, can do it.
I haven't developed much with React, but I suspect it has the same issues as template engines; pug, mustache, etc. That is, it's so intuitive to JS devs that simple tasks can no longer be performed by low-level HTML developers. Which means that some FE or FS developer is going to get tasked with menial data entry work when we need to rephrase a paragraph or header.
I don't use TypeScript either. I don't really have issues with typing. I've been developing for almost 8 years, primarily with JS but also GOLang and PHP. Not sure if I'm doing something terribly wrong or what. But I haven't had a typing bug that takes more than like 10 seconds to solve, and they're rare.
I do agree, the job market is overwhelmingly React. Might be because of React Native.
Generally yes.
Vue is on the lightweight side of things until you start adding more stuff (Vuex, Vue Router, http client, etc).
If you want a truly lightweight champion and are comfortable with vanilla JS check Mithril. In less than 10kB gzipped you get components, router, and an http client. By default it uses a hyperscript notation but you can use JSX too which is much better IMO.
Here is a starter kit I made for Mithril with Webpack to get you started: https://github.com/PierBover/mithril-jsx-starter-kit
Vue is on the average weight side of things.
Frameworks like HyperApp and Preact I'd consider lightweight.
I'd use React too if I had to work on a big project where there are more important factors than performance and bundle size.
https://en.howtruthful.com/o/react_is_a_better_framework_tha...
E.G: I teach reactjs by first starting with a simple script tag like you can do with vue. No webpack. No JSX. Suddenly students get it. No magic. It just makes sense.
But this approach is not common nor first class citizen.
What I like with vue is that the authors understand the value of scaling up, as well as scaling __down__. You can feel it in the doc, the API, the community...
So yes, all in all, vuejs will be lighter to use, not because the others can't be, but because it doesn't judge you for wanting to.
then i learned vue, and was able to build something in an afternoon. and, at the end of the afternoon, i had the tooling too. but the vue learning path doesn't teach tooling until after you get a feel for why and how vue can solve your problems.
how it is taught is 100% of the reason vue found a place in my life. HUGE missed opportunity by the other frameworks, which are so eager to prove that they have the bells and whistles that they trip over their own feet trying to get people started.
had i learned from you rather than from docs, i would be using react in my personal projects and never would have looked at vue.
Rarely do I ever have to think about performance, and when I do, it is always complexity in the non-vue code, not the framework itself.
(...which is not a knock on Vue! I still love Vue. But I'm starting to love Svelte even more.)