uni-app x,下一代uni-app,一个神奇的产品。用vue语法、uni的组件、api,以及uts语言,编译出了kotlin的app。不再使用js引擎和webview。纯纯的kotlin原生app。uni-app x,让“跨平台开发性能不如原生”的这条曾广为流传的规则,扔进了历史的垃圾桶!很多开发者都在关注着uni-app x,等待先行者趟坑。这几个月来,很多先行者已经发布了他们的基于uni-app x的产品。而HBuilderX也发布了里程碑的3.98正式版,已经可以支撑商业应用。
这是一个云端一体的、完整的电商项目。客户端、服务器,甚至还包括管理端:快亿商城管理端欢迎你也来体验uni-app x这个神奇的产品:用你熟悉的代码,开发出原生的Android App。<template>
<view class="content">
<button @click="buttonClick">{{title}}</button>
</view>
</template>
<script>//注意这里编写的是uts,是ts的变种
exportdefault{
data(){
return{
title:"Hello world"
}
},
onLoad(){
console.log('onLoad')
},
methods:{
buttonClick:function(){
uni.showModal({
"showCancel":false,
"content":"点了按钮"
})
}
}
}
</script>
<style>
.content{
width: 750rpx;
background-color: white;
}
</style>
体验uni-app x的真实效果,在外部浏览器里下载hello uni-app x的apk,或扫描下方二维码。
uni-app x原理简析
- 在Web中编译为js
- 在iOS中编译为swift
- 在Android中编译为kotlin
插件大赛及生态
由于uts编译为kotlin,也就是kotlin在Android上能用的api、能用的三方sdk,uni-app x里都可以用。<script>import Build from'android.os.Build';
exportdefault{
onLoad(){
console.log(Build.MODEL);//调用原生对象,返回手机型号
console.log(uni.getSystemInfoSync().deviceModel);//调用uni API,返回手机型号。与上一行返回值相同
}
}
</script>
上面的示例,在页面启动时打印了2行日志,显示手机型号。
- uni.getSystemInfoSync,是uni的api
- import的Build,是Android os的api
t-uvue-ui :丰富的组件库
- easyX电商组件库:电商业务常见的各种组件库
质量
uni-app x从源头重视产品质量,第一个版本就支持自动化测试。并已为uni-app x产品编写了几十个测试工程、数十万行测试例代码。虽然这些工作导致uni-app x初期的迭代速度变慢。但让uni-app x的质量水平大幅提升。每天晚上DCloud内部众多机器在运行这些自动化测试代码,除了监控质量,还在监控启动速度、包体积大小、内存占用等各种关键指标。路线图
uts语言是iOS和Android都支持的,但uvue引擎的iOS还在开发中,所以目前uni-app x只支持Android。目前uni-app x的web版处于测试阶段、iOS版处于开发阶段。所以uni-app x的web版很快会上线,而iOS版也计划在插件大赛结束前上线。很多开发者关心鸿蒙next的适配。uni-app x使用uts,而鸿蒙使用arkTs,都是ts的变种,适配并不复杂。DCloud和鸿蒙团队一直保持着沟通,会在合适的时机启动。更多需求,欢迎到需求墙投票:https://vote.dcloud.net.cn/#/?name=uni-app%20x说的再多,如果不能帮助你切实提高开发效率、提升应用性能,那都没用。欢迎进入uni-app x的世界亲身一试。点击https://uniapp.dcloud.net.cn/uni-app-x/,阅读uni-app x的官方文档。