关于uniapp X 的最新消息

uni-app x 是什么?

uni-app x,是下一代 uni-app,是一个跨平台应用开发引擎。

uni-app x 没有使用js和webview,它基于 uts 语言。在App端,uts在iOS编译为swift、在Android编译为kotlin完全达到了原生应用的功能、性能。

可以下载打包后的hello uni-app x

的apk来体验。(通过显示界面元素边界可知界面都是原生UI,解包后也不会看到js引擎,里面的html文件是示例中演示web-view组件所用)

uts和ts很相似,但为了跨端,uts进行了一些约束和特定平台的增补。详见 uts语言介绍

该语言在2022年9月推出,起初用于原生插件扩展开发。

 

 

uts替代的是js,而uvue替代的就是html和css。或者如果你了解flutter的话,也可以理解为uts类似dart,而uvue类似flutter。

uvue是一套基于uts的、兼容vue语法的、跨iOS和Android的、原生渲染引擎。

uvue渲染引擎包括uts版的vue框架(组件、数据绑定...)、跨平台基础ui、css引擎。

有了uvue,开发者就可以使用vue语法、css来写一套页面,编译为不同平台的、高性能的纯原生界面。

 

很多开发者关心鸿蒙next的适配。uni-app x使用uts,而鸿蒙使用arkTs,都是ts的变种,适配并不复杂。DCloud和鸿蒙团队一直保持着沟通,会在合适的时机启动。 

 

未来 uni-app js引擎版还维护吗? 维护。服务js开发者仍然是DCloud的重点。但nvue和5+将不再维护。不再维护不是下线,而是没有重大问题的话(如新手机不兼容)不会再更新了。 

用途和关系

uts是一门语言。也仅是一门语言,不包含ui框架。

uvue是DCloud提供的跨平台的、基于vue语法的ui框架。

uts相当于js,uvue相当于html和css。它们类似于v8和webkit的关系、类似于dart和flutter的关系。

uts这门语言,有2个用途:

  1. 开发uni-app 和 uni-app x 的原生扩展插件:因为uts可以调用所有原生能力。
  2. uts和uvue一起组合,开发原生级的项目,也就是 uni-app x 项目

 

uts,全称 uni type script,是一门跨平台的、高性能的、强类型的现代编程语言。

它可以被编译为不同平台的编程语言,如:

  • web平台,编译为JavaScript
  • Android平台,编译为Kotlin
  • iOS平台,编译Swift

uts 采用了与 ts 基本一致的语法规范,支持绝大部分 ES6 API。

但为了跨端,uts进行了一些约束和特定平台的增补。

过去在js引擎下运行支持的语法,大部分在uts的处理下也可以平滑的在kotlin和swift中使用。但有一些无法抹平,需要使用条件编译。和uni-app的条件编译类似,uts也支持条件编译。写在条件编译里的,可以调用平台特有的扩展语法。

用途和关系

 

### 使用 UniApp 进行应用程序开发 #### 一、环境搭建 为了使用 UniApp 开发跨平台的应用程序,开发者需要安装 HBuilderX 或者其他支持插件的编辑器来创建项目。HBuilderX 是 DCloud 推荐使用的 IDE 工具,它内置了对 uni-app 的全面支持[^1]。 ```bash # 下载并安装 HBuilderX https://www.dcloud.io/hbuilderx.html ``` #### 二、创建新项目 启动 HBuilderX 后可以选择新建一个基于 Vue.js 架构下的 uni-app 类型工程文件夹结构自动配置好所需依赖项以及模板页面等资源。 #### 三、编写代码逻辑 以简单的计数器为例展示基础组件化编程思路: ```html <template> <div class="content"> <!-- 组件 --> <button @click="increment">点击增加</button> {{ count }} </div> </template> <script> export default { data() { return { count: 0, }; }, methods: { increment() { this.count++; } } } </script> ``` 此段代码定义了一个按钮用于触发 `increment` 方法改变数据属性 `count` 的值,并通过双大括号语法显示出来。 #### 四、编译构建 完成编码工作后就可以利用命令行工具或是IDE内的图形界面来进行不同目标平台上的编译操作了。对于 Android/iOS 应用来说还需要额外准备对应的 SDK 及证书签名材料以便于后续打包上架流程顺利进行[^2]。 #### 五、调试优化 实际开发过程中难免遇到各种各样的问题,比如性能瓶颈或者是特定设备兼容性方面的问题。此时可以借助官方提供的文档资料查找解决方案,也可以参考社区内其他开发者分享的经验教训加快解决问题的速度。 #### 六、Webview 中 H5 页面与原生 APP 交互 当涉及到 Webview 加载外部网页并与宿主应用之间传递参数时,则需要用到 uni-app 提供的一系列 API 函数实现双向通讯功能。例如可以通过 `plus.runtime.openURL()` 打开指定 URL 地址;而如果想要从 web 端获取信息则要依靠 JavaScript Bridge 技术方案,在 HTML 文件里注册监听事件等待接收到来自 Native 层的消息通知[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王家视频教程图书馆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值