DEV Community

Christian Kozalla
Christian Kozalla

Posted on • Updated on • Originally published at chrisko.io

Picking a Frontend Framework as a Beginner

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?

Latest comments (9)

Collapse
 
jerzykurowski profile image
Jerzy Kurowski • Edited

React is harder to learn especially when you want to do simple things. React is less opinionated and does not provide patterns to accomplish things as much as VUE does.
I'm not saying one or the other is better. It depends what you want/need.

VUE 2.x can be easily integrated into the page by writing the vue code directly inside the document but this is not the recommended way.

Creating components with .vue files is easier than in react. The structure of .vue files clearly separates js from template and css, you can do more with less code, the code you write often has less JS more VUE API (what validates your point of being able to do more in vue with lesser JS knowlege).
One could say "VUE gives you a path in REACT you make your own".

I would say VUE is more fun to write than REACT so whenever appropriate I prefer it. And i think it is more than enough for most of things one usually needs.

Having said that the comment from simpleAdam stating that it is more valuable professionaly has a point.
REACT is supported by Facebook and while there is a lot of things out there in VUE ecosystem still REACT has it better.

For example I don't think you can find something like draft.js in VUE draftjs.org/docs/getting-started

"Professional value" may depend on your location (if one defines it as employment opportunities).
trends.google.com/trends/explore?c...
React vue google trends

Collapse
 
andrewbaisden profile image
Andrew Baisden

I chose React because at the time it had become the most popular javascript framework and people were starting to move away from using Angular. Back then Vue was only just starting to gain popularity but only in start ups. Now it's different and React and Vue have a lot more job opportunities. But here in the western part of the world React still has significantly more jobs compared to Vue. Plus React Native is very popular for making cross platform apps so at least for now it just makes sense to be a React Developer.

Collapse
 
christiankozalla profile image
Christian Kozalla

Thank you, Andrew for your kind response! I totally agree, React is so popular for yery good reasons! I am happy that I earned experience in both Vue and React to apply depending on application needs.

Collapse
 
khangnd profile image
Khang

Give Svelte a try and you will be amazed by its simplicity. But still, I agree to @sphrases , it is always best to learn to walk before running. I have great respect to those who could apply code design and do the tough things without relying on frameworks, it just proves how shaped their mindset is.

Collapse
 
christiankozalla profile image
Christian Kozalla

Thank you, Khang for your recommendation of Svelte. I'll definitely try it on the next upcoming opportunity =)

Collapse
 
sphrases profile image
sphrases

React is my framework of choice, but not really because it is easier then any other frameworks. Every framework will take time to learn. I really like the learning to walk analogy :) Learn to walk js first, and then learn to walk in any framework. The second language/framework you learn is always easier then the first one.

(Also RFTM helped me during the first weeks of my job. I really hate reading documentation, but if you pay attention and really try to understand the framework it helps imo)

If i had to create a starting path for myself all over again, i would start with learning java(script) (then html and css) and progress with jquery -> nodejs and then react/vue/angular/etc.

tldr: learn programming concepts first, choose the next step to your interests; it is a grind, but it will pay off; also react > anything ;)

Collapse
 
christiankozalla profile image
Christian Kozalla

Thank you, sphrases, for your kind feedback! Really made me smile =)

Maybe it's normal to look back and realise that you'd have decided differently sometimes. All in all I am happy, that I've made my decisions and got some hands-on experience writing code and I keep learning and my learning progress accelerates!

Additionally, as you said, I embraced RTFM and it really pays off! ..although it takes a whole lotta time =)

Collapse
 
aarone4 profile image
Aaron Reese

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.

Collapse
 
christiankozalla profile image
Christian Kozalla

Thank you, Aaron for your reply! You have a valid point there, Vue feels more intuitive if you're already familiar with HTML and start using directives in Vue. My point is: I would have started with Vue, if I'd heard about it before. Only thing I knew was the hype around React. So I picked React, first...