uni-app x,下一代uni-app,一个神奇的产品。
用vue语法、uni的组件、api,以及uts语言,编译出了kotlin
的app。不再使用js引擎和webview。纯纯的kotlin原生app。
uni-app x,让“跨平台开发性能不如原生”的这条曾广为流传的规则,扔进了历史的垃圾桶!
uni-app x原理简析
当uni-app x
整体推到你面前时,你可能觉得难以想象,怎么可能编译为纯原生App?uni-app过去之所以能跨平台,是因为js是跨平台的啊。
所谓,成也萧何败也萧何,而uni-app过去在app上性能不如原生,也很大程度是因为js和原生的交互通信阻塞问题。
简述下uni-app x
的原理。
其实uni-app x使用的不是js,而是DCloud在2022年发布的uts
语言。这是一种基于ts改造的语言,改造的目的就是让它可以全平台编译。
我们知道js和原生语言的差异性主要在于类型
和动态性
。而ts已经为js提供了类型。uts是在ts的基础上,融合kotlin
和swift
的特性,抽象出了一套全平台可用的编译型语言。
uts在不同平台,编译为不同的产物:
- 在Web中编译为js
- 在iOS中编译为swift
- 在Android中编译为kotlin
然后DCloud又基于uts开发了uvue
的ui引擎,可使用vue语法来开发界面,再补上uni的组件和ap