Bagusflyer
Bagusflyer

Reputation: 12925

Cross platform for React Native

As I know the first priority of React Native is not cross platform. It claims "learn once use everywhere" instead of "write once use everywhere". So there are a few specific components like StatusBarIOS, NavigatorIOS, AlertIOS. Although there are some cross platform alternative components like Navigator, StatusBar, etc, Facebook suggest us to use platform specific version for better performance.

But my question is why don't just wrap the platform specific version inside the universal version in the first place? For example, Navigator, why don't just use NavigatorIOS internally in iOS? Wouldn't it be nicer to keep the performance and make it cross platform at the same time?

Upvotes: 0

Views: 126

Answers (1)

Mihir
Mihir

Reputation: 3912

Depends on what you mean by

But my question is why don't just wrap the platform specific version inside the universal version in the first place?

I was trying to build a so called cross-platform app. But I ended up writing too many if-else blocks for rendering simplest of platform-specific components. I scrapped the whole app altogether, and tried using better folder structure instead.

I created an src folder in root of the application. And then divided the app into api, views, components. The views and components were further divided into android and ios folders. Inside src folder, I had a main.js which contained Navigator.

This is what I prefer to do! You might want to do something else. That's okay. At the end of this learning experience, I found that Facebook was right. it is not write once use everywhere. It is learn once apply however you want! As long as your app is delivering 60 FPS experience to your user, anything is valid in React Native.

Upvotes: 1

Related Questions