I want to develope an app compatible with Android and Iphone, and I was seeking for advice.

In order to build that app compatible with both systems, do you recommend me using Android SDK and XCode, or an other platform like Flutter and similars?


It's gonna be a really opinionated message, but well, here it goes.

I'm really fond of going native for each platform. Especially for the interface, both Android and iOS have different metaphors and ways to do things and navigate. Using the native frameworks lets you target features, UI and those "special things" for a better integrated app. The main con, you need to learn both platforms.

If you really want to use one single framework for both, I really like Flutter as you say, but it may lack some maturity, compared to Ionic or React. If I had to choose, Flutter would be better, because it compiles to native code, while the others compile to JS.

The pros of going hybrid to me are that for a single codebase, you get quite a lot of common code. I've done hybrid apps, and if you're not wishing to use very specific or complex libraries, you can reuse about 95% of the code. The cons are that a JS-based app is never as sleek as a native one (if you really want to implement every feature of a native app, including shadows, animations and transitions), and that adapting them to each platform will end up costing the same as creating separate platform apps.


React Native is probably the way to go. Especially if you know any JS.

React Native lets you build mobile apps using only JavaScript. It uses the same design as React, letting you compose a rich mobile UI using declarative components.

A React Native app is a real mobile app
The apps you are building with React Native aren't mobile web apps because React Native uses the same fundamental UI building blocks as regular iOS and Android apps.

Instead of using Swift, Kotlin or Java, you are putting those building blocks together using JavaScript and React.

Use native code when you need to

React Native combines smoothly with components written in Swift, Java, or Objective-C. It's simple to drop down to native code if you need to optimize a few aspects of your application. It's also easy to build part of your app in React Native, and part of your app using native code directly - that's how the Facebook app works.

Thousands of apps are using React Native, from established Fortune 500 companies to hot new startups. If you're curious to see what can be accomplished with React Native, check out these apps!

For what is worth, we currently have a native iOs app, which we also want to run on Android. We have decided to keep the design, through away the code & use React Native. It is stable, and has good support.

Please take a look and post feedback here, as I would be interested in your opinion.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.