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.
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:
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!
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
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!