Stupid question, but Ionic is not native, or was not at least. But react-native is actually using only native APIs through Javascript. So if you want to have a native look and feel, why not go with react-native?

I don't think that's a stupid question at all. Ionic uses Cordova [1], which basically launches a browser that runs your web page as an "app". That said, Cordova does give you access to native APIs, so you still have access to Bluetooth/camera/whatever. Phone processors and browsers are getting increasingly powerful, so it's totally possible to achieve native or near-native performance in a web view-based app - assuming you properly optimize your JS and HTML. I believe Ionic provides consistent styling, so it's definitely possible to make your app look and feel like a native one.

The real win using something like Ionic is that you can build your app using web tech that works equally well on the phone or in the browser, and that your developers already know. The trade-off is that it becomes more difficult (but certainly possible) to make your app look and feel native.

React Native gives you many of those benefits, but since it compiles to actual native code you can't reuse your code for a browser app.

[1] https://cordova.apache.com

> React Native gives you many of those benefits, but since it compiles to actual native code you can't reuse your code for a browser app.

It is entirely possible to reuse your React Native code on the web, especially thanks to projects like react-native-web[1].

[1] https://github.com/necolas/react-native-web