Yesterday, I decided to try out React, a JavaScript library developed by Facebook that helps building interactive web applications. It has been around for quite some time now and seems to be the goto technology at the moment (although considering the pace at which the web ecosystem changes who knows for how long!).

After browsing the web for little while and hunting for a good tutorial, i.e. short but complete, I settled for this great starter guide on React’s official website. It took me about a day to go through everything and it has given me a very good idea of what React is.

In a nutshell, the tutorial starts with an installation section, then slowly introduces React’s core concepts and finally ends with a very good exercise to apply everything that has been taught so far.

For newbie like me, you will get to choose one of two ways to get started with React: use CodePen and do you entire development in the browser, or use a script called Create React App that locally creates the skeleton of a React app. I chose the second option because I like using my local setup and because I wanted to push my code to github. If you are completely new to web development, you will first have to install a few dependencies such as Node.js and npm. Create React App is really easy to use and worked like a charm for me. I created a Hello World app and played a bit with it before starting as I wanted to roughly understand the structure.

Once everything was setup I moved on to the rest of the tutorial where it introduces React’s main concepts: JSX, elements, components, props, state, etc… The pace is really good and the explanations are easy to follow with great illustrative examples. The tutorial finishes up with a practical example that describes how to build an application “thinking in React”. It is a great way to finish a tutorial as you can apply everything you have learnt so far. I highly recommend trying to solve each step of the process yourself before reading up the solution. Not only is it more fun but it also forces you to really “Think in React” :)