DEV Community

Discussion on: Front End Javascript, Angular, React, etc, what and where to start with?

Collapse
 
decahub profile image
Dan • Edited

This worked for me and I have recommended it to others based on my experience learning and through interviews.

I always recommend gaining a very strong, deep grasp of JavaScript. The frameworks ultimately are JavaScript.

I built a few web apps first in just Pure JavaScript. I think it was very important to understand core concepts such as event handling, async programming, promises, prototypical inheritance, function composition, error handling, data validation, and many more.

I personally like the No Starch Press books. I would recommend this sequence:

Principles of Object-Oriented JavaScript
by Nicholas C. Zakas

Understanding ECMAScript 6
by Nicholas C. Zakas

The Mozilla Developer Network is another fantastic resource to learn about Web Technologies.

MDN

Try making something like a Calculator web app in pure JavaScript. It will help you explore different topics and find and understand some of the quirks of the language.

Once you are solid on JavaScript, then whatever framework you choose would feel easier to learn. You are learning an application of the JavaScript language and can make sense at a deeper level of what the framework is doing for you. I like to think that Frameworks are Tamed Wild Beasts. You can surely play with them safely most of the time, but it is a good idea to anticipate that they may bite and you would need to be ready to handle that (look into their source code and figure out why something is not working or failing - for example).

Angular

I have had a not so great time learning AngularJS. I did not find the documentation too satisfying. It was a bit difficult to find a good book (I am a book person more than videos). However, Coursera has an AMAZING course to learn Angular that goes deep from the get go yet teaches in a very friendly nature:

Single Page Web Applications with AngularJS

Todd Motto and John Papa will also be good sources to learn intricacies of the framework, style guides, and best practices.

React

React seems very cool since it has this functional programming vibe. The book that I am using has an introduction to Functional Programming that is aimed to make the learning of React better.

Learning React
Functional Web Development with React and Redux
By Alex Banks, Eve Porcello

The book so far has been pretty good!

I like that React has a reputation of being performant and also comes with a strong mobile application framework, React Native.

Vue

To be honest, I just started reading about this framework and it sounds very promising. I have a feeling Vue is like the offspring of Angular and React - in a way. I am going to be checking it out for pure experimentation. It is said that it is simpler than both React and Angular to learn and get started to make “non-trivial applications” - from their docs.

I wish that Vue had something such as React Native up and running. There is something called Weex but it is not at the position of React Native yet from what I have heard.

Conclusion

I feel that my next framework is going to be React purely for the fact that React Native is getting great reviews on mobile performance. I have always wanted to get into mobile apps but I did not have the time to learn Java and Swift/ObjectiveC to make cross platform apps. I think JavaScript opened a new ground to streamline cross-device, cross-platform development for certain use cases for apps.

Best of luck in your JS adventures!