The Top Trending Library
No doubt you’ve probably heard of a little framework/library by now called React. In 2024, I’ve seen many businesses increasingly trending toward using React in their websites, often without any substantial reasoning behind the “why” they are doing it. About half of my clients require some kind of implementation of it or at least are curious as to what it is. Regardless, it’s very popular these days and with such an active community, it’s future is looking bright. Companies like Facebook, AirBNB, Uber, Netflix, Tesla, all use it for a good reason.
While React is an excellent kit for building complex applications with numerous features, it may not always be the best choice for small to medium-sized businesses, especially as the primary building blocks of your website. In fact, I’d argue that it is almost always not the right fit for your needs. In this article, we’ll explore when using React might not be ideal for your business and why a more balanced approach can provide sustainable and scalable website ownership.
Resources:
What is React?
Before diving into the reasons why React may not be suitable for every business, let’s quickly cover what it is. React, also known as React.js or ReactJS, is an open-source JavaScript library used for building user interfaces and reusable UI components. It was first released in 2013 by Facebook (now Meta) and has since become one of the most widely-used front-end frameworks in the world.
At its core, React allows you to break down complex user interfaces into smaller, manageable pieces called “components.” These components can be combined and reused to build entire applications. This approach makes it easier to create fast, scalable, and maintainable web applications. What’s great is that it is a framework which means it is compatible with a lot of other systems, including other frameworks like PHP’s popular Laravel and even CMS’s like WordPress.
History of React
React was created by Jordan Walke, a software engineer at Facebook, as a solution for building complex UIs within the company’s internal tools. The initial version of React was released in 2011 as an internal tool called “Fb.ui.” However, it wasn’t until 2013 that React was officially open-sourced and made available to the public.
Facebook’s Technical Challenges
By 2007-2010, Facebook faced significant technical challenges in maintaining its rapidly growing user base. The platform was built using a mix of open-source technologies and proprietary tools, but it lacked a unified architecture. This made it difficult for developers to build and maintain new features, leading to:
- Performance issues: The website often became slow and unresponsive due to the sheer volume of users.
- Scalability problems: As the user base grew, Facebook’s infrastructure struggled to keep up with demand.
The Need for a New Solution
In response to these challenges, Facebook began exploring new technologies that could help address its scalability issues. The company’s engineering team was tasked with finding a solution that would enable them to build fast and scalable applications.
Jordan Walke: A Key Player in React’s History
Enter Jordan Walke, a software engineer at Facebook who had been working on various projects within the company. Walke was instrumental in developing a new library called “Fb.ui,” which aimed to provide a more efficient way of building user interfaces for internal tools.
The Birth of React
In 2011, Walke began experimenting with Fb.ui and eventually developed a new version of the library that would become known as React. The initial goal was to create a small, lightweight UI framework that could be used within Facebook’s internal tools.
However, the main reason behind React’s design was not just to build fast and scalable applications but also to address the issue of varying coding standards and skill levels among developers. At Facebook, there were many different teams with their own coding styles and best practices, which made it difficult to maintain a unified architecture.
React’s component-based architecture was designed to counter this lack of quality control by providing a standardized way of building UI components that could be reused across different projects. This approach enabled developers with different skill levels and coding standards to work together more effectively, resulting in higher-quality applications.
The Open-Source Release
In 2013, Walke and the Facebook engineering team decided to open-source React, making it available to the public under an MIT license. This move marked a significant shift in React’s purpose, from being an internal tool for Facebook to becoming a widely-used framework within the developer community.
Why is React so popular?
React’s popularity can be attributed to several factors:
- Ease of Use: React has a relatively low learning curve compared to other front-end frameworks like Angular or Vue.js. Its component-based architecture makes it easy for developers to build and maintain complex UIs.
- Performance: React is known for its fast rendering capabilities, which are essential for building high-performance web applications.
- Flexibility: React can be used with a wide range of libraries and frameworks, making it an excellent choice for building custom solutions.
- Community Support: React has an enormous community of developers who contribute to the framework through open-source projects, tutorials, and documentation.
- Industry Adoption: Many top companies use React in their production environments, including Facebook, Instagram, WhatsApp, and Netflix.
What is React good for?
React is suitable for a wide range of web development tasks, including:
- Building Complex UIs: React’s component-based architecture makes it perfect for creating complex UIs with multiple features.
- Single-Page Applications (SPAs): React can be used to build fast and scalable SPAs that provide an immersive user experience.
- Progressive Web Apps (PWAs): React’s support for offline caching, push notifications, and other PWA features makes it an excellent choice for building PWAs.
- Mobile App Development: React can be used to build mobile apps using frameworks like React Native or Expo.
When React Isn’t the Best Fit
While React is a great tool for some use cases, it often requires high overhead, which can be overwhelming for small to medium-sized businesses. Here are some scenarios where React might not be the best choice:
- Inefficient and costly for simpler sites: If you’re building a simple website with minimal features, such as a blog or a brochure site, React is likely overkill.
- Lack of Ready-to-go Ecommerce: For most ecommerce sites, WordPress and WooCommerce offer a more than capable solution. Adding React would only add unnecessary complexity.
- Expensive: If your business has limited resources (time, budget, or personnel), using a framework like React may lead to burnout, reduced productivity, or poor website maintenance.
- Requires more developers than average: If your system/CMS doesn’t have a dedicated dev team, React is going to be a nightmare. It requires a lot of maintenance, so while it scales well on the high end, it doesn’t do very well for small to medium sized businesses.
- Slow to build: It takes a lot of time, testing, revisions, and extra effort to get React projects over the line. If you want something done quickly, this will be a struggle unless you have a big team of developers.
React is simply overkill for most websites
The reality is, most websites are driven by social, marketing, and referrals. You need a good UX, strong presentation, and lots of content. If you are pushing out content and designs frequently and want to hit the ground running, it’s not very straightforward with React. There are so many libraries, dependencies, compatibility requirements, etc. Even developers have a hard time getting it up and running quickly and reliably.
WordPress without React is much easier to build with
Even though you can use React with WordPress, for example, it simply takes too long to do simple things. Using a builder or a theme and standard development is much faster than building out components or even using Gutenberg, which is heavily reliant on React to build blocks. It doesn’t take long to build what you want, how you want it, with a pre-packaged and well-supported solution at hand. Ecommerce? SEO? A custom activity log for users? There really is a plugin or theme for almost every need.
Builders have come a long way as well, with support for both developers and end-users, meaning that business owners don’t feel like a hostage to their website that has everything setup using custom components with React. I’ve surprisingly had a huge number of clients shift away from React because they made the initial impulsive jump to it, without realising the cost and difficulty to maintain it.
React may already be integrated with your toolkit
There is a difference in building your website and templates with React and using it as a part of an already existing templating engine’s framework. Building with React exclusively may not even be necessary. For example, if you are using a page builder of almost any variety, it is very likely it could be using React already. The key here is to use the tools that are already in place to maximum effect, so if you have a system that helps you put out quality content quickly, there isn’t any benefit to switching the framework over as these are only tools to help with that process.
Keeping things up to date and compatible is a nightmare
Every web developer who has worked on Node and React will tell you how much of a nightmare it is to keep things current. Just like WordPress is susceptible to too many plugins, even more so are all of the dependencies that React needs to operate. One of the biggest issues is repositories being abandoned, meaning your custom form builder, for example, will now need to be completely replaced with something else moving forward as it is no longer maintained. Again, keeping on top of all this is possible, but you’d need a complete dedicated team to do so and a lot of time to sink into maintaining the server as well.
Overhead and time cost to deploy is significant
Although I see a lot of talk about how it’s actually quick to deploy on React, I’ve found the opposite to be true in most practical business applications. For bigger businesses, I suppose “quick” can often be completely different to a smaller, more agile team. However, I do find the difference so significant I can’t just go along with the common sentiment, especially from experience, where building components takes anywhere from 5-10 times longer than just using vanilla JS or a PHP equivalent. Again, this time scale is different on a bigger team, where 5-10 developers could work on this, ultimately negating the time cost (but not actual cost).
An average build for a simple site can easily start at $15,000, with custom functionality easily pushing that up to $60 – $80k. If you are trying to build an app or something that has the look and feel of Facebook, you’re looking at easily $250k+. That’s to build it, but to maintain and add to it as needed? Well, you’re looking at roughly 1/4 of that a year ongoing. For most businesses, the ROI is simply not there to justify it.
Conclusion
While React is an excellent framework for complex applications, it is not the best fit for most businesses. By choosing a more balanced approach, you can create a sustainable and scalable website that meets your needs without breaking the bank or burning out your team. At Alphascript, we specialize in web development for small to medium-sized businesses, including ecommerce solutions that are fast, reliable, and use the latest technology.
Work with a Professional Web Developer
If you’re unsure about what frameworks are right for your business, why not work with a professional web developer who knows its ins and outs? Get in touch with me today to discuss your website needs and let’s create a solution that meets your goals without the headache.