Why we use ReactJS as our front-end library of choice.
September 20, 2018by Chris Carreck
When we first started developing apps in the early days of CLD (2010), the landscape for app development was pretty restricted. For iPhone development is was Xcode and objective C (before swift came along), Android studio for, well, android, and for windows, well, ugh, lets not go there. But we focused primarily producing rich interfaces for iOS, it was still reasonably early days for the smart phone and we were able to output sleek, highly involving user experiences for our clients.
This did come with some issues though. For example clients requiring both a website and an app, developers in our team would need to either cross skill, or, we hire those specialising in only web development, and others in Objective-C, and then another group that were java developers and happy to get their hands dirty in Android studio. Luckily for us, we had a team of very talented developers that were able to cross skill, and with a little bit of patience, we were able to effectively produce web builds, as well as native mobile builds, with the help of one or two “experts” in that field laying the foundations for others.
So we had a few frameworks, some worked well, some we weren’t so sure on, and we still had to use a flavour of Cordova on top of them to effectively target different platforms. It was working well for us, and our clients were happy with the results, so it was ok.
Then we decided to give reactJS and react-native a turn. It had been around for a little while at this point, but was still a relatively less popular library than it is today. We found that is was really 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. We were able to pivot quickly when changes were necessary.
Now its not just that simple to spin up a demo in react and then suddenly turn it into a native app for iOS and Android, you still need to create the react-native components for each of the platforms you wish to target, which involves writing code for both, but we can still write all that UI code in one place, and its still *native* for that platform. So we have the benefit of a single code base, with more targeted native code for our platforms, which brings me to my next point: our app UIs feel a lot sleeker in react than anything we got with Cordova. We don’t have any benchmarks to prove this, just 1000s of hours sitting with our developers, testers, and clients looking at, demo-ing and using the apps we produce, and there is a definite feel of a richer, sleeker experience in the end result using react, and react-native, than I think we have been able to get with a Cordova app.
Here at Creative Licence Digital, we are loving some of the apps we’ve been able to output for our clients, and using react and react-native plays a big part of that.