Angularand Vue.js available, what sets React apart from others is maybe the fact that it just focuses on component-based GUI development and doesn't invade on other areas.For example,
Angularis a complete framework and gives you a lot of features out-of-the-box, such as a Dependency Injection, Routing system, Forms handling, HTTP requests, Animations, i18n support, and a robust module system with easy lazy-loading.
So, if you already have libraries to do those stuff or you might not need them altogether than React is a great choice, but learning React is not so easy, especially if you are starting as fresh in web development.
When I started learning
When I was doing some research about the right way to learn React JS, I come across
this excellent React Developer RoadMap which outlines what is mandatory, what is good to know and what are some extra stuff you can learn as React developer.
This React Developer RoadMap is built by
adam-golab, and it outlines the paths that you can take and the libraries that you would want to learn to become a React developer.
So, if you are wondering, what should you learn next as a React developer? Then this roadmap can help you.Similar to the
DevOps RoadMapI have shared earlier, this React JS roadmap is also high on exploring the React, and you can use this to become a better React developer.
But, if you are wondering where to learn those mandatory skills, then don't worry, I have also shared some online courses, both free and paid, which you can take to learn those skills.
The 2019 React Developer RoadmapAnyway, here is the React Developer RoadMap I am talking about:
|image source: https://github.com/adam-golab/react-developer-roadmap/blob/master/roadmap.png|
Now, let’s go through the RoadMap step by step and find out how you can learn the essential skills to become a React Developer in 2019:
HTMLIt is one of the first pillar and the most important skill for web developers as it provides the structure for a web page. If you want to learn HTML, then you can check out my list of
free HTML courses.
CSSIt is the second pillar of web development and used to style web pages so that they look good. If you want to learn CSS, then you can find a couple of free CSS courses on my list of
free web development courses.
Btw, instead of learning these technologies individually, it's better to join a complete web development course like
The Web Developer Bootcamp by Colt Steele which will teach you all the essential skills you need to become a web developer.
2. General Development SkillsIt doesn't matter whether you are a frontend developer or a backend developer, or even a full-stack software engineer. You must know some general development skills to survive in the programming world, and here is a list of some of them
2.1 Learn GITYou must absolutely know Git in 2019. Try creating a few repositories on GitHub, share your code with other people, and learn how to download code from Github on your favorite IDE. If you want to learn then
Git Complete: The definitive, step-by-step guide to Git is a great course.
If you need more choices and don't mind learning from free resources, then you can also explore my list of
free courses to learn Git.
2.2 Know HTTP(S) protocolIf you want to become a web developer, then it's an absolute must to know HTTP and know it well. I am not asking you to read the specification, but you should at least be familiar with standard HTTP request methods like the GET, POST, PUT, PATCH, DELETE, OPTIONS and how HTTP/HTTPS works in general.
2.3. Learn the terminalThough it's not mandatory for a frontend developer to learn Linux or terminal, I strongly suggest you get familiar with the terminal, configure your shell (bash, zsh, csh), etc. If you want to learn terminal and bash, then I suggest you take a look at this
Shell Scripting course on Udemy.
If you need more choices, you can also explore my list of
free Linux courses for developers.
2.4. Algorithms and Data StructureWell, this is again one of the general programming skill which is not necessarily needed for becoming a React developer but absolutely required to become a programmer in the first place.
To learn Data Structure and Algorithms, you either rad a few books or join a right course like
Algorithm and Data Structure part 1 and 2.
If you need more choices, you can also check my list of
free Data Structure and Algorithms courses.
And if you love books more than courses, here is a list of
10 algorithms books every developer should read.
2.5. Learn Design PatternsJust like Algorithms and Data Structure, it's not imperative to learn design patterns to become a React Developer, but you will do a world of good to yourself by learning it. Design patterns are tried, and tested solutions of common problem occur in software development.
Knowing them will help you to find a solution which can withstand the test of time. You can read a few books about design patterns to learn them or join a comprehensive course like
Design Patterns libraries.
If you need more choices, you can also check
my list of OOP and Design pattern courses to get more ideas.
3. Learn ReactNow, this is the main deal. You got to learn React and learn it well to become a React developer. The best place to learn React is the official website, but as a beginner, it can be a little bit overwhelming for you.
That's why I suggest you enroll in a couple of courses like Max's React MasterClass or Stephen Grider's React and Redux to learn to React well. Those two are my favorite React courses and also trusted by thousands of web developers.
If you are serious about your React skills, I strongly suggest you look at these courses.And, if you don't mind learning from free resources, then you can also take a look at this list of
free React JS courses.
4. Learn Build ToolsIf you want to become a professional React developer, then you should spend some time to get familiar with tools that you will be used as a web developer like built tools, unit testing tools, debugging tools, etc.
To start with, here are some of the build tools mentioned in this roadmap:
- Task Runners
- npm scripts
5. StylingIf you are aiming to become a front-end developer like React developer, then knowing a bit of Styling will not hurt. Even though the RoadMap mentions a lot of stuff like CSS Preprocessors, CSS Frameworks, CSS Architecture, and CSS in JS.
I suggest you to at least learn Bootstrap, the most critical CSS framework you will end up using every now and then.
And, if you want to learn bootstrap, If you're going to go one step ahead, you can also learn Materialize or Material UI.
6. State ManagementThis is another important area for a React developer to focus upon. The roadmap mention the following concepts and frameworks to master:
- Component State/Context API
- Async actions (Side Effects)
- Redux Thunk
- Redux Better Promise
- Redux Saga
- Redux Observable
- Data persistence
- Redux Persist
- Redux Phoenix
- Redux Form
React 16- The Complete Guide and Stephen Grider's Modern React with Redux courses also covers State Management in React and Redux in good detail.
But even if you don’t use those, React has some built-in type checking abilities and learning them can help you to catch bugs early.
Ultimate TypeScript course on Udemy.
And, If you need more choices, and don't mind learning from free resources, then you can also check out my list of
free TypeScript courses for web developers.
8. Form HelpersApart from Type Checkers, it's also good to learn Form Helps like Redux Form, which provides the best way to manage your form state in Redux. Apart from Redux Form, you can also take a look at Formik, Formsy, and Final form.
9. RoutingComponents are the heart of React's powerful, declarative programming model, and Routing components are an important part of any application.
React Router provides a collection of navigational components that compose declaratively with your application.
Whether you want to have bookmarkable URLs for your web app or a composable way to navigate in React Native, React Router works wherever React is rendering.
Apart from React-Router, you can also take a look at Router 5, Redux-First Router and React Router.
React 16 - The Complete Guide and Stephen Grider's Modern React with Redux courses also covers React Router in good detail.
10. API ClientsIn today's world, you will rarely build an isolated GUI. Instead, there is more chance that you will build something which communicates with other application using APIs like REST and GraphQL. Thankfully, there are many API clients available for React developers, here is a list of them:
Btw, if you don't know GraphQL and REST, I suggest you to spend some time learning them. If you need courses, the following are my recommendations:
11. Utility LibrariesThese are the libraries which make your work easier. There are many utility libraries available for React developers, as shown below:
12. TestingNow, this is one of the important skill for React Developers which is often overlooked, but if you want to stay ahead from your competition, then you should focus on learning
libraries which will help you in testing. Here also, you have libraries for Unit testing, Integration testing, and end-to-end testing.
Here is a list of libraries mentioned in the roadmap:Unit Testing
- Selenium, Webdriver
The Complete React Web Developer Course (with Redux)also covers Testing React application covering both Jest and Enzyme.
13. InternationalizationThis is another important topic for developing front-end, which is used worldwide. You may need to support the local GUI version for Japan, China, Spain, and other Europian countries.
The RoadMap suggest you learn the following technology, but they are all under good to know:
- React Intl
- React i18next
14. Server-Side RenderingYou might be thinking what the difference between Server-Side Rendering and Client-Side rendering is, let's clear that before talking about the library which supports Server Side Rendering with React.
While in the case of Server-side rendering, React components are rendered on the server and output HTML content is delivered to the client or browser.
The RoadMap recommends following Server-Side Rendering:
React 16 - The Complete Guidealso covers Next.js basics which should be good enough to start with.
16. Backend Framework IntegrationReact on Rails integrates Rails with (server rendering of) Facebook's React front-end framework. It provides Server rendering, often used for SEO crawler indexing and UX performance and not offered by rails/webpacker.
The RoadMap suggests you learn the following libraries:
- React Native
Thankfully, there are some good courses to learn React Native are also available like Stephen Grider's
The Complete React Native and Redux Course which will teach you how to build full React Native mobile apps ridiculously fast!
18. DesktopThere also exists some React-based framework to build desktop GUI like React Native Windows, which allows you to build native UWP and WPF apps with React.
The Framework suggests the following libraries:
- Proton Native
- React Native Windows
19. Virtual RealityIf you are interested in building Virtual Reality based application, then also you have some framework like React 360, which allows you to be exciting 360 and VR experiences using React. If you are interested in that area, you can further explore React 360.
That's all about The 2019 React RoadMap. It's indeed very comprehensive, but there is a good chance that already knows many of the stuff. Even if you don't know, no need to become afraid or overwhelmed by this roadmap you can start small and then follow along. There are many paths to becoming a React Developer. And if you already know React, you can surely find some more tools and technologies to add to your kitty and become even a better React Developer in 2019.
Other Programming Articles you may like
10 Reasons to Learn Python in 2019
10 Programming languages You can Learn in 2019
10 Tools Every Java Developer Should Know
10 Reasons to Learn Java Programming languages
10 Frameworks Java and Web Developer should learn in 2019
10 Tips to become a better Java Developer in 2019
Top 5 Java Frameworks to Learn in 2019
10 Testing Libraries Every Java Developer Should Know
Closing NotesThanks for reading this article so far … Good luck with your React JS journey! It’s certainly not going to be easy, but by following this roadmap and guide, you are one step closer to becoming the React Developer you always wanted to be.
Please consider entering subscribing to this blog if you’d like to be notified for every new post, and don’t forget to follow
javarevisited on Twitter!
All the best for your React Journey !!
P.S. - If you don't mind learning from free resources, then you can also check out my list of
Free React courses to start your journey.
If there is one programming language that deserves more credit, then it currently receives from developers, than it would be C# or C-Sharp. When we talk about popula..
You can use either curl or wget command to send HTTP requests from UNIX or Linux operating system. Both commands allow you to send G..
Scala is one of the relatively new programming languages which encompasses best practices of many programming languages. The biggest strength of