本片讨论 UTS、原生渲染及平台适配。性能结论要明确版本、设备、场景和测量方式;官方基准不能当成本项目成绩,真实业务仍需在目标设备验证。
视频口播
都说跨平台 App 比原生慢,但 uni-app x 的官方测试,结果正好反过来。
同样一次渲染四千多个组件,安卓和 iOS 快了约 2 倍,鸿蒙快了 3 倍多。
四千行的超长列表,帧率是系统原生列表的 2 倍以上,鸿蒙上超过 4 倍。
这些都是官方公开的测试,设备、场景和源码都摆在那,你也可以自己跑一遍。
跨平台,凭什么比原生还快?秘密在它的蒸汽模式。
第一,去掉了虚拟 DOM。界面模板直接编译成机器码和字节码,省掉一整层运行时开销。
第二,不走系统 UI 框架,而是用自研组件系统直接跑在原生渲染管线上。系统框架要照顾所有场景,它只为渲染做优化。
第三,界面层级可以拍平,逻辑和渲染也分开跑,减少来回通信。
渲染快只是第一步。一个能上线的 App,还要账号、权限、管理后台和推送。
AppKernia,就是基于 uni-app x 的跨平台应用基座:移动端、React 后台、Go 服务端一套源码,官方 App 1.1 已经用上了蒸汽模式。
开源免费,MIT 可商用。安卓可以到官网下载官方 App 体验,源码在 GitHub 搜 AppKernia。
