Why React is a good choice for your next website

Nick O'Sullivan / Aug 3, 2021

You might have heard of React and know that it’s widely used in websites, but why should you use it? Well, we’ve got answers. In this article, we’ll cover the benefits React has brought our clients and share our internal learnings.

React is an open-source JavaScript library used within web development to create user interfaces reactjs.org

It’s here to stay (for now!)

No, really, it is here to stay. But in general, JavaScript frameworks, libraries, and web technology have such fleeting usage: you choose one based on sound technical rationale, then the day before go-live, the cool kids are using something different, and you need to start learning the next big thing, and regret not using it in your past projects. Then, you just keep playing that broken record until you’re ready to release a developer’s career greatest hits. 

React is different. It has been in widespread use since about 2015 and is constantly getting better. It’s also backed by a huge open-source community and big tech giant Facebook. Not only does the large community ensure longevity, but technically speaking it is fundamentally “un-opinionated” and low-level enough that it can be used in a number of different architectures, or web technologies, that advance the web and make development more efficient (which are the primary motivators for technical change, and why there is so much to choose from out there). 

For example, Gatsby is an open-source front-end framework that uses React and it has been extremely popular since 2020. Gatsby is most definitely cool-kid certified, but React developers can jump into using it without too much of a learning curve. Plus, the fact that such popular projects like Gatsby use React cements it in the present and future as a core web technology.

It’s easy to maintain

That means less money is spent on maintenance and extensions. This is due to the modular structure of websites that are built with React. They are split into components, which means it’s easier for developers to navigate when making changes, because the individual parts are well organised. Components are usually built in an abstract way, meaning that if you want to repurpose a similar component on another page, it will be quicker. For example, if a blog listing had already been created and it was decided the website needed a very similar press release listing, developers would only work on where the differences were between the two different pages – so it wouldn't have to be built from scratch.

Engaging user interfaces

React provides a great framework for creating interactive user interfaces, which means it is easier to deliver better experiences for visitors. There are a lot of easy-to-use extensions for React that make it efficient to build complex and featureful interfaces, including charting libraries, data visualisation, animation, media components, and other features that will make your website stand head and shoulders above the rest – without the cost of having to build them from scratch.

Well known and loved by developers

Due to the popularity of React, there’s a large pool of interested developers to choose from and there are many agencies that specialise in building websites with React, whether that’s for a new project, or to maintain and extend an existing one. 

Having such a strong community means that there are a lot of tools out there to improve workflow, code quality, and general efficiency when working with React. At Amazee Labs, we use projects like TypeScript, Prettier, and ESLint to improve code quality, maintainability, and speed up development. To reduce errors, avoid regressions, and create robust websites, we use React compatible testing tooling like Cypress and Jest

So essentially, due to its deserved popularity, there are a lot of tooling options and extensions out there, readily available to deliver better quality projects. 

React itself is inherently robust and easier to build interfaces with when it comes to updating the elements on the page based on an interaction, without reloading the page. This is due to how React simplifies reactivity for developers. Reactivity is the process of keeping the user interface up to date with any data changes based on interaction e.g. adding an item to a shopping basket (known as ‘state’). The approach taken to reactivity in React was pioneering and it influenced similar implementations in other major JavaScript libraries and frameworks.

A stepping stone to mobile app development

There is also a project called React Native which allows developers to create native mobile apps for iOS and Android using React. So if you wanted to extend your digital presence to include a mobile app, you could use the same developers and share some of the components from your website application, if applicable. This is a much better solution than other “hybrid” mobile apps that can be created using web technologies; these effectively run a website that looks like a mobile app, whereas React Native (as the name suggests!) compiles to native code compatible with the mobile device, which results in better performance than “hybrid” mobile apps and means more features are available for use in your mobile app (“hybrid” apps do not have access to some device features).

Fast performance and scalable

Last but not least – speed! React has a lot of features under the hood that make it super performant. It has a rendering engine that uses the React-specific VirtualDOM, which allows for updates to the page based on interaction in a fast and scalable way, far superior to more traditional methods of updating elements that make up a web page.

If you want to learn more about how we use React to make great digital experiences, get in touch with our Web Development Team today!