Last month, Facebook open-sourced React Native, a library for building native iOS and Android apps in JavaScript and React.js with the promise that every mobile platform users will get apps with UI they’re used to. React Native development makes it possible to create high quality mobile apps written in JavaScript and is poised to make a huge shift in how native apps are created today. Especially apps built for smart objects and wearables.
There’s common opinion that mobile application developers need native app development tools to create the best user interfaces ever. Native development allows for building faster and more eye-catching apps; however, this type of development is usually very time consuming and not very flexible. Since native development tools are based on totally incompatible programming languages, the same app should be developed twice or more to run on multiple platforms at the same time. Today, it’s the main headache within the industry as it significantly increases the cost of development.
On the other hand, all cross-platform solutions are based on web technologies such as HTML, CSS, and JavaScript and allow for very rapid development, compared to the native tools. Yet, this approach is oftentimes criticized for limited compatibility, excessive energy consumption (mobile web apps are more likely than native apps to drain your device’s battery fast), and old-school look and feel.
I’ve talked to some of Intersog’s web and mobile developers to find out what they think about building apps in React Native and how this can help bridge the gap between native and cross-platform development.
Oleg, senior iOS developer:
As far as I understand, Facebook is trying to change the entire mobile development philosophy with React Native by allowing us, developers, to learn once and code anywhere. Instead of building an app and adapting it to different operating systems, we can build an app just once and deploy it to many platforms. So, it’s more about pragmatism and helps make mobile software development fully platform-agnostic.
Valeriy, front-end developer:
I played with React Native just briefly and realized that it works indeed! It feels like you’re developing for the web, while in fact you’re building a real native app with UI that is as awesome as in a native app! For me, as a web developer, the learning curve will be pretty steep, and I’ll be able to write native apps using the same techniques I use for writing web apps. The web is not really meant for building cool mobile apps because the mess of CSS and HTML impedes effectiveness of many frameworks instead of enhancing it. But React Native can be a new way of turning the web into a great versatile app development platform.
Sean, front-end developer:
I know from personal experience that building native iOS apps can be a pain in the neck, especially when it comes to UI design. Layouting is counter intuitive and APIs are not as smooth to use as JS libraries. React Native lets us build native iOS apps very quickly without bothering to learn Objective-C or low-level tools within Xcode. Also, because JS is running on a separate thread, there’s no impact on elements such as animations, which makes writing native UI easy as never before.
Read about software development company in Chicago.
And have you already tried React Native? Do you think it’s really able to bridge the gap between web and mobile and accelerate the evolution of mobile web?