Lively ReactNative Brings Summer Colors into the “Bloody Enterprise”
But wait a minute, let me tell you why ReactNative is so nice.
A Universal Approach
ReactNative is based on ReactJS and JavaScript, which means that you can engage mature ReactJS developers. It’s important to note that, having learned to write code in ReactNative for iOS, it would be easy for you to write an Android application. In case of native development, you would have to learn Swift/Objective-C for iOS and Kotlin/Java for Android. ReactNative is JS, and uses the same principles in building an application as ReactJS, except some platform specifics. Learn once, write everywhere.
An Architectural Component
The Internet is teeming with articles on Model-View-Presenter, Model-View-ViewModel, Model-View-WhatEverPattern, VIPER, CleanArchitecture. But neither iOS, nor Android has provided a possibility to separate code in accordance with any of the above-mentioned paradigms; all these components and their cutting had to be done with the use of libraries or by yourself.
With ReactNative, we have specific separation into View Components and a state which fits in Redux. As a result, we have everything split into separate layers. It is very easy to test such a code:
- Here you have View – take it and test it
- Here you have reducers – they are just functions; it’s a joy to test them
- Here you have a data model
ReactNative provokes a well-structured code :) The programmer deals with components that are easy to write, test, and use. Oh well, I’m cheating a little. There are Architecture Components for Android, but it is the year 2017 already, a bit late...
Development Speed and Plugins
When developing an application in ReactNative, developers don’t have to wait for a redeploy for a long time — rendering of changes occurs almost instantly. It’s also great that you can stylize an application using CSS tables, which enables you to quickly stylize the UI.
In ReactNative developing, you can use and extend the application through plugins, and add functions written with native tools, for example a map, not through WebView, but fully feature with a compass, zooming gestures, etc.
Speed of Work
The speed of work is higher than that of applications written with Ionic or Sencha, because there is not work through WebView. ReactNative employs a plugin that provides native widgets for each platform. The result is that the user works with native UI elements.
Why Enterprise
Today many companies urgently need mobile applications. ReactNative is one of the ways of developing enterprise applications, enabling you to build applications by reusing a code base across Android and iOS applications. To develop applications quickly and without separate commands for each platform is an obvious advantage.
To the above-mentioned factors, we can add the capability of using already developed JS libraries, which makes ReactNative a truly luxurious solution. You know what I mean – it’s great when you can use one and the same library for both Android and iOS.
Wait a second, Ivan. Where are all those bright summer colors? The colors are in ReactNative itself – once you start developing with ReactNative, you’ll never want to return to native tools again, in enterprise segments tasks, of course, to say nothing of 3D games.
P.S. Of course, ReactNative is not a silver bullet, but for a larger segment of enterprise applications it can be an excellent tool for testing a hypothesis and creating first versions of an application as fast as possible.
Thank you and enjoy your developments!
Ivan Alyakskin
Software Consultant