ARTICLE · 1117916
用 Vue 3 写真正的原生 iOS App,没有 WebView——NativeScript-Vue 3 上手体验
说个经历。用 Vue 写过一个跨端小工具,本来想着用uniapp,但是又想着一端打包多端报错。图省事上了 Capacitor,本质是 WebView 套壳。发布前几天还好好的,结果审核被卡了一次,提的应用被提醒要核实 web 内容来源。当时我就想,如果一开始就走原生渲染,这关是不是就不用磕了。这个疑问,把我带到了 NativeScript 面前。
2026 年,用 Vue 3 写原生 iOS App 这件事,已经不再是想想而已。NativeScript-Vue 3 正式支持 Vue 3(当前 3.1.2),组件直接映射到原生控件,没有 WebView 那层中间墙。这篇就聊它到底怎么用、和 WebView 方案差在哪。

01 · 它凭什么"没有 WebView"
你的 JS 在原生运行时里跑,UI 是原生控件画的
WebView 方案的痛点是中间隔着一层浏览器。NativeScript 的路子不一样,官方说的很清楚:你的 Vue 代码跑在一个嵌入式 JavaScript 运行时里,所有模板都通过 NativeScript Views 渲染,比如一个 Label 标签,在 iOS 上就是一颗 UILabel,在 Android 上就是 android.widget.TextView。没有 HTML、没有 CSS、没有那堵墙。
我第一次意识到差别,是在真机上看滚动。不是网页那张滚,是系统控件那张滚,跟原生 App 根本没有区别。感觉挺流畅的。
02 · 上手长什么样
组件是 Page、StackLayout、Label,不是 div
上手的第一道坎,是要放下 Web 那套 div、span 的写法。NativeScript-Vue 3 的页面组件是 Page、StackLayout 这种原生视图标签。但 Vue 3 的写法你完全熟悉,Options 和 Composition API 都支持。换的是界面标签,不换的是 Vue 的思考方式。贴段最小例子。
<template><Page><StackLayout><Label:text="'点了 ' + count + ' 次'" /><Buttontext="Click me" @tap="count++" /></StackLayout></Page></template><scriptsetup>import { ref } from 'vue';const count = ref(0);</script>
这层映射,反而让我觉得比想象中简单。我一开始以为得学一套全新 API,结果发现只是把 Web 标签换成了原生标签,对 Vue 的老兵,成本比我预估的低多了。
03 · 2026 年的两条路
原生渲染 vs WebView 桥接,不是谁取代谁
说到这必须搞清楚一个误区。常有人把 Vue 写移动端这件事打包成一个东西,其实 2026 年 Vue 移动端是有明显岔路的两条路,目标和取舍完全不同。一条是 NativeScript-Vue,原生渲染;一条是 Vue + Capacitor,WebView 桥接。
前者贵在真原生、体验和上架顺畅,代价是界面得按原生标签来;后者能把你的 Web 代码基本不动地搬过去,代价是中间隔着浏览器、审核要留个心眼。不是谁取代谁,是看你手里是什么代码、要什么体验。这个岔路,我在第一篇就说过了吧——选型永远是看场景。
04 · 代价与坑
没有 WebView,但也有对应的要还
说了这么多好处,也讲讲你逃不掉的代价。首先,生态没有 Web 成熟,整个样式和布局从 CSS 换成了原生那套。别指望把已写好的 Vue 页面直接搬过来,得重写界面层。另外熟练了 Vue 的响应式心智,转到这种原生标签+原生样式,头一个礼拜会忍不住找 Vue Router 找不到。
我去年踩过一个具体的坑:想复用一个 Web 图表库,直接在 NativeScript 里 NPM 装进去,结果它默认依赖 DOM,跑不起来。最后只能换原生包。这个墙,是用更原生换来的。
05 · 值不值得
一句话给它定个位
如果你要的是让一套代码在 iOS、Android 都跑起来,而且体验尽量好,那 NativeScript-Vue 是 Vue 生态里离这个目标最近的一条路。如果你只是想给已有 Web App 套个壳上线,那 WebView 方案更省事,别折腾这个。它不便宜,但它是真的敢把 WebView 那堵墙拆掉的那条路。
我给自己的建议是:下一个从零开始的小工具,就上原生这条路,把那年踩的审核坑补回来。
写原生 App 不一定要写一堆 Swift。用你熟的 Vue 3,一样能写出没有 WebView 的真原生。拆墙的人,从来不是被墙挡着的人。
是选择 WebView 省事,还是选择真原生扎实,取决于你要交付什么。但至少,Vue 3 今天真的能给你原生这条选项了。