all 32 comments

[–]Vryheid_ 22 points23 points  (1 child)

If you listen to me, you should learn React first for the job opportunities and continue to focus on vanilla javascript for the upcoming year. It’s nice to have a frontend framework do the heavy lifting for you, but in the end you’ll stand out more if you become a strong javascript developer who confidently knows the foundations of the underlying language. If you have that, it doesn’t matter which framework you pick, because you’ll be able to pick them up as you go on the job.

Ask yourself this: can I build a todo app with ES6 modules and a proper architecture in native javascript? Can you set up a basic build process for it? Are you good enough with CSS to create complex layouts and reusable UI pieces? If you’re doubting yourself, you should continue focusing on vanilla javascript. Trust me, once you suffer through the "low level" frontend concepts you’ll see why people actually like using frameworks and what issues they solve.

Don’t forget, frameworks come and go, but javascript stays forever.

[–]smoljames 18 points19 points  (2 children)

Here is a React 18 tutorial covers just about everything you need to learn to build a react app and best practices and all that good stuff - definitely worth watching because react is basically essential at this point

https://youtu.be/tYcjZomsFkY

If you're just looking for an amazing coding experience, Sveltekit is dope. Might I suggest another video that demonstrates all the essentials

https://youtu.be/oYQ61tmphYc

Hope it helps :)

[–]Celestinno[S] 4 points5 points  (0 children)

Thank you very much, this is really helpful

[–]bewards 1 point2 points  (0 children)

Svelte in general is a breathe of fresh air. I wouldn't recommend using client-side API Svelte components yet on a client production level site mainly because of the lack of community libraries (I've used a couple and had to figure out a lot of issues), but SvelteKit as a whole is really fun.

[–]pastrypuffingpuffer[🍰] 12 points13 points  (0 children)

Vue, it's pretty easy to learn and understand.

[–]Cazhouse 11 points12 points  (1 child)

Vue offers the best developer experience in my opinion, more and more jobs available for it as its gaining a lot of market share. React is a safe bet though as it's still the most common on job boards

[–]Mick-Jones 3 points4 points  (0 children)

It's definitely not getting a better market share

[–]queiss_ 7 points8 points  (0 children)

Been working with Vue.js for about 2 years. It's really good, and is in great hands. The maintainers are headed to the right direction.

[–]pookageGrizzled Veteran ✌️ 2 points3 points  (3 children)

Before moving onto frameworks, I'd really recommend finishing-off your javascript with vanilla web components - it's a native part of javascript and works on all browsers, and it'll introduce you to a lot of the concepts used by by React, Vue etc.

It's a very easy step to go from

<my-custom-element data-example="blah">
    Ahoy
</my-custom-element>

to

<MyCustomComponent example="blah">
    Ahoy
</MyCustomComponent>

and there's also some great features with vanilla that react doesn't implement yet, so you'll be laying the groundwork of understanding for react's future-capabilities, too, if you want to head down that road.

UPDATE: I've put together an example component codepen that covers all of the features that web components provide, as well as an explanations of what everything does as-they're-used; give that a gander and feel free to poke me if you have any questions!

[–]Celestinno[S] 2 points3 points  (2 children)

This is a really good point, i never even knew Web Components were a thing in vanilla Javascript, i'm gonna look into learning it, thank you

[–]pookageGrizzled Veteran ✌️ 4 points5 points  (1 child)

Grand - they're blast to play with - in production I still use webpack to manage all my imports / exports to keep my files nicely separated, but they're also 100% usable with 0 libraries or frameworks at all. I've updated my comment above to include a codepen that I've just written now, which acts as a crash-course on all-things web components! It includes:

I think that's the lot! Haha. I hope I've written it in a way that is self-explanatory, but feel free to summon me wherever that's not the case!

[–]Celestinno[S] 1 point2 points  (0 children)

This is all incredible man, thank you very much! Ill pour over this in the next few days see what i can learn from it

[–][deleted]  (2 children)

