Whilst hunting for a job, I have aimed to continue learning new things. My web development experience has sometimes led me to stackoverflow answers raving about how this question would be easily resolved using React, a JavaScript library constructed by Facebook, and I decided that, now that I have the free time to expand my skillset, React would be a good place to start.

I completed the fantastic Codecademy tutorials and various online walkthroughs until I felt that I had the basic concepts down.

React aims to create a more responsive JavaScript system in which a component changing on a web page does not result in the entire page having to reload. Sounds like common sense really but this is not how things usually work.

For example, if a single item in a list is changed, without React all that would be known is that Something has changed and the entire page and all of its components would be loaded again to bring in that change. Now that we have React, we can use something called a Virtual DOM (Document Object Model). What this allows is for the ‘changed’ model to be compared to a temporary ‘copy’ of what it looked like previously and for only the differing areas to be reloaded, saving time and allowing for an overall more responsive system.

The other area on my list had been the use of Android Studio, which had been downloaded on my laptop since I realised that I was missing using XCode in Mobile Computing and wanted to keep developing apps whilst still learning.

Whilst discovering React.js, I found out about React Native – which uses the basic principles of React to produce performant apps for iOS and Android without having to use different, specific code, languages, and environments for each. This seemed the perfect next step in my learning and I had just seen a very interesting job advertisement for a position using these technologies – so I decided to give it a go…