NativeScript-Vue (original) (raw)

NativeScript-VueDelightful mobile app development.

The entire native platform under your fingertips in the comfort of Vue and JavaScript.

Full Vue 3 Experience

The full Vue experience that runs as a mobile app. No translation layer, your actual Vue code runs as-is.

⚡️

Native API Access

Thanks to NativeScript's superpower, you get access to ALL native apis right in your JavaScript.

Learn more →

💪

Unmatched flexibility

NativeScript supports libraries from various sources, NPM, Cocoapods, SPM, Maven/Gradle and more.

Learn more →

Does it work with Vue 3 or the Composition API?

Yes! Since 3.0, Vue 3 is supported. You can use both the Options and the Composition API per your preference.

What is NativeScript-Vue?

tl;dr it's a custom renderer for Vue that renders to NativeScript views.

Does it run inside a WebView?

No, it runs your JavaScript/Vue code in an embedded JavaScript runtime (using V8, the engine powering Node.js, Chromium-based browsers, Cloudflare workers and more...) that exposes bindings to all native APIs automatically (discovered at build-time).

So the user interface is native?

Yes, all <template> blocks are rendered via NativeScript Views. These views are responsible for instantiating and translating attributes and CSS styling to their native equivalents. ie. <Label text="Hello World"> will render a UILabel on iOS and an android.widget.TextView on Android.

Am I limited to elements provided by NativeScript-Vue?

No, both NativeScript and NativeScript-Vue are built in a way that it's easy for plugins (or your own code) to register new elements. For example, you can install any 3rd party (ui) library and expose it to your <template> blocks. The majority of NativeScript plugins do just that: wrap native libraries under a common api for easy consumption.

... I'm stuck, where do I get help?

Learning a new technology always has it's challenges. The NativeScript Community Discord is the best place to ask for help.

Who's behind this?

NativeScript-Vue is primarily maintained by @rigor789 with various amazing contributors from the community.