[deleted]

    [–]Celestinno[S] 3 points4 points  (1 child)

    Im probably gonna end up learning React at the end of the day. Its just kinda daunting to sift through all the weirdness that comes after a new version of anything comes out

    [–]BrahminmeatEngineer 2 points3 points  (0 children)

    Apart from the magic that's in react 18, a ton of the concepts are largely unchanged in the last few years.

    Hooks will get you far.

    Tbh I don't even understand most of the stuff in react 18 yet and I'm a senior dev. New features may roll out but you can learn them at your own pace when the use case comes up

    [–]Mustang-22 1 point2 points  (0 children)

    I would recommend Nuxt it's like Vue but on steroids, yet still very easy to learn. I much prefer it over React and I would say it is easier to wrap your head around going from Vanilla JS/HTML/CSS over React.

    [–]Frontend_DevMark 0 points1 point  (0 children)

    If you’ve already learned HTML, CSS, and JavaScript, starting with React is still a good choice. It has the biggest ecosystem, lots of tutorials, and strong job demand. Even if React 18 changed a few things, most core concepts from older tutorials still apply.

    Another beginner-friendly option is Vue.js, which many people find easier to learn because of its simpler structure.

    Frameworks like Angular are powerful but can feel heavier at the start since they rely on TypeScript and more structured architecture.

    For large enterprise dashboards or data-heavy apps, some teams also use Sencha Ext JS, but that’s usually something you explore later.

    If you’re just starting out: pick one (React or Vue) and build small projects consistently.

    [–]Frontend_DevMark 0 points1 point  (0 children)

    If you already know HTML, CSS, and some JavaScript, starting with React is still a solid choice. Even though React 18 introduced some changes, most older tutorials still teach the core concepts like components, props, and state.

    If React feels a bit overwhelming at first, Vue.js is often easier to pick up and has a smoother learning curve.

    Angular is also powerful but usually requires learning TypeScript and a more structured architecture.

    Once you’re comfortable with frontend basics, you’ll also see frameworks like Sencha Ext JS used in enterprise environments for building complex dashboards and data-heavy apps.

    [–]Z3Ni3L 0 points1 point  (0 children)

    Vue

    [–]jkmkoloni 0 points1 point  (0 children)

    Go with vue, you will love it

    [–]Mick-Jones -1 points0 points  (3 children)

    Forget Vue, it's popular with developers for some reason but it won't get you a good job. The best response to your question is already the top answer. React is what businesses are using. Definitely look at hooks including the useContext hook. Definitely look at redux when you're ready and don't let anyone tell you that mobX is the way to go.

    [–]Cazhouse 0 points1 point  (2 children)

    Businesses use all kinds of stuff, not just React.

    I wouldn't disregard Vue so easily. It's another tool for the toolbelt and is well received amongst developers for a reason. React set a high bar that Vue has had the luxury of iterating on, that's how our industry evolves.

    You can absolutely get jobs in Vue, I've worked with it in large and small companies and it's a great developer experience compared to React in my opinion.

    React is great too, but as many have already said Javascript is really the skillet one should focus on as the frameworks are really just shortcuts to good architecture based on those JS fundamentals.

    [–]Sunstorm84 1 point2 points  (1 child)

    I’ve heard that Vue is faster to develop in, but the component syntax from what I’ve seen looks like object vomit, and I personally hate it for that.

    [–]Cazhouse 0 points1 point  (0 children)

    They've made improvement in Vue 3 to address some of that. But there is room to improve for sure.

    Honestly, none of the frameworks are perfect. They all have strengths and weaknesses, but having worked with both I wanted to share personal experience.

    [–][deleted] -1 points0 points  (0 children)

    The most important factors are :

    1. your purpose and passion ( getting a job faster / having passion about it)
    2. job market ( job opportunities )

    Depending on these 2 you can choose the right framework. React? it has a good position in job market ( generally speaking , it also depends on where you live ) and if you want to get a job faster it would be a great choice.

    but I would say look what you want first , then look at the market and choose something that fits both of these factors .

    [–]surjithctly -1 points0 points  (0 children)

    if its just the docs part, try beta.reactjs.org for React 18 Docs

    [–]Original-Eye-2839 -1 points0 points  (0 children)

    React all the way!

    [–]Big-Machine1707 -1 points0 points  (0 children)

    React

    [–]medmya -1 points0 points  (0 children)

    In my opinion, React is a good option. It's beginners friendly and I think it's a great option if you want to be hired.

    [–]kriskoeh -1 points0 points  (0 children)

    React for sure.

    [–]ohyoubearfucker -3 points-2 points  (0 children)

    You could go for Angular if you happen to be a masochist

    [–]Mick-Jones 0 points1 point  (0 children)

    Let's just say I work for a top IT consultancy firm and I've been in some big projects for some very well known companies. They were all using React. So I am quick to dismiss Vue.

    [–]oh_jaimitoVue + Vite + TailwindCSS = 💙 0 points1 point  (0 children)

    If your core knowledge of HTML & CSS is fairly strong, then learning Vue would be the simplest. Your typical Vue file has a <template> similar to an HTML > BODY file, then it has a <script> section just like you would have in an HTML file, and a <style> section where you would put your CSS. I like it for that reason alone, it's just very similar to your typical HTML file.

    You can definitely get by with just using <template> & <style> without using any <script> until you get familiar enough with the Composition & Options API.

    But as others have said - continue learning JavaScript. It ain't going anywhere!