Why we use ReactJS
September 20, 2018by Chris Carreck
When CLD first started developing apps in early 2010, the landscape for app development was far more restricted. iPhone development used Xcode and objective C before Swift came along. As far as Android studio for Android and Windows applications - let's not go there. 2010 was still reasonably early in the smart phone landscape, however, it has always been our mission to produce rich interfaces for iOS and our other platforms.
Here we'll take you through the timeline of CLD's development milestones.
Something was still missing. We tried a few different flavours of Cordova and JS frameworks. From here we experimented with Crosswalk for smooth experiences on android, Ionic and Angular, Backbone, Phone Gap, etc. While we were able to produce proficient results, we found there was need for frequent code tweaking.
Long story short, we tested a few different frameworks. Some worked well, some we weren't confident in, and others still required flavour of Cordova to effectively target different platforms.
We decided to give ReactJS and React-Native a turn. At this stage, both had been in the market for a short amount of time, still relatively less popular than it is today. We found that is much quicker and easier for our team to spin up a prototype, create some engaging UIs for our clients, and get feedback quickly. As we always do in an agency environment: learn fast, fail fast.
It's important to point out - it's not that simple to spin up a demo in React and then quickly turn it into a native app for iOS and Android. The steps to create the React-Native components for each of the platforms you wish to target still exist. The benefit is all the UI code can be written in one place, making it native for that platform. This supports the benefit of a single code base.
With more targeted native code for our platforms, our app UIs feel a lot sleeker in React than anything built with Cordova. Our benchmarks to support our claims? Thousands of hours sitting with our developers, testers, and clients looking at, demoing and using the apps we produce. The experience speaks for itself. There is a definite feel of a richer, sleeker experience in the end result using React and React-Native.
In summary, some of the main advantages we've found from using the React library are:
- Quick turnaround for prototyping
- A clean code base able to target web and native
- Developers can work on any part of our stack more easily
- We no longer need to use different compilers to get better results on different devices
- Proven end results for our clients