Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_16800119
unidocs-zh
提交
8567cc97
unidocs-zh
项目概览
qq_16800119
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
8567cc97
编写于
11月 30, 2023
作者:
W
wanganxp
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
x
上级
f473f6fe
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
77 addition
and
83 deletion
+77
-83
docs/uni-app-x/api/_sidebar.md
docs/uni-app-x/api/_sidebar.md
+1
-1
docs/uni-app-x/api/ext.md
docs/uni-app-x/api/ext.md
+7
-7
docs/uni-app-x/component/README.md
docs/uni-app-x/component/README.md
+2
-2
docs/uni-app-x/component/_sidebar.md
docs/uni-app-x/component/_sidebar.md
+2
-1
docs/uni-app-x/component/unsupport.md
docs/uni-app-x/component/unsupport.md
+20
-0
docs/uni-app-x/readme.md
docs/uni-app-x/readme.md
+45
-72
未找到文件。
docs/uni-app-x/api/_sidebar.md
浏览文件 @
8567cc97
...
...
@@ -61,4 +61,4 @@
*
[
数据库
](
unicloud/database.md
)
*
[
云存储
](
unicloud/storage.md
)
*
[
其他API
](
unicloud/utils.md
)
*
[
其他EXT API
](
ext.md
)
\ No newline at end of file
*
[
未支持的API及替代方案
](
ext.md
)
\ No newline at end of file
docs/uni-app-x/api/ext.md
浏览文件 @
8567cc97
# 其它api
插件市场和hello示例中还有一批可替代uni内置api的插件或示例代码,比如:
-
[
剪切板
](
https://ext.dcloud.net.cn/search?q=%E5%89%AA%E5%88%87%E6%9D%BF&orderBy=Relevance&cat1=8&cat2=81
)
:uni.setClipboardData、uni.getClipboardData
-
[
拨打电话
](
https://ext.dcloud.net.cn/plugin?id=15235
)
:uni.makePhoneCall
-
[
打开三方应用
](
https://gitcode.net/dcloud/hello-uni-app-x/-/blob/dev/pages/template/schema/schema.uvue
)
:打开浏览器、应用商店、地图并传参。
-
[
分享
](
https://gitcode.net/dcloud/hello-uni-app-x/-/blob/dev/pages/template/share/share.uvue
)
:uni.shareWithSystem
-
打开文件:uni.openDocument。
[
hello uts示例
](
](https://gitcode.net/dcloud/hello-uts/-/blob/dev/uni_modules/uts-nativepage/utssdk/app-android/index.uts
)
)、
[
插件市场
](
https://ext.dcloud.net.cn/plugin?id=12731
)
-
[
扫码
](
https://ext.dcloud.net.cn/search?q=%E6%89%AB%E7%A0%81&cat1=8&type=UpdatedDate
)
-
[
剪切板
](
https://ext.dcloud.net.cn/search?q=%E5%89%AA%E5%88%87%E6%9D%BF&orderBy=Relevance&cat1=8&cat2=81
)
:
`uni.setClipboardData`
、
`uni.getClipboardData`
-
[
拨打电话
](
https://ext.dcloud.net.cn/plugin?id=15235
)
:
`uni.makePhoneCall`
-
[
打开三方应用
](
https://gitcode.net/dcloud/hello-uni-app-x/-/blob/dev/pages/template/schema/schema.uvue
)
:打开浏览器、应用商店、地图并传参。
`plus.openUrl`
-
[
分享
](
https://gitcode.net/dcloud/hello-uni-app-x/-/blob/dev/pages/template/share/share.uvue
)
:
`uni.shareWithSystem`
-
打开文件:
`uni.openDocument`
。
[
hello uts示例
](
](https://gitcode.net/dcloud/hello-uts/-/blob/dev/uni_modules/uts-nativepage/utssdk/app-android/index.uts
)
)、
[
插件市场
](
https://ext.dcloud.net.cn/plugin?id=12731
)
-
[
扫码
](
https://ext.dcloud.net.cn/search?q=%E6%89%AB%E7%A0%81&cat1=8&type=UpdatedDate
)
:
`uni.scanCode`
-
[
文件选择
](
https://ext.dcloud.net.cn/search?q=%E6%96%87%E4%BB%B6%E9%80%89%E6%8B%A9&cat1=8&cat2=81
)
:
`uni.chooseFile`
-
[
蓝牙
](
https://ext.dcloud.net.cn/search?q=%E8%93%9D%E7%89%99&orderBy=Relevance&cat1=8&cat2=81
)
-
[
nfc
](
https://ext.dcloud.net.cn/search?q=nfc&orderBy=Relevance&cat1=8&cat2=81
)
-
[
文件选择
](
https://ext.dcloud.net.cn/search?q=%E6%96%87%E4%BB%B6%E9%80%89%E6%8B%A9&cat1=8&cat2=81
)
docs/uni-app-x/component/README.md
浏览文件 @
8567cc97
...
...
@@ -22,11 +22,11 @@ uni-app x支持的组件包括:
-
uts组件插件
`uts组件插件`
的名称可能有点拗口,这是因为是相对于另一个分类
`uts api插件`
。
它们同属于
`uts插件`
,是
uni_modules
。api插件指能力扩展,比如蓝牙api。而组件插件指界面元素扩展,比如video、map、lottie动画等。
它们同属于
`uts插件`
,是
[
uni_modules
](
../../plugin/uni_modules.md
)
。api插件指能力扩展,比如蓝牙api。而组件插件指界面元素扩展,比如video、map、lottie动画等。
uts组件插件,指把原生的、需要在界面上显示的、内嵌于页面中整体排版的组件,编写uts代码调用原生sdk,通过uni_modules插件的方式集成到uni-app项目中。比如
*
lottie组件,使用uts调用原生的lottie sdk来开发组件,再引入页面中。
[
详见
](
https://ext.dcloud.net.cn/plugin?name=uni-animation-view
)
*
video组件,其实官方的video,也是用uts组件插件实现的
*
video组件,其实官方的video,也是用uts组件插件实现的
。
[
详见
](
https://gitcode.net/dcloud/uni-component/-/tree/master/uni_modules/uni-video
)
uts组件插件,主要用于原生sdk涉及界面时,将其封装为界面组件。当然uts组件也是全端支持的。上述lottie组件也支持web端。
...
...
docs/uni-app-x/component/_sidebar.md
浏览文件 @
8567cc97
...
...
@@ -23,4 +23,5 @@
*
[
video
](
video.md
)
*
[
web-view
](
web-view.md
)
*
[
animation-view
](
animation-view.md
)
*
[
unicloud-db
](
unicloud-db.md
)
\ No newline at end of file
*
[
unicloud-db
](
unicloud-db.md
)
*
[
未支持的组件及替代方案
](
unsupport.md
)
\ No newline at end of file
docs/uni-app-x/component/unsupport.md
0 → 100644
浏览文件 @
8567cc97
# 不支持的组件及替代方案
uni-app x在App端还有一批组件未与uni-app js引擎版拉齐。有的在排期中,有的提供了替代方案,有的需开发者自行开发插件。
-
ad:正在补充
-
movable-view:没有ui层和逻辑层的通信阻塞,开发者可自己写代码拖动view。hello uni-app x中有
[
示例代码
](
https://gitcode.net/dcloud/hello-uni-app-x/-/blob/dev/pages/component/general-event/touch-event.uvue
)
-
picker:可改用
[
picker-view
](
picker-view.md
)
-
canvas:目前没有完整的canvas组件,但
*
每个view,都提供了
[
draw API
](
dom/drawablecontext.md
)
,可以高性能的画各种形状、写字。
*
关于截图,无需像webview那样通过canvas中转,view直接提供截图方案,
[
takesnapshot
](
dom/element.md#takesnapshot
)
。
*
使用web-view中的canvas也是一种方案,uvue页面里的web-view组件可以和uvue页面里的uts代码双向通信。比如生成二维码,可以由web-view组件来渲染,复用web生态的库。
*
当然二维码在插件市场也有现成的
[
插件
](
https://ext.dcloud.net.cn/search?q=%E4%BA%8C%E7%BB%B4%E7%A0%81&uni-appx=1
)
*
后期uvue中也会补充正式的canvas组件
-
waterfall/grid-view:会补充
-
editor:用web-view来加载
-
map:
*
开发uts组件
*
或使用web-view中的地图
-
live-pusher:需开发uts组件
-
label:用view加事件来替代
\ No newline at end of file
docs/uni-app-x/readme.md
浏览文件 @
8567cc97
...
...
@@ -4,9 +4,9 @@
uni-app x,是下一代 uni-app,是一个跨平台应用开发引擎。
在App端,uni-app x 在iOS编译为swift、在Android编译为kotlin。没有使用js引擎、webview
,完全达到了原生应用的功能、性能。
uni-app x 没有使用js和webview,它基于 uts 语言。在App端,uts在iOS编译为swift、在Android编译为kotlin
,完全达到了原生应用的功能、性能。
可以下载打包后的
[
hello uni-app x
](
https://web-assets.dcloud.net.cn/unidoc/zh/uni-app-x/hello-uniappx.apk
)
的apk来体验。
可以下载打包后的
[
hello uni-app x
](
https://web-assets.dcloud.net.cn/unidoc/zh/uni-app-x/hello-uniappx.apk
)
的apk来体验。
(通过显示界面元素边界可知界面都是原生UI,解包后也不会看到js引擎,里面的html文件是示例中演示web-view组件所用)
<div
class=
"quick"
>
<div
style=
"margin-top: 20px;justify-content: space-around;"
>
...
...
@@ -34,6 +34,8 @@ uni-app x 是一个庞大的工程,它包括uts语言、uvue渲染引擎、uni
## 1. uts语言
开发者在 uni-app x 中,不能编写js,因为 uni-app x 中不自带js引擎。需使用uts,实现跨端的同时保证最佳性能。
uts 全称 uni type script,是一门跨平台的、高性能的、强类型的现代编程语言。它在不同平台,会被编译为不同平台的native语言,如:
> * web/小程序平台,编译为JavaScript
...
...
@@ -42,7 +44,7 @@ uts 全称 uni type script,是一门跨平台的、高性能的、强类型的
uts和ts很相似,但为了跨端,uts进行了一些约束和特定平台的增补。详见
[
uts语言介绍
](
../uts/README.md
)
开发者在 uni-app x 中,不能编写js,因为 uni-app x 中不自带js引擎。需使用uts,实现跨端的同时保证最佳性能
。
该语言在2022年9月推出,起初用于原生插件扩展开发
。
## 2. uvue渲染引擎
...
...
@@ -50,9 +52,9 @@ uts替代的是js,而uvue替代的就是html和css。或者如果你了解flut
uvue是一套基于uts的、兼容vue语法的、跨iOS和Android的、原生渲染引擎。
uvue渲染引擎包括
原生
版的vue框架(组件、数据绑定...)、跨平台基础ui、css引擎。
uvue渲染引擎包括
uts
版的vue框架(组件、数据绑定...)、跨平台基础ui、css引擎。
有了uvue,开发者就可以使用vue语法
写一套页面,编译为
高性能的纯原生界面。
有了uvue,开发者就可以使用vue语法
、css来写一套页面,编译为不同平台的、
高性能的纯原生界面。
在过去的跨平台方案中,逻辑层和ui层的通信始终是痛点。
...
...
@@ -108,9 +110,9 @@ uvue渲染引擎包括原生版的vue框架(组件、数据绑定...)、跨
> 上述页面没有涉及uts不允许的动态类型,也没有涉及uvue不支持的css,所以它实际上和uni-app js版的vue页面没有区别。
uvue支持的vue语法,是按vue3实现的,但目前不支持setup。详见
[
vue语法
](
vue/README.md
)
uvue支持的vue语法,是按vue3实现的,但目前不支持setup。详见
[
vue语法
](
./
vue/README.md
)
uvue支持的css语法,是web的子集,类似于nvue的css。仅支持flex布局。但也足以布局出需要的界面。详见
[
css语法
](
uni-app-x
/css/README.md
)
uvue支持的css语法,是web的子集,类似于nvue的css。仅支持flex布局。但也足以布局出需要的界面。详见
[
css语法
](
.
/css/README.md
)
以上约束特指App端的uvue引擎。如果把uvue页面编译到小程序和web平台,它的script仍然会被编译为js,web的样式也都可以使用。
...
...
@@ -118,50 +120,15 @@ uvue支持的css语法,是web的子集,类似于nvue的css。仅支持flex
## 3. uni的组件
uni-app x 目前只包括常用的组件和API。
剩余的组件和API,如开发者急用,可自行开发,或者委托插件作者提供相关插件。
目前支持的组件清单:
-
[x] view
-
[x] scroll-view
-
[x] list-view
-
[x] swiper
-
[x] text
-
[x] image
-
[x] rich-text
-
[x] button
-
[x] input
-
[x] textarea
-
[x] checkbox
-
[x] radio
-
[x] switch
-
[x] slider
-
[x] picker-view
-
[x] navigator
-
[x] progress
-
[x] webview
-
[x] video
-
[x] animation-view // 已有uts插件
-
[x] unicloud-db // 3.93+
-
[x] sticky-header // 3.93+
-
[x] sticky-section// 3.98+
-
[x] form //3.97+
不支持的组件及替代方案
-
ad:会补充
-
movable-view:没有ui层和逻辑层的通信阻塞,开发者可自己写uts拖动view
-
picker:可改用picker-view
-
canvas:目前没有完整的canvas组件,但
*
每个view,都提供了
[
draw API
](
dom/drawablecontext.md
)
,可以高性能的画各种形状、写字。
*
关于截图,无需像webview那样通过canvas中转,view直接提供截图方案,
[
takesnapshot
](
dom/element.md#takesnapshot
)
。
*
使用web-view中的canvas也是一种方案,uvue页面里的web-view组件可以和uvue页面里的uts代码双向通信。比如生成二维码,可以由web-view组件来渲染,复用web生态的库
*
当然后期uvue中也会补充正式的canvas组件
-
waterfall/grid-view:会补充
-
editor:用web-view来加载
-
map:需开发uts组件。或使用web-view中的地图
-
live-pusher:需开发uts组件
-
label
uni-app x支持的组件包括:
-
内置基础组件:如view、text、image、scroll-view、input...等,详见
[
组件清单
](
./component/README.md
)
-
自定义vue组件:使用内置组件和vue组件技术进行封装的组件,支持easycom。
-
uts组件插件:用于原生sdk的ui以组件的方式嵌入。
不支持的组件包括:
-
小程序wxml组件
更多组件介绍,
[
详见
](
./component/README.md
)
## 4. API
...
...
@@ -169,12 +136,12 @@ uni-app js引擎版,支持 plus API 和 weex API。但 uni-app x 中,不再
uni-app x支持的API包括:
-
uts的api
[
详见
](
/uts/buildin-object-api/global.md
)
-
全局api,前面不需要加
`uni.`
。如
`getApp`
-
uni.xxx的内置api。数量较多,详见左侧列表。
-
uniCloud.xxx的内置api。见左侧。
-
dom的api
[
详见
](
dom/README.md
)
-
原生api
1.
uts的api
[
详见
](
/uts/buildin-object-api/global.md
)
2.
全局api,前面不需要加
`uni.`
。如
[
getApp
](
./api/get-app.md
)
、
[
getCurrentPages
](
./api/get-current-pages.md
)
3.
uni.xxx的内置api。数量较多,
[
详见
](
./api/README.md
)
4.
uniCloud.xxx的内置api。
[
详见
](
./api/unicloud/README.md
)
5.
dom的api
[
详见
](
./
dom/README.md
)
6.
原生api
由于uts可以直接调用Android和iOS的api,所以os和三方sdk的能力都可以在uts中调用。如下:
...
...
@@ -205,22 +172,16 @@ uni.的api,大多是uts开发的,它们会陆续开源在[uni-api](https://g
插件市场也有很多做好的uts插件,方便开发者拿来即用。
[
uts插件
](
https://ext.dcloud.net.cn/?cat1=8&type=UpdatedDate
)
## 5. vue语法
-
uvue是按vue3规范实现的,但一期uvue不支持setup,只支持选项式
-
目前也不支持vue插件,比如pinia、vuex、i18n、router。简单的状态管理可以参考文档
[
全局变量和状态管理
](
uni-app-x/tutorial/store.md
)
[
详情
](
./vue/README.md
)
## 6. 全局文件
-
manifest.json 仅支持基本的名称图标配置,暂未支持splash,但uni-app x项目打包后启动速度飞快,没有splash也无所谓。
[
详见
](
manifest.md
)
## 5. 全局文件
-
manifest.json 仅支持基本的名称图标配置,暂未支持splash,但uni-app x项目打包后启动速度飞快,可以自己做splash。
[
详见
](
./collocation/manifest.md
)
-
AndroidManifest.xml 与原生开发相同。注意Android权限配置在这里配置,而不是在manifest.json中
[
详见
](
https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html
)
-
app.uvue
不支持globaldata。
[
详见
](
../collocation/App.md
)
-
pages.json 不支持app-plus的内容。
[
详见
](
pagesjson.md
)
-
app.uvue
[
详见
](
https://uniapp.dcloud.net.cn/collocation/App.html
)
-
pages.json 不支持app-plus的内容。
[
详见
](
./collocation/
pagesjson.md
)
-
uni.scss 正常支持。但注意uvue仅能使用
[
css子集
](
css/README.md
)
##
7
. 插件生态
##
6
. 插件生态
uni-app x编译到web和小程序时,所有js库仍然可用。但在App平台,由于没有js引擎,所以无法使用js生态。
uni-app x编译到web和小程序时,所有js库仍然可用。但在App平台,由于没有js引擎,所以无法使用js生态
(除非使用web-view组件)
。
uni-app x App平台的插件生态来源于:
1.
原生生态。比如上述示例代码中获取手机型号。以及各种原生sdk的直接调用。
...
...
@@ -248,18 +209,29 @@ uvue组件、uts sdk、uni-app x前端页面/项目模板。这些前端代码
实际上,常见的加密、md5等库,插件市场已经有uts版本。
[
详见
](
https://ext.dcloud.net.cn/search?q=%E5%8A%A0%E5%AF%86&orderBy=Relevance&cat1=8&cat2=81
)
如果你一定要使用某个js库,还有一个办法是在uni-app x里的web-view组件,让其运行js并返回值给uts代码。
**如果你一定要使用某个js库,还有一个办法是在uni-app x里的web-view组件,让其运行js并返回值给uts代码。**
目前插件市场适配uni-app x的插件已有数百款,包括ui组件库:
-
[
t-uvue-ui
](
https://ext.dcloud.net.cn/plugin?id=15571
)
:丰富的组件库
-
[
easyX电商组件库
](
https://ext.dcloud.net.cn/plugin?id=15602
)
:电商业务常见的各种组件库
## 一期范围
## 一期范围
及路线图
除上述文档中声明已经完成的,还有如下需要注意:
-
全端支持:一期只有Android。虽然uts语言支持swift,可以写原生插件,但iOS版的uvue还未开发完毕。对于iOS或其他小程序、web平台,开发者可将uvue文件后缀改为vue或nvue,如果没有写Android专有代码,那么也可以使用uni-app js引擎版编译到其他平台,包括iOS App、web及各家小程序。尤其在app-iOS上,由于设备性能本就优秀,所以js的方案的性能也足够满足很多开发者。后期官方会提供更完善的 uni-app x的全端支持
。
-
平台支持:一期只有Android。虽然uts语言支持swift,可以写原生插件,但iOS版的uvue还未开发完毕。对于iOS或其他小程序、web平台,开发者可将uvue文件后缀改为vue或nvue,如果没有写Android专有代码,那么也可以使用uni-app js引擎版编译到其他平台,包括iOS App、web及各家小程序。尤其在app-iOS上,由于设备性能本就优秀,所以js的方案的性能也足够满足很多开发者
。
-
一期不支持:横屏切换、暗黑模式、自定义路由、多语言、无障碍
-
一期不支持国际区账户创建和打包uni-app x,仅大陆区开发者账户可用。
欢迎去
[
需求墙
](
https://vote.dcloud.net.cn/#/?name=uni-app%20x
)
投票,告诉我们你的需求优先级。
目前uni-app x的web版处于测试阶段、iOS版处于开发阶段。所以uni-app x的web版很快会上线,而iOS版也计划在插件大赛结束前上线。
很多开发者关心鸿蒙next的适配。uni-app x使用uts,而鸿蒙使用arkTs,都是ts的变种,适配并不复杂。DCloud和鸿蒙团队一直保持着沟通,会在合适的时机启动。
## 案例
-
快亿商城,
[
App端
](
https://ext.dcloud.net.cn/plugin?id=15458
)
、
[
管理端
](
https://ext.dcloud.net.cn/plugin?id=15568
)
## 自动化测试
uni-app x 从源头重视产品质量,第一个版本就支持自动化测试。并为uni-app x产品编写了数十万行自动化测试例代码。
...
...
@@ -292,6 +264,7 @@ uni-app x 毕竟是原生应用,内嵌flutter、rn这些没有任何问题,
至于把 uni-app x 作为一个sdk内嵌到其他原生应用中,还在评估中。
## FAQ
-
uni-app x 支持uvue页面和vue页面混写吗?
仅支持uvue页面。没有js引擎,不能运行vue页面。但历史vue页面可以通过 uni小程序sdk 嵌入到uni-app x中。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录