Hybrid JavaScript Mobile Development - Apache Cordova vs Capacitor with Ionic vs NativeScript vs React Native

To some degree, the answer will depend on your own personal experience/knowledge, personal preferences (how you think and work) and, finally, any performance requirements you project may have. Like you, I have also looked into all of these frameworks and have used most of them. Any of them will ultimately get the job done. However, the one thing that I have found is that frameworks such as Cordova, which runs a web view wrapped in a native app, can have some noticeable performance issues when you try to push it. A framework which uses actual native components and compiles to native code will ultimately be more responsive. However, even then, you can find cases where it doesn't match up to natively written code. For example, I worked on a project a little over a year ago where we started with React Native. Everything was fine until we started trying to do some realtime map animation with geolocation and user interaction. At that point, we started to see lag and stuttering, even on brand new devices. For that project, we ultimately bit the bullet and started over in pure native. We were simply asking too much of the framework.

Currently, I'm working on a project using NativeScript with Vue. And, so far, I'm pretty giddy with it. Like you, I am a fan of VueJS, largely because I like how Vuex and overall data binding are handled. There were definitely some learning curves and paradigms to get my head around, but I started to hit a stride after a week or so. That being said, I have yet to really push the framework with anything like complex animations. But it is a mature framework, it is well documented and has an active community (I joined the Slack workspace pretty much immediately). And I absolutely love the fact that it doesn't have an opinion about if/what framework you should use. Vanilla JavaScript, React, Angular, Vue...it just doesn't care.

If you are concerned at all about ramping up other developers on the project, in the future, there are definitely more people out there familiar with React Native. Then again, any developer worth their salt should be able to ramp up on a new framework without too much difficulty. If you are considering NativeScript, I'd recommend taking a look at some of the examples in the Playground and flipping through the documentation. I suspect that it will either entice you or repel you. That being said, I don't really have any complaints about any of the other frameworks that are out there. Some are just more appropriate for certain kinds of apps than others.

Good luck!


That is correct, NativeScript has its own native components for iOS/Android. It isn't a wrapper around some other framework. Telerik built it from the ground-up. It is a self-contained ecosystem, which is currently at version 6.x. So it has been around for some time and is actively being developed and maintained (which doesn't guarantee that it won't go away at some point).

For something like a PWA, Ionic or Flutter are options. And I stumbled on a new one via StackShare, this morning, called Quasar which looks interesting (https://quasar.dev/). But you can actually build a PWA from the same NativeScript codebase that you use to build mobile apps (https://www.nativescript.org/blog/how-to-build-a-pwa-an-ios-app-and-an-android-app-from-one-codebase). So there seems to be no shortage of tools, which is good because it gives you options to choose from based on how you like to work.