You will learn:
What is cross-platform development
If React Native is the right tech for your project
What are the benefits of using React Native
Download free pdf.
"The cooperation with Polidea started a few months back. They came into the ongoing project with flexibility, openness and creativity backed by solid technological expertise. We feel like Polidea’s partners and we share a similar work ethic and attitude."
Polidea delivered iOS and Android mobile apps as well as web app fully integrated with the Humon ecosystem—Humon Hex sensors and the cloud—using Bluetooth Low Energy technology.
Our teams delivered a suite of mobile and desktop apps fully integrated with ZEI—a revolutionary time tracker from Timeular.
The app is intended for members of Best Buddies' programs, who build one-to-one friendships and social groups across all of the US and the entire world. It allows members to exchange photos within their local chapters, organize themselves using the built-in calendar and report on their monthly activity via Friendship Updates.
React Native is a framework created by Facebook to enable a smooth and easy cross-platform mobile development. It basically means that you don’t have to create an iOSand Android app separately. All you need is one codebase to develop beautiful apps for both platforms, without compromising on the UX and UI experience.
Today, the biggest companies in the world recognize more and more the React Native’s potential for business. What are the benefits? Is React Native the right solution for you? Is it better than the native development? We sat down with our Head of Client Services Szymon Nieradka to answer these and other React Native iOS and Android related questions.
The dream of having one framework that will cover all platforms has been with the industry for years. Making that dream come true, however, used to be impossible. In fact, we were struggling with mobile cross-platform development for many, many years.
When it comes to web development, you access most of the functions on your laptop using one application—a web browser. Nobody questions HTML’s (to be more precise HTML5, CSS and JS) dominance as it’s a certain standard.
Mobile development went in a completely different direction. Fifteen years ago no one had any idea how to build an interface in mobile apps. We all remember what Symbian looked like, and the differences between iOS and Android in the beginning. Back then it was super hard to prepare one framework that would somehow be useful on all other platforms. There were of course frameworks like Xamarin, PhoneGap and bunch of others that did their best to achieve that goal—but none of them was really good.
Nowadays, a few things have changed, especially when it comes to the UI. The efficiency of devices has increased and the market fragmentation decreased—there are only two players: Android and iOS. Only four years ago we were creating a mobile banking app for the largest Polish bank for iOS, Android, WindowsPhone, Symbian/Java and Blackberry…
I believe that React Native is the very first framework that allows us to create a mobile app, which will work both on iOS and Android and we don’t have to compromise on speed, efficiency or their overall look and feel.
There’s no clear yes or no answer here.
Some time ago we started a few new projects. Two of them involve a pure native iOS development and one of them is a React Native project. We were wondering which approach is better for all of them—native or cross-platform development. The answer is: it all depends on the project.
If the client says, that the only platform they are interested in is iOS, then it doesn’t make sense to make it in React Native. If they are expecting to utilize platform specific features (such as iOS ARKit) then React is still not the best option here.
So sure, there are cases when we don’t recommend the cross-platform development. However, the fact is, that in around 80% of real business cases React Native can increase the speed of mobile development by 30%, sometimes even 40%. These numbers come from our projects, not from thin air, which is why I’d recommend it for most cases.
It is faster (therefore cheaper), and you don’t have to compromise on application’s features. It’s also easier to maintain. Once you find a bug, you can solve it in one place for both platforms simultaneously.
To be honest, it’s super easy to make a really ugly and slow native app—all you have to do is work with inexperienced designers and developers. Luckily, as I mentioned before, you don’t have to compromise on UI while using React Native.
We believe that only mobile app developers with a strong native background can prepare seamless mobile experience in a React Native application. Since they have a native experience, they know what to expect from the app.
All of our React Native developers have strong technical experience with native codes. They are former Objective-C, Swift, Kotlin and Java developers and because of that, they would never deliver something that compromised on performance, quality etc.
The React Native app’s great look and feel depends in the end on the abilities of the developers. You need the right partner to work with and that part will never change.
Of course, there are edge-cases where React Native is not the best option. In one of the projects we were working on last year, our customer asked us for an animated background that will look like a ‘spilled gasoline on water’ and will respond to the phone’s moves. And of course, this animation should not affect battery usage. We did it in OpenGL for Embedded Systems.
The biggest difference between React Native and previously mentioned cross-platform frameworks is their approach to UI. Most of those frameworks tried to generate user interfaces by using the same techniques on both platforms. Sometimes they managed to look the same on iOS and Android but they certainly didn’t behave the same way. Whereas React Native converts then same source code into different native components on both platforms. In other words, these are native components, only rendered in a different way. After all, there’s a reason why it’s called React NATIVE.
For example, a developer is writing a React Native code that’s supposed to render a button in an app. However, on iOS it’s an iOS-native button and on Android it’s a completely different, Android-native button. In the end, the button looks, behaves and reacts the same way. The only difference is, the actions performing behind these buttons are written in a non-native language.
So you won’t have to compromise on UI in React Native and you can expect your app to perform the same way as a native app would.
React Native is widely used by big brands so you don’t have to worry about it going anywhere in the next couple of years. It would affect too many giant companies, plus it’s a technology that the industry is very much focused on right now.