When I started Web Development I picked React as my first frontend library, because its so popular and this was all I knew about, then. Please, don't get me wrong upfront, I love React! ..and I think that it is righteously so popular for good reasons!
But in retrospect, I sometimes ask myself whether it's been the best choice for me to start with as a bloody beginner in Web Development?! When I think back (..only several months back) to when I first started coding with React, I only knew the bare basics of HTML, CSS and JavaScript.
In other words: I barely learnt to walk with these langauges in order to make my first steps, but suddenly I wanted to take a giant leap with that thing called React. Surely, I wasn't aware of that at that time.
I did not know that I wasn't ready for React, yet. But I went through tutorial hell anyways.
Somehow, partly due to persistent motivation and certainly due to abundant fantastic content from the React community, I managed to make some tiny steps with React aswell.
Most recently, I started learning Vue.js because it is used in my first project as a Junior Frontend Developer. Before that I only knew about the existence of Vue. Now, that I have tried it, I kinda wish for having made a more informed decision earlier, before jumping into either React or Vue as a beginner.
Because now that I've tried both Vue and React, I feel that Vue (maybe) requires a lesser knowledge of JavaScript in order to accomplish something.
So, I'm interested in how you feel about picking a frontend framework/library as a beginner. Do you have similar or completely different experience?
My vote out if the big three is Vue, but V2.6 rather than the new V3 composition API. The first benefit is it's progressive nature: you can call it from a CDN and don't need a build script if you keep all of the code in a single file. I think putting JavaScript code constructs (if, for) and event handlers into the HTML is more intuitive than injecting html into JavaScript functions as you do in React. The only thing that gets complicated in Vue as a beginner is passing data and events up and down the component tree and you will soon find yourself reaching for vuex or the event-bus pattern. I have not tried svelte.