Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
194a7ff2
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3597
Star
108
Fork
921
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
120
列表
看板
标记
里程碑
合并请求
109
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
120
Issue
120
列表
看板
标记
里程碑
合并请求
109
合并请求
109
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
194a7ff2
编写于
8月 26, 2022
作者:
杜庆泉
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
uts-plugin doc modify platform desc
上级
1496907a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
57 addition
and
25 deletion
+57
-25
docs/plugin/uts-plugin.md
docs/plugin/uts-plugin.md
+57
-25
未找到文件。
docs/plugin/uts-plugin.md
浏览文件 @
194a7ff2
...
@@ -8,7 +8,7 @@ UTS原生插件 是用 [UTS语言](缺链接) 开发的App原生插件。
...
@@ -8,7 +8,7 @@ UTS原生插件 是用 [UTS语言](缺链接) 开发的App原生插件。
UTS语言编译到Android平台,会转为kotlin;编译到iOS平台,会转为swift。
UTS语言编译到Android平台,会转为kotlin;编译到iOS平台,会转为swift。
所以UTS开发的插件,编译后也就是kotlin和swift开发的插件。
**所以UTS开发的插件,编译后也就是kotlin和swift开发的插件。**
开发UTS插件不需要熟悉kotlin和swift的语言语法,因为使用的是基于ts的uts语法。但需要熟悉Android和iOS的系统API,否则无法调用原生能力。
开发UTS插件不需要熟悉kotlin和swift的语言语法,因为使用的是基于ts的uts语法。但需要熟悉Android和iOS的系统API,否则无法调用原生能力。
...
@@ -29,11 +29,11 @@ UTS语言编译到Android平台,会转为kotlin;编译到iOS平台,会转
...
@@ -29,11 +29,11 @@ UTS语言编译到Android平台,会转为kotlin;编译到iOS平台,会转
|打包方式|外挂aar 等产出物|编译时生成原生代码|
|打包方式|外挂aar 等产出物|编译时生成原生代码|
|调用方式|uni.requireNativePlugin()|普通的js直接import|
|调用方式|uni.requireNativePlugin()|普通的js直接import|
uts的优势:
uts
插件
的优势:
1.
统一了编程语言(
uts
),一种语言开发所有平台,真正大前端。
1.
统一了编程语言(
UTS
),一种语言开发所有平台,真正大前端。
2.
统一了开发工具(HBuilderX),免除搭建复杂的原生开发环境。
2.
统一了开发工具(HBuilderX),免除搭建复杂的原生开发环境。
3.
插件封装中要理解的概念更少
,传统原生语言插件需要在js和原生层处理通信,使用各种特殊转换,使用特殊语法导入,注意事项很多。uts统一为纯前端概念,简单清晰。
3.
插件封装中要理解的概念更少
。 传统原生语言插件需要在js和原生层处理通信,使用各种特殊转换,使用特殊语法导入,注意事项很多。
**uts统一为纯前端概念,简单清晰。**
4.
uts下前端和原生可以统一在HBuilderX中联调。而传统原生语言插件需要原生开发后打包,然后在js中调用,有问题再改原生,比较低效。
4.
uts下前端和原生可以统一在HBuilderX中联调。而传统原生语言插件需要原生开发后打包,然后在js中调用,有问题再改原生,比较低效。
...
@@ -65,6 +65,7 @@ UTS插件目录结构
...
@@ -65,6 +65,7 @@ UTS插件目录结构
### 2.3 清单文件package.json
### 2.3 清单文件package.json
package.json为插件的清单文件,这里集成了整个UTS插件的配置信息,下面是一个完整的示例
package.json为插件的清单文件,这里集成了整个UTS插件的配置信息,下面是一个完整的示例
```
json
```
json
{
{
"id"
:
"uts-helloworld"
,
"id"
:
"uts-helloworld"
,
...
@@ -72,31 +73,62 @@ package.json为插件的清单文件,这里集成了整个UTS插件的配置
...
@@ -72,31 +73,62 @@ package.json为插件的清单文件,这里集成了整个UTS插件的配置
"version"
:
"0.1"
,
"version"
:
"0.1"
,
"description"
:
"UTS插件示例"
,
"description"
:
"UTS插件示例"
,
"uni_modules"
:
{
"uni_modules"
:
{
"type"
:
"uts"
,
"uts"
:
{
"android"
:
{
"libs"
:
[
"xxx.aar"
],
"dependencies"
:
[{
"id"
:
"com.xxx.richtext:richtext"
,
"source"
:
"implementation 'com.xxx.richtext:richtext:3.0.7'"
}],
"minSdkVersion"
:
21
},
"ios"
:
{
"libs"
:
[
"xxx.a"
]
},
"dependencies"
:
[
"xxx.uts"
]
}
}
}
}
}
```
```
### 2.4 插件的平台实现
一个UTS插件,代表的应该是
**Uni标准的下一种原生扩展能力**
插件目录下 index.d.ts文件是对当前插件能力的声明,index.uts文件是对当前插件能力的实现
插件目录下,app-android、app-ios 等目录,用以存放不同的平台的能力实现
```
插件标识
- utssdk
+ app-android
* index.uts
* config.json
+ app-ios
* index.uts
* config.json
+ web
* index.uts
+ mp-weixin
* index.uts
+ mp-xxx
- common
- static
- package.json
- index.d.ts
- index.uts
```
下面以app-android 平台为例,介绍具体平台实现的构成
app-android 文件夹下 index.uts
config.json 存放是该插件能力android平台下实现的配置。
下面是一个实例
```
json
{
"libs"
:
[
"xxx.aar"
],
"dependencies"
:
[{
"id"
:
"com.xxx.richtext:richtext"
,
"source"
:
"implementation 'com.xxx.richtext:richtext:3.0.7'"
}],
"minSdkVersion"
:
21
}
,
```
## 3 开发UTS原生插件
## 3 开发UTS原生插件
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录