Gauging React Native and Ionic 2 — Which Is Really Better..?

Anoop M Madasseri
Tech Log
Published in
4 min readOct 24, 2017

Choosing the best tool depends on the developer’s preferences and needs. Here we look at the pros and cons of React Native and Ionic 2 for developing apps.

“The bitterness of poor quality remains long after the sweetness of low price is forgotten” — Benjamin Franklin

Providing a product at the lowest price point with outstanding quality of the product, sounds like a sure way to attract customers and gain an edge on the competition — but it’s not always that easy. It is normal for clients to expect quality and at the same time try to save money and time. After all, the clients are paying the company so they want to make sure their finances are spent efficiently.

It is well-known that development costs are quite high even to develop on one platform, either Android or iOS. Development for two platforms makes the costs grow twice as much (or even more).

Price has always been, and will always be, a significant indicator of quality, so making a high-quality product affordable and valuable is a fine line to walk and that’s what hybrid platforms do for you.

Thanks to a collection of new technologies that have emerged over the past two years. With these technologies, you can design, build, and deploy robust mobile apps faster than you could with native technologies, all while incurring little to no app performance penalties.

Using new technology is always a bit risky as you cannot be 100% sure of it. In this article, let’s compare two frameworks that is best in this business as of now, React Native and Ionic 2, and point out the main pros and cons of each.

Ionic 2

Ionic’s ultimate goal is to make it easier to develop native mobile apps also known as Hybrid apps and it proved that it’s a great solution in this business. Ionic apps are essentially websites embedded in a mobile app through what we call a webview. They are developed using HTML5, CSS, and Javascript and execute the same code regardless of the platform in which they run. They can, with tools like PhoneGap and Cordova, use the native features of a device, like GPS or camera.

A step up, Ionic is a breeze to learn & work with, and cross-compiles to iOS and Android (since it’s just Webview) using per-device differentiator classes to theme accordingly — “write once, run anywhere“.

Mixing Ionic code with native mobile app code in PhoneGap (now called Apache Cordova) allows for higher performance of the resulting product: utilizing AngularJS (rather than jQuery) allows Ionic to rely on native hardware acceleration (rather than extensive DOM manipulation). Ionic leverages CSS transitions and transforms for animation as a way to leverage the GPU and maximize available processor time.

React Native

React Native is a platform for building mobile apps using the highly popular and quickly growing React view library. The resulting apps run on both iOS and Android. However, unlike other cross-platform SDK’s like PhoneGap, Ionic, etc which basically run JavaScript powered apps in a web browser, React Native compiles to native code for the respective OS, Android or iOS. That means there is no performance compromise and the apps built with React Native run just as smoothly as apps built using the actual native tools like Xcode.

With React Native, you don’t build a “mobile web app”, an “HTML5 app”, or a “hybrid app”. You build a real mobile app that’s indistinguishable from an app built using Objective-C or Java. React Native uses the same fundamental UI building blocks as regular iOS and Android apps. You just put those building blocks together using JavaScript and React.

React Native doesn’t have the luxury “ write once, run anywhere. “ — their motto is “ learn once, write anywhere “ — meaning you’re using the same framework, and maybe even shared components, but maintaining separate code for your iOS & Android apps. This means more work, on top of the steeper learning curve. That’s the time/effort cost, now let’s consider the quality cost.

Now, Let’s Compare

React Native vs Ionic 2 framework: Side-by-Side Comparison

Showcase — Who’s using?

OK. But Which is Better?

They both do different things, and both do it well. Choosing between the two depends more on your project requirements. React Native is a great option for creating performant iOS and Android apps that feel at home on their respective platforms, all while building on any previous web development experience. If your requirement is decent performance apps, with support for Progressive Web Apps and Native Browser Apps, then go for ionic 2 with no hesitation in mind.

Nevertheless, If you value native rendering more than the rest and if you need apps to be extremely fast and responsive, then you can opt for React Native.

References

Go forth and build something awesome!

--

--