做兼职推荐网站,怎么自己开公司,免费word模板,crm管理是什么意思uni-app x#xff0c;下一代uni-app#xff0c;一个神奇的产品。
用vue语法、uni的组件、api#xff0c;以及uts语言#xff0c;编译出了kotlin的app。不再使用js引擎和webview。纯纯的kotlin原生app。
uni-app x#xff0c;让“跨平台开发性能不如原生”的这条曾广为流…uni-app x下一代uni-app一个神奇的产品。
用vue语法、uni的组件、api以及uts语言编译出了kotlin的app。不再使用js引擎和webview。纯纯的kotlin原生app。
uni-app x让“跨平台开发性能不如原生”的这条曾广为流传的规则扔进了历史的垃圾桶
uni-app x原理简析
当uni-app x整体推到你面前时你可能觉得难以想象怎么可能编译为纯原生Appuni-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的组件和api最终形成了你目前看到的uni-app x。
让你使用熟悉的代码、跨平台的方式却能写出和原生的功能性能完全一致的app。
而且有趣的是我们与原生开发者交流发现使用uni-app x开发应用比原生开发要快非常多。
案例
很多开发者都在关注着uni-app x等待先行者趟坑。
这几个月来很多先行者已经发布了他们的基于uni-app x的产品。而HBuilderX也发布了里程碑的3.98正式版已经可以支撑商业应用。
快亿商城
这是一个云端一体的、完整的电商项目。客户端、服务器甚至还包括管理端快亿商城管理端 t-uvue-ui
这是一个丰富的ui库解救那些不擅长界面的开发者。当然即便是擅长界面开发的使用这个组件库也能提升不少开发效率。 快速体验
欢迎你也来体验uni-app x这个神奇的产品用你熟悉的代码开发出原生的Android App。
templateview classcontentbutton clickbuttonClick{{title}}/button/view
/templatescript //注意这里编写的是uts是ts的变种export default {data() {return {title: Hello world}},onLoad() {console.log(onLoad)},methods: {buttonClick: function () {uni.showModal({showCancel: false,content: 点了按钮})}}}
/scriptstyle.content {width: 750rpx;background-color: white;}
/style体验uni-app x的真实效果在外部浏览器里下载hello uni-app x的apk或扫描下方二维码。 hello uni-app x 演示了uni-app x目前支持的所有内置组件、API、以及诸多页面模版。 质量
uni-app x从源头重视产品质量第一个版本就支持自动化测试。并已为uni-app x产品编写了几十个测试工程、数十万行测试例代码。
虽然这些工作导致uni-app x初期的迭代速度变慢。但让uni-app x的质量水平大幅提升。每天晚上DCloud内部众多机器在运行这些自动化测试代码除了监控质量还在监控启动速度、包体积大小、内存占用等各种关键指标。
插件大赛及生态
由于uts编译为kotlin也就是kotlin在Android上能用的api、能用的三方sdkuni-app x里都可以用。
scriptimport Build from android.os.Build;export default {onLoad() {console.log(Build.MODEL); //调用原生对象返回手机型号console.log(uni.getSystemInfoSync().deviceModel); //调用uni API返回手机型号。与上一行返回值相同}}
/script上面的示例在页面启动时打印了2行日志显示手机型号。
uni.getSystemInfoSync是uni的apiimport的Build是Android os的api
在uni-app x里可以直接调用os的能力不受限制语法是uts的语法但需要了解什么功能在原生里是哪个api。
使用uni.getSystemInfoSync则比较简单看uni的文档即可且可跨平台。
其实uni.getSystemInfoSync 的内部实现就是一个uts模块底层使用了一样的代码也是import了android.os.Build。
uni.的api大多是uts开发的它们都开源在uni-api仓库
uni-app x作为一个原生应用自然可以使用原生的各种sdk包括flutter、react native、cocos、unity等原生sdk均可集成使用。
在插件市场有基于uni-app x的各种作品。
DCloud官方的
App升级中心uni-id-pages-x
三方项目
快亿商城云端一体完整的电商项目还包括管理端快亿商城管理端考试答题模板短视频模板
ui库
t-uvue-ui 丰富的组件库easyX电商组件库电商业务常见的各种组件库
还有各种原生扩展的ui组件和api插件。
目前已有数百款适配uni-app x的插件。
随着插件大赛的开展uni-app x周边生态在如火如荼的丰富中。