Forget what I just said. There is no such thing as the best way to learn ANYTHING. This post is reserved for newcomers to React who are trying to navigate the complicated world of web development and especially trending technologies like React. I will also prescribe some note worthy courses and tutorials to start learning React some of which I have actually used and succeeded.
React is a framework developed by Facebook and was open sourced in 2013. React quickly gain popularity and was adopted by some of the top companies like Airbnb, Uber, Facebook, and Netflix. However, you don't have to be a big company to use React. React is able to handle any number of projects from small single page app to apps that can handle thousands of users at once.
Ohh right. Almost forgot to answer the original question. React in technical term is a component based client side framework. A client side framework is a library that handles the user facing interface of an application. Some of the main jobs of a client side library is to display content to the page (sounds obvious Lol), handles user inputs, provide consistency in the development process( you are using one framework, therefore, there is less of a chance of contradicting design philosophy), and the most important job is to manage the state of the application.
React VS Anguar VS plain HTML, JS, and CSS?
Without going into too much details, React and Anguar are similar in that they provide the same service to the developers. They provide a set of well defined tools and functionality to ease the UI design process. React is based on components while Angular is based on modules and services.
However, some people have argued that React has a steeper learning curve than Angular. Over the recent years, the learning curve for react has reduced significantly due to the increase in quality and availability of online tutorials and courses.
Angular is managed primarily by a team at Google , hence, features are slower to release, but not by a lot. Angular is also open source. For comparison Angular has around 60k stars of github while React has a whopping 146k stars. What does more stars translate to? It means more people are using React and contributing to React. From a developers perspective (I might be a little biased here), React has fewer bugs than Angular, and more features that the developer community is requesting.
Plain HTML, CSS and, JS? Before React and Angular, every single website used any combinations of these three to achieve the same complexity of a modern web app. People used JQuery to easily integrate animations and special web interactions.
Don't be fool. HTML,CSS, and JS are still the backbone of web development. However, how they are used is being revolutionized by React.
There are some good tutorials and resources and some not so great ones. Here are some of the top picks for learning React. Disclaimer: I am not affiliated with any of these sources. I recommended them purely for educational purposes.
- React's Official Website - there is no better place to learn something than from the originator. Short and easy to follow.
- Udemy's Advanced Web Development BootCamp - A full stack developer course covering the MERN stack - ReactJS, ExpressJS,NodeJS, and MongoDB. By the end of this bootcamp, you will be able to build an entire react application with a backend server. (I took this course and built a full react application in less than 2 months)
- Another Udemy Couse - React - The Complete Guide (incl Hooks, React Router, Redux) - I have read some great reviews about this course. It is purely focused on React without the extra stuff.
- Youtube React Tutorial For Beginners - I like this one because it is completely free and it is a video format course, which makes it way more interactive and helpful for the visual learners.
If you still find it hard to decide, it's completely normal. Heck, I was stuck on searching for the best course for days before settling on one. Whatever the case may be, just start somewhere and start building your developer's toolbox.