I know this is a fairly common question, but I feel like this stuff is pretty dynamic, and things fall in/out of fashion over time.
I am an adult student doing the self-teaching route, and while my grasp on vanilla JS isn't stellar, I feel like it would be a good idea to start incorporating a framework into my learning. I just have no idea which to choose. To be honest, Svelte looks the best to me, BUT I am looking to be marketable in the future, so it's probably best to start with a more popular framework.
React seems to be the obvious answer popularity-wise, but I want to hear updated opinions from people in the field. While I haven't completely defined my focus, I like creating UI's and really have fun with CSS/Sass.
Thanks in advance, and I hope you're all having a great and safe weekend.
I am glad you like Svelte! and I am glad you didn't listed Angular.
You could always learn them at the same time tho! It's really up to you! Have fun
While it's hard to recommend any framework/library, I'd recommend you start with something that is relatively popular and has a little more maturity. I recommend react because it is arguably the most popular out of the three, so you'll easily find support, and most importantly, a job with this. Vue is a good second option, and also great to learn. To my knowledge, it was actually created by some of the original devs of React. Not sure if that's actually true or not. On to Svelte. This one is actually really great, and I love the approach they took with doing all of the "dirty work" at compile-time. The problem is that it's relatively new, not as mature, and while you're never guaranteed to find a job with any language/framework, your chances are considerably less.
All of this being said, while I do recommend what to start with, just to get yourself into the industry. My personal recommendation for your future career, and just for fun, is to learn them all.
I started with Vue/Nuxt before I had strong general JS skills. I was forced to learn React for a project and it wasn't hard to pick up after learning Vue. Once you learn one of the major frameworks, you can transfer those skills to the others without too much effort. They're all doing basically the same thing (they're all essentially MVC component libraries) but with different conventions.
React is the most popular right now, despite having the worst DX of the three. For a newcomer, my recommendation would be to either 1) focus on React/Next, and push through the higher learning curve or 2) start with something more comfortable like Vue/Nuxt or Svelte/SvelteKit, then learn React/Next to be more marketable. It won't hurt you to have another library/framework in the skills section of your resume.
This is most important: as a newcomer, whatever library you choose, start with the framework. For Vue, start with Nuxt. For React, start with Next, etc. For me, it was MUCH easier to learn Vue using Nuxt and single file components than it would have been to learn the Vue library by itself.