VueNative启动!到底来了没?

阿里云教程3个月前发布
16 0 0

目前,Vue 可以不用 WebView,直接生成 iOS/Android 的原生控件了。

VueNative启动!到底来了没?

演示拍了真机录屏,计数器能在手机上流畅响应。跑的是一个用 Vue 写的 Demo,pnpm dev 一启动,测试机上就跳出 “Hello from Vue Vine!”。界面里常见的 、、,最后都被编译成平台的原生组件,其他语法和标准 Vue 几乎没变。说白了,平时用的 ref、reactive、SFC 写法,理论上都能直接映射成原生控件。挺直接的,挺实在的。

这事的动手人是在 Twitter 上连发多条进展帖的前端工程师 Shenqingchuan。他用了 48 小时,做出一个 Vue 自定义渲染器的原型,把 Vue 的响应式体系接上了字节跳动开源的 Lynx.js 引擎。晒出的那段录屏就是最直观的证据:计数器在真机上能点能动,界面不卡。帖子里他也诚恳地求助,找有 Vue 源码经验的人来一起完善,特别是熟 runtime-core、runtime-dom 的同好。

VueNative启动!到底来了没?

Lynx 的背景也得交代清楚。它是字节跳动在三月份开源的一个双线程原生渲染框架,定位是中立的引擎——官方那句 “We'd love to see Vue on Lynx. PRs welcome!” 基本上打开了大门。正由于框架本身不绑定某个上层框架,才有了把 Vue 的 renderer 接上去的可能性。也正是这个开源态度,让社区里有人能在短时间里做出原型。

目前的可用情况是混合的。一方面,基础功能能跑,组合式 API 支持得比较完整,常用控件能编译成原生。另一方面,这是个早期原型,得靠人手去把边缘情况补起来。调试方面比以前进步不少:Lynx DevTool 已经有 0.1.1 版本,可以在真机上断点调试,开发不再全靠打印日志奔溃排查。构建链路上,对接了 Rspeedy + Vite,热重载已经做到秒级,这相对于 Weex 那会儿靠 Webpack 的慢热重载,体验提升明显。

VueNative启动!到底来了没?

关于验证层面要分两块看。Lynx 本身并非实验室玩具,字节系内部有上亿 DAU 的线上页面在用这个引擎,底层能力是被检验过的;不过把 Vue 接上去,目前还处在原型阶段,距离大规模生产化还有工作要做。好消息是,Lynx 官方计划在 12 月开源 lynx-ui,这会提供官方的原生组件库(Navigator、List、Video、Canvas 等),这些组件并不依赖上层框架,Vue、React、Svelte 都能直接引用。等到“底层引擎 + 官方 UI 物料”都到位,上层框架只要对接 renderer 就能直接上手。

把这套和现有几条路比一下,能看清适配人群。NativeScript-Vue 3 那边已经走到相当成熟的一条路,100% 原生 UI,配合 Vite、Tailwind,适合想要纯原生体验的人。Ionic Vue + Capacitor 更像是 Web 的延伸,PWA、跨端覆盖做得好,适合追求一套代码多端覆盖的团队。国内比较友善的 uni-app 则是把 WebView 转成原生容器的路线,生态覆盖小程序和 App。Vue + Lynx 的特点是双线程原生、首帧和动画性能可能做到极致,但目前需要愿意尝鲜并接受手动配置的团队。换句话说,想马上上线原生体验的,可以看 NativeScript-Vue 或 1/3;想保留 Web 开发习惯的,看 2;追求性能极致并愿意尝鲜的,可以冲 Vue+Lynx。

VueNative启动!到底来了没?

技术上还有几个重点要跟进。渲染层面要处理更多平台差异,事件、坐标系、手势这些细节需要完善;性能方面要继续打磨首帧时间、动画帧率和内存占用;开发体验上要把调试工具、热重载和错误堆栈做得更健壮。生态层面也不能忽视,像第三方组件、常用插件的兼容性都得铺开。目前底层和即将到位的 UI 组件,是把事情推进到下一个阶段的关键。

对开发者来说,这是个机会。按照粗略估算,约 200 万 Vue 开发者至少拥有直接受益的能力——熟悉的写法可以直接映射成原生控件,不用再折腾 WebView 布局那些容易掉帧的毛病。要知道,WebView 在复杂动画和频繁重绘情况下常常会掉帧卡顿,这是长期痛点。用双线程的原生渲染,理论上能把这部分体验问题解决掉。当然,理论和工程落地之间还差一步步工作。

VueNative启动!到底来了没?

社区协作目前就开始了。Shenqingchuan 已经在招人合力推进,尤其欢迎熟悉 Vue runtime 的工程师加入。等 lynx-ui 正式开源,项目会给出多种模板供选择,后续可能会出现一键生成不同上层框架的模板,让选择更简单。说实话,看着有人用 48 小时把东西搭起来,挺让人振奋的,也说明开源社区的力量不容小觑。

© 版权声明

相关文章

暂无评论

none
暂无评论...