Another thing to look at is nativescript. It is more or less an angular-based analog to react native.<p>I used react native to build a prototype (so thin experience here, it was just a prototype to compare between ionic, react native, and nativescript). It was okay, but felt a lot less complete and polished than ionic. There is some platform-specific stuff and the tooling isn't nearly as much fun. The ionic CLI is great. It made me a bit sad that I no longer need my hand-tooled complicated gulp scripts for express dev server, live reload, live rebuilds, and so on, but on the other hand, things work great out of the box. Tooling isn't nearly as good with react native or nativescript.<p>Also, the react native layouts are only mostly html. As in, there's some stuff that doesn't translate well. A well-laid-out react app could get ported across, sure, and react native will get you 90% of the way there, but the last 10% is a bit tricky. Flexbox, for example, isn't fully supported (or wasn't six months ago, life comes at you fast).<p>Ultimately, they're all worth a look, and I think the "which one should we use?" question is best answered by trying them all out and seeing what best fits your needs.