To write code and build applications is rather challenging, so create apps for both platforms is even more complicated. There is a well-known fact and for years engineers have been trying to find the solution to the issue: “write once, run anywhere”.
Most cross-platform tools and technologies create a user interface themselves. That’s why it looks unnatural and doesn’t work fast.
Also, to build any complex application programmers should use not only a cross-platform framework but own language code too. Such code extensions and the use of framework often lead to some interaction problems.
“Write once, run anywhere” is a lifelong dream which resulted in the emergence of a plenty of different technologies created with an intention to make it come true: PhoneGap, Appcelerator Titanium, Java… But they didn’t manage to completely resolve it.
A bit of React Native technology history
Everything started with popular ReactJS, made by Facebook to repair their chat. Chat difficulties weren’t solved, but the technology was great and promising.
So, in the in the middle of 2015 Facebook released React Native and here I'll speak about this young and high-potential technology.
React Native is a JS framework based on JS and React, JS library for creating UI (of a View level). Though appearing not long ago, now it’s obviously one of the key trends of the mobile development world.
Putting the interface together from cubes and adaptive approach to design enable developers to make up interface semantically as it is in a web. Thus, instead of using different iOS and Android interface elements, a designer creates an interface from logical components such as header, button, list, screen, etc.
This is very convenient: at the beginning, you quickly make up the interface from universal blocks and then refine it for each platform where needed with ProgressBarAndroid and ProgressViewIOS. As you can see, the process is very similar to adaptive slicing.
Learn more about React Native benefits and ideas for improvement.