棄用 uni-app!Vue3 的原生 App 開(kāi)發(fā)框架來(lái)了!
長(zhǎng)久以來(lái),"用 Vue 3 寫(xiě)真正的原生 App" 一直是塊短板。
uni-app 雖然"一套代碼多端運(yùn)行",但性能瓶頸、廠商鎖倉(cāng)、原生能力羸弱的問(wèn)題常被開(kāi)發(fā)者詬病。
整個(gè) Vue 生態(tài)始終缺少一個(gè)能與 React Native 并肩的"真·原生"跨平臺(tái)方案。
直到 NativeScript-Vue 3 的橫空出世,并被 尤雨溪 親自點(diǎn)贊。

為什么是時(shí)候說(shuō) goodbye 了?
uni-app 現(xiàn)狀 | 開(kāi)發(fā)者痛點(diǎn) |
渲染層基于 WebView 或弱原生混合 | 啟動(dòng)慢、掉幀、長(zhǎng)列表卡頓 |
自定義原生 SDK 需寫(xiě)大量 | 維護(hù)成本高,升級(jí)易斷裂 |
鎖定 DCloud 生態(tài) | 工程化、Vite、Pinia 等新工具跟進(jìn)慢 |
Vue 3 支持姍姍來(lái)遲,Composition API 兼容碎裂 | 類(lèi)型推斷、生態(tài)插件處處踩坑 |
"我們只是想要一個(gè) Vue 語(yǔ)法 + 真原生渲染 + 社區(qū)插件開(kāi)箱即用 的解決方案。"—— 這,正是 NativeScript-Vue 給出的答案。
尤雨溪推特背書(shū)
2025-10-08,Evan You 轉(zhuǎn)發(fā) NativeScript 官方推文:
"Try Vite + NativeScript-Vue today — HMR, native APIs, live reload."

配圖是一段 <script setup> + TypeScript 的實(shí)戰(zhàn) Demo,意味著:
- 真正的 Vue 3 語(yǔ)法(Composition API)
- Vite 秒級(jí)熱重載
- 直接調(diào)用 iOS / Android 原生 API
獲創(chuàng)始人的公開(kāi)推薦,無(wú)疑給社區(qū)打了一劑強(qiáng)心針。
NativeScript-Vue 是什么?
一句話(huà):Vue 的自定義渲染器 + NativeScript 原生引擎

- 運(yùn)行時(shí) 沒(méi)有 WebView,JS 在 V8 / JavaScriptCore 中執(zhí)行
- <template> 標(biāo)簽 → 原生 UILabel / android.widget.TextView
- 支持 NPM、CocoaPods、Maven/Gradle 全部原生依賴(lài)
- 與 React Native 同級(jí)別的性能,卻擁有 Vue 完整開(kāi)發(fā)體驗(yàn)
五分鐘極速上手
(1) 環(huán)境配置(一次過(guò))
# Node ≥ 18
npm i -g nativescript
ns doctor # 按提示安裝 JDK / Android Studio / Xcode
# 全部綠燈即可(2) 創(chuàng)建項(xiàng)目
ns create myApp \
--template @nativescript-vue/template-blank-vue3@latest
cd myApp模板已集成 Vite + Vue3 + TS + ESLint。
(3) 運(yùn)行 & 調(diào)試
# 真機(jī) / 模擬器隨你選
ns run ios
ns run android保存文件 → 毫秒級(jí) HMR,console.log 直接輸出到終端。
(4) 目錄速覽
myApp/
├─ app/
│ ├─ components/ // 單文件 .vue
│ ├─ app.ts // createApp()
│ └─ stores/ // Pinia 狀態(tài)庫(kù)
├─ App_Resources/
└─ vite.config.ts // 已配置 nativescript-vue-vite-plugin(5) 打包上線
ns build android --release # 生成 .aab / .apk
ns build ios --release # 生成 .ipa簽名、渠道、自動(dòng)版本號(hào)——標(biāo)準(zhǔn)原生流程,CI 友好。
Vue 3 生態(tài)插件兼容性一覽
插件 | 是否可用 | 說(shuō)明 |
Pinia | ? | 零改動(dòng), |
VueUse | ?? | 僅無(wú) DOM 的 Utilities 可用 |
vue-i18n 9.x | ? | 實(shí)測(cè)正常 |
Vue Router | ? | 官方推薦用 NativeScript 幀導(dǎo)航 → |
Vuetify / Element Plus | ? | 依賴(lài) CSS & DOM,無(wú)法渲染 |
檢測(cè)小技巧:
npm i xxx
grep -r "document\|window\|HTMLElement" node_modules/xxx || echo "大概率安全"調(diào)試神器:Vue DevTools 支持
NativeScript-Vue 3 已提供 官方 DevTools 插件:
- 組件樹(shù)、Props、Events、Pinia 狀態(tài) 實(shí)時(shí)查看
- 沿用桌面端調(diào)試習(xí)慣,無(wú)需額外學(xué)習(xí)成本
配置指南:https://nativescript-vue.org/docs/essentials/vue-devtools
插件生態(tài) & 原生能力
(1) 700+NativeScript 官方插件
ns plugin add @nativescript/camera | bluetooth | sqlite...
(2) iOS/Android SDK 直接引入
CocoaPods / Maven 一行配置即可:
// 調(diào)用原生 CoreBluetooth
import { CBCentralManager } from '@nativescript/core'(3) 自定義 View & 動(dòng)畫(huà)
注冊(cè)即可在 <template> 使用,與 React Native 造組件體驗(yàn)一致。
結(jié)語(yǔ):這一次,Vue 開(kāi)發(fā)者不再低人一等
React Native 有 Facebook 撐腰,F(xiàn)lutter 有 Google 背書(shū),現(xiàn)在 Vue 3 也有了自己的 真·原生跨平臺(tái)答案 —— NativeScript-Vue。
它讓 Vue 語(yǔ)法第一次 完整、無(wú)損、高性能 地跑在 iOS & Android 上,并獲得 尤雨溪 公開(kāi)點(diǎn)贊與 Vite 官方生態(tài)加持。
棄用 uni-app,擁抱 NativeScript-Vue,讓 性能、原生能力、工程化 三者兼得,用你最?lèi)?ài)的 .vue 文件,寫(xiě)最硬核的移動(dòng)應(yīng)用!































