We launched v1 of the Cloud Elements integration platform back in 2013 — a product that has served our customers and our company's growth well over the past few years. But it's 2017, and web technologies have evolved quickly in turn causing user expectations to evolve even faster. It was time for us to rethink the overall developer journey and that provided an opportunity to rethink our technology stack too.
In the world of product release cycles and launch deadlines, the choice of technology is crucial. Here is a look at our experiences along the way, to help shed some practical light on React.
Where We're Coming From
Prior to React, we were using AngularJS — which was probably the most popular front-end framework at the time it was chosen. But as mentioned, time has moved on and the reign of AngularJS v1.x has been usurped by its younger sibling, Angular 2.
One main objective of moving away from AngularJS v1.x was the predicted end of life for this framework. While it is still actively supported, it was a good opportunity to transition to something new.
Efficiency : Projects that used to take months and hundreds of lines of code now can be achieved much faster with well-structured prebuilt patterns and functions.
Cost : Most frameworks are open source and free. Since they help engineers to build custom solutions faster, the ultimate price for web apps will be lower.
You can design a simple view for each state in your application and React handles the rendering of your components as your data changes.
While some will strive for fully stateless components, the true power and performance of React comes from embracing the application state concept.
With React, you should always remember that it is not actually a JS framework, but instead a library for rendering your views.
While there are a number of frameworks to choose from (Vue, Ember and Angular 2, for example), React has some key advantages:
- Due to the usage of virtual DOM, it provides a great performance boost, compared to Angular 1.x. In addition to that, React components can be created and reused among applications.
How React Has Improved Our Developer Experience
React offers support through forums such as Stackoverflow, Reactiflux Chat, Freenode IRC, Facebook and Twitter, which also made our decision much easier when switching.
React might not do everything, but it presents a list of complementary tools including debugging tools, component workbenches, JSX Integrations, basic starter kits, full-stack starter kits, model management and so much more that work hand-in-hand with its platform.