17 May 2021

The React framework advantage

We’re big fans of React at Catch. But just what is React, and how do we use it?

React is a JavaScript library used in web development to build interactive elements on the web. The main advantage for end users is the fast interactivity they’re provided with, as there should be very little reload time when new data is presented on their screen. This, in turn, leads to a more positive user experience.

The React advantage for End Users

As you probably know, we’re Drupal experts. Whilst Drupal is an excellent CMS for general website usage, there comes a time when users want a bit more which is when we reach for React to build a ‘web app’ to sit on a page.

Think of Google Maps, for example. What a pain it would be if there was a noticeable page refresh (such as clicking on a link and waiting for the page to reload) each time you zoomed in or out or panned across the map. React helps eliminate this friction, allowing elements to quickly load on a page as the user interacts with them.

React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes.

ReactJS.org

The React advantage for Developers

React is a JavaScript library that at a fundamental level is used to build many components each with their own independent ‘state’ that tells the component what to do. If you think of a button on a website as a component, the state might include the colour, the text (e.g. ‘Click Here’) and the URL (e.g. ‘https://www.catchdigital.com’). As you build out your React project with components, it allows you to avoid the time-intensive process of coding and testing over and over meaning you can build new features and scale your application.

Developers can reuse the button all over the web app and update the ‘state’ of each of these using ‘props’. The advantage to this is that every button on the site will look and behave in the same way. Of course, components will be much more complicated than just a button, and can do more than just take a user from one page to another.

Below are some helpful definitions to understand the terminology used when discussing React.

  • State - The current data that is within the component, any time this is updated and the state changes, a re-render will take place
  • Props - This is how information or data is passed from one component into another. For example if we reuse the button analogy where have colour, text and url managed in the state of the button, we could also have disabled as a state. If the button component is associated with a contact form, we could set the disabled state of the button to be true until all of the fields of the form are completed and then update the state of the button component using props

Developers are able to reuse tested code and know that it will stand up to stress.

The React advantage for our clients

We now know that React is a data driven tool, and allowing our clients to manage the content for a data driven API means we can treat Drupal as a headless CMS for the output of JSON in an API format. New content can be created in the same way new pages can be created. The same goes for content within each page, reducing what could be a time intensive process to update their site (or multiple sites from one data source).

Some examples of our use of React

From quickly adapting to what the user is looking for on the TV Guide on our Freeview web platform:

To helping students filter and book available accommodation in London via IQ Student Accommodation:

To helping global telecommunication company SES provide users with the ability to search for satellite footprint information using their “Our Coverage” tool within their existing Drupal solution:

Or providing the Internet Advertising Bureau (IAB) Members with a quick and easy way to view Adspend data in a graph that instantly updates as you change dates and add filters:

Catch is experienced in offering our clients effective solutions that take advantages of all the benefits of React.

If you're ready to start your journey and see how we can help you improve your connection with your audience through smart technology like React, don't hesitate to get in touch.

21 Feb 2016

Can you use Drupal 8 yet?

Hi, I’m Robyn and I’ve been a Drupal Developer Apprentice at Catch for three months. 

As developers, modules are crucial to everything we do. They help manage media and content across complex sites, they simplify back-end processes and PHP development, and they help implement complex components and features across sites in a matter of minutes where they’d normally take hours. They are the bread-and-butter of Drupal development, and without stable modules available our job would be very, very difficult.

As such, when Drupal 8 was released we took a special interest in the state of module development. Because Drupal 7 has benefitted from more than 5 years of contribution and development from the Drupal community, Drupal 7 is an incredibly stable and powerful platform. 

We’ve been a bit spoiled, and despite the really amazing changes and improvements that we’ve been promised with Drupal 8, we were hesitant to jump on the bandwagon until we’d done a bit more research on what modules were really available for use. 

So, back in early December (shortly after Drupal 8 was released) I started to track the development status of modules in Drupal 8. I put together a list of the most-used Drupal modules and examined each module’s development status. 

Here's what I found: 

 

Status of Drupal’s top 25 most-used modules (Dec 2015): 

In Core: 7

Stable: 5

Percent Usable: 48%

In Alpha & Beta: 3

Unstable: 7

Unavailable: 3

Percent Unusable: 52%

 

If I’m 100% honest, I was pretty stunned at these numbers. With only 48% of Drupal’s most-used modules available at the time, it seemed that developing a complex site in Drupal 8 would have been a worrying prospect, given the inherent stability of Drupal 7. 

This was a disappointing outcome - we really wanted to start building in Drupal 8 but it just wasn’t ready for us!  

Given the dedicated and active Drupal community, I was curious to see how quickly things would improve. I figured it was just a matter of time before more people started getting involved. 

And so, three months have passed since that initial review and now, with Drupal Camp London just around the corner (Mar 4th - 6th), I thought it would be a good time to take another look. 

 

Status of Drupal’s top 25 most-used modules (Feb 2016):

In Core: 11

Stable: 6

Percent Usable: 68%

In Alpha & Beta: 4

Unstable: 4

Unavailable: 0

Percent Unusable: 32%

 

These results represent a 20% increase in the availability of Drupal’s top-modules within just a three month time frame. 

While that number may not sound terribly impressive at first glance, it represents a significant effort on behalf of the Drupal community to get Drupal 8 up-and-running. 

As Drupal is completely open-source and dependent on the unpaid contributions of its members, that 20% improvement is 100% fueled by the voluntary efforts and pure dedication of people throughout the community. And that’s just downright impressive. Plus, pathauto and admin toolbar work now!

But, don't just take my word for it. Feel free to take a look at my research!

Start a conversation

0207 494 3554
or
newbiz@catchdigital.com