From Jurassic World to modern web technology
We all know companies -even large, reputable brands- that run massive enterprise platforms that, while they may look pretty on the outside, are a rats nest on the backend. Years of code updates, a snafu of development styles, and good and bad code all mixed together. Lack of architecture, zero organization, and the use of old frameworks that have fallen into disrepair.
From the outside, it’s hard to understand why companies wouldn’t choose to fix this and retool it from the bottom up. But if you’ve ever run a real business, the answer is obvious.
The truth is, we can’t disrupt a working business. Engineers may love cleaning things up with new scripts and brilliant semantics, and in a perfect world, we’d all be able to keep our software clean and organized.
But we don’t live in a perfect world. And in the real competitive environment of a working business, it’s impossible to stop operations so you can make sure you’ve dotted your I’s and crossed your T’s.
As an enterprise development agency, this is a balance we’re constantly working to maintain. The challenge is maintaining high-quality code and accountability on what we deliver while helping clients adopt new technologies without disrupting business operations and processes.
In the past few years, we’ve found a new secret weapon in achieving this balance: React Technologies. ReactJS has become our go-to technology for enterprise digital transformation. Why?
It’s not because we don’t love JavaScript (we do) or that we think React is some panacea to solve every enterprise code problem (it isn’t). The power of ReactJS for enterprise companies is that it’s specifically designed to migrate a large platform from an old framework (usually PHP mixed with C++ and a smorgasbord or other technologies) to something maintainable, fast, efficient, and modular. And it’s done that magnificently with one large platform in particular: Facebook.
Facebook recently started to identify self-contained components on their network, then migrate those components over to ReactJS one at a time. And guess what? As of now, more than 40,000 React components are active on Facebook’s platform.
When you think about it, this is an incredible accomplishment. The largest, most important social network ever created — with more than 2 billion users — has managed to migrate to a new, disruptive technology without giving users even a hint that anything is “under construction.” How on Earth is that possible?
The answer is surprisingly simple. React is a library, not a framework. This may seem like a small detail, but it makes a HUGE difference when you compare it to AngularJS, EmberJS, Backbone.js, or many other technologies. It’s also a small library, coming in at a minuscule 25kb. This means we can identify a self-contained component on an existing platform, build it using React, connect it to existing or new APIs, and we have a modular, plug-and-play component that’s ready to go live on the existing platform — no downtime needed.
This is a game changer. It’s much more suited to API architecture, forcing our engineering teams to think in modules while creating beautiful UIs and secure Restful APIs. Currently, we’re applying this approach to several enterprise companies, and the results are encouraging: it allows enterprise companies to innovate like a startup, giving them the capability to revamp UI, renovate architecture, and change an existing platform one piece at a time, without downtime.
Look — I’m not some React fanatic. In fact, I wouldn’t even call myself a “fan” of any coding technology. What I see are opportunities, benefits, costs, and disadvantages. As an engineer, my goal is to find the best solution to the most important problem. And React offers an incredible tool for solving one of the most persistent and damaging problems that enterprise companies face with their software. It’s a highway of opportunity.
Of course, React isn’t a one-size-fits-all solution. Together with React and APIs, enterprise companies need a robust CSS architecture and strategy, along with semantic HTML and Javascript code that adheres to the highest standards. There are plenty of ways to achieve this in large development teams — but that’s a topic for another article.
Interested in talking about how we can do the same for your company? I’d love to chat.
Feel free to drop me a line and let’s talk about how we can help you beat your competitors with better, more agile enterprise software.
anthony@rootstrap.com
Anthony Figueroa, CTO, Rootstrap