Interview with Rick Beerendonk

There has been a big development in the in-house industry with React in Scandinavia. Rick have held courses and helped In-House businesses in both Norway and Denmark, working with companies within banks and railway.

Rick Beerendonk

Rick started playing around in React in 2014, and held his first presentation on a Local Microsoft User Group (SDN) in the Netherlands the same year. He is a Senior Consultant and Trainer from the Netherlands, and has over 20 years of experience working in small, large and fast growing organizations. Rick comes from a developer background using C#, JavaScript and Clojure, and his passion is simplicity, well-written code and team dynamics.

What is React?

React is a library for JavaScript and Typescript (Microsoft) used to make single-page application for web browsers and native mobile apps for Android and iOS. It is designed to make an easier mental model to deal with the state, so that you produce less bugs. It basically assists humans with the concepts they are not good at. For example, if you have a river, it will never be the same river, because the streams will flow. Every second the river is different, with new water, displaced rocks, leaves, mud, plants and fish. Changes are hard for humans to mentally keep track of, like it is hard to keep the User Interface (UI) in sync with the changing state. React removes the need to think about the changes. The developer just needs to think about what the UI should look like based on the current state.

Both React and Angular focused on replacing jQuery or code directly manipulating the Document Object Model (DOM). The reason is that jQuery apps get complex, resulting in hard to maintain code that becomes slow with too many bugs. Since Rick loves beautiful well-written code, and likes to understand what is happening from A-Z, he now uses React as his first choice, and feels that it has made him a better JavaScript Developer. 

Which tools to use:

When working with ReactJS, you use tools like NodeJS, Webpack and (optionally) Visual Studio Code. During development you can run tests automatically without using the browser. The developer can also have a running application in the browser that updates as soon as a code change is made, while maintaining the current state. This all assist fast development. For the production build, small and efficient libraries are produced to optimize the end user experience.

DOM?

The mental concept of the DOM in React is that you “throw away the DOM, and builds a new one from scratch” but this is not necessarily correct. What React does, is that it uses a virtual DOM, so that it becomes conceptually easier for you to make a page with less bugs. For example, you have a list from A-F, and you need to change part B in this list, you only need to upload the complete new list, and React makes the changes compared with the old list in DOM. 

Why should you learn React instead of other programs?

As we said earlier in this interview, both ReactJS and Angular focused on replacing jQuery. The main difference between Angular and React is that while Angular works very well, Angular contains some “magic”. You don’t have the complete control over the running codes. Meaning, that if you get bugs in Angular, you will have a problem figuring out where the bug or performance issue is, and how to fix it. In React you will get a clear indication where the problem is.

So, where do you begin?

Start by learning the newer version of JavaScript (ECMAScript) version 2015 and higher. If you’ve previously worked in C# or Java, you’ll find many similarities. Then learn the NodeJS basics and React. Rick promises it will be a fun process.

Or sign up for our course: React, Redux & Router Course