NativeScript-Vue 3 Is Here: Vue 3 Support Finally Lands for Native Mobile Apps
If you've been building mobile apps with Vue and NativeScript, you've probably been waiting for Vue 3 support. The Composition API, improved reactivity, better TypeScript integration—all of it has been available on the web for a while, but native mobile development has lagged behind. That wait is over. NativeScript-Vue now supports Vue 3 and is generally available.
What It Does
NativeScript-Vue is a framework that lets you build native iOS and Android apps using Vue.js. Instead of writing Swift or Kotlin, you write Vue components, and NativeScript renders them as actual native UI elements—not web views. This means you get the performance and feel of a native app while staying in the Vue ecosystem you already know.
With this release, the framework has been updated to work with Vue 3. That brings improved reactivity under the hood, a modern plugin system, and better TypeScript support. Types for core elements like $navigateTo and $showModal ship with the package, so you're not left guessing what's available. The project lives at github.com/nativescript-vue/nativescript-vue, and if you're still on V2, that version has been moved to a separate branch.
Why It's Cool
There are a few things here that make this release worth paying attention to.
-
Vue 3 reactivity, finally on mobile. The improved reactivity system in Vue 3 isn't just a minor tweak—it changes how you structure state and side effects. Getting that on native mobile means your mental model stays consistent whether you're building for the browser or for a phone.
-
TypeScript support that actually works. The README is specific about this: types ship with the package, and third-party libraries like Pinia and vue-i18n augment the
vuemodule. The templates mapvuetonativescript-vueintsconfig.jsonso imports resolve correctly. If you've ever fought with type definitions in a hybrid environment, you know how much this matters. -
Vue Devtools integration. You can install the standalone devtools (
@vue/devtools@^8) and run your app with a flag to connect. The devtools window opens on your host machine, and the app connects to it. There's even a way to pin the port or point to a specific host if you're testing on a physical device. For Android, you'll need to enable cleartext HTTP traffic in your manifest, but that's a one-line change. -
A StackBlitz template. If you want to poke around before committing to a local setup, there's a StackBlitz template you can fork. That's a low-friction way to see how things work.
-
A clear upgrade path. The README points to an upgrade guide for anyone moving from V2. That's the kind of thing that makes a major version bump less intimidating.
The combination of native rendering plus Vue 3 plus TypeScript support puts this in a pretty specific niche. If you're already invested in Vue and want to ship mobile apps without switching languages, this is one of the few options that doesn't feel like a compromise.
How to Try It
You can get started in a couple of ways. If you want to try it in the browser first, fork the StackBlitz template.
For a local setup, you'll need the NativeScript CLI. Then:
ns create myAwesomeApp --template @nativescript-vue/template-blank@latest
cd myAwesomeApp
ns run ios|android
If you're upgrading from V2, check the Upgrade Guide first.
To use Vue Devtools, install it as a dev dependency:
npm i -D @vue/devtools@^8
Then run with the devtools flag:
ns run ios|android --env.vueDevtools
You can pin a port with --env.vueDevtoolsPort=9000, point to a specific host with --env.vueDevtoolsHost=http://192.168.1.10, or skip spawning the devtools app if it's already running with --env.vueDevtoolsSpawn=false.
For TypeScript projects, add this to your tsconfig.json:
{
"compilerOptions": {
"paths": {
"vue": ["./node_modules/nativescript-vue"]
}
},
"vueCompilerOptions": {
"lib": "nativescript-vue"
}
}
The full repo is at github.com/nativescript-vue/nativescript-vue. If you run into issues, the README suggests opening a detailed issue or joining the Discord.
Final Thoughts
This release is a solid step for anyone who's been holding off on NativeScript-Vue because of the Vue 3 gap. The TypeScript improvements and devtools integration are practical additions that make day-to-day development less painful. It's not trying to be everything to everyone—it's a focused tool for Vue developers who want native mobile apps. If that's you, it's worth a look. The fact that it's generally available now means you're not betting on something experimental.
Follow @githubprojects for more developer tools and open source projects.