Learning JavaScript and React
A guide for experienced programmers learning JavaScript and React.
JavaScript
Books & Reading
-
Effective JavaScript covers advanced JavaScript topics, such as concurrency and library design, in great detail.
-
Eloquent JavaScript dives deeper into JavaScript. This is a good place to cover more advanced topics such as closures, data structures, and error handling.
-
Functional-Light JavaScript: A book about functional programming in JavaScript.
-
Art of Node: An introduction to Node and its programming paradigm and style.
Reference Documentation
-
MDN (the Mozilla Developer Network) is the best resource for reference documentation. This is a great place for not just JavaScript, but also anything else web-related (HTML, CSS, etc.).
-
JavaScript Garden documents the most quirky parts of JavaScript. It's a good place to get familiar with behavior that may otherwise catch you by surprise.
Video Lessons
Egghead.io provides excellent video-based lessons for both JavaScript and React. A few good ones to gets started with are:
Interactive Tutorials
- nodeschool.io provides interactive "workshoppers" to learn JavaScript and related topics. The Javascripting, Functional JavaScript, and Planet Proto workshoppers are good places to start.
React
The best way to learn React is hands-on.
React Tutorial
The official Intro to React Tutorial is the best place to start.
Practice Application
After the tutorial, building your own small React application will help solidify the fundamentals and begin identifying edge cases and scaling problems. It's a good idea for your application to have some non-trivial amount of state, and use asynchronous APIs.
Create React App is a tool that lets you quickly scaffold a React application without worrying about project structure, build tools, etc.
React Native
The most important part of React Native is the React programming model. Going through the official React (for web) tutorial and building a practice web React application (see above) is the best way to start. After that, the official React Native Tutorial and documentation is a good place to learn React Native specifics.