---
title: 名词解释
summary: 汇总涂鸦小程序开发中常见的技术名词解释，涵盖框架概念、API类型、开发工具和面板相关术语。
questions:
  - 什么是小程序ID？
  - 冷启动和热启动有什么区别？
  - TYML和SJS分别是什么？
  - 什么是小程序基础库？
  - 什么是DP（功能点）？
  - 虚拟设备和真实设备有什么区别？
  - 什么是PID？
  - RJS渲染脚本有什么作用？
  - 什么是UIID？
---

## 名词解释

### 小程序 ID

小程序 ID 是智能小程序分配给开发者的应用 ID，是应用的唯一标识，只有应用创建后才可以获取。创建小程序应用后，您可获得小程序应用的小程序 ID。

### 小程序框架

小程序提供一套简单高效的开发框架，帮助您开发具有原生 App 体验的服务。

整个小程序框架系统分为两部分：**逻辑层**（App Service）和 **视图层**（View）。智能小程序使用 TYML 和 CSS/LESS 作为视图层描述语言，以及基于 JavaScript 的逻辑层框架，并在视图层与逻辑层间提供数据传输和事件系统，让您能够专注于数据与逻辑。

### 冷启动

**冷启动** 是指用户打开未启动过、或者是已经销毁的小程序。此时，小程序会执行初始化，初始化完成后，会触发 `onLaunch` 回调函数。

### 热启动

**热启动** 是指用户打开已经关闭、但仍处于后台运行的小程序。在这种情况下，小程序并不会被销毁后重启，而仅是从后台切换到前台。此时，`onShow` 函数会触发，`onLaunch` 回调函数不会被触发。

### 生命周期

**生命周期** 通常指程序从创建、开始、暂停、唤起、停止、卸载的全过程。

小程序的生命周期又可分为 **应用生命周期** 和 **页面的生命周期**。

### 页面生命周期

**页面生命周期** 是指小程序内部某个页面从进入到离开、或从某个页面到另一个页面的过程。

### 页面栈

**页面栈** 是小程序框架管理界面的方式。通过一个页面栈的设计可以完成所有界面的管理。可以使用 `getCurrentPages().length`。

### TYML

**TYML** 是小程序框架设计的一套标签语言，用于描述小程序页面的结构。TYML 语法可分为五个部分：数据绑定、条件渲染、列表渲染、模板、引用。

### SJS

**SJS（Safe/Subset JavaScript）** 是小程序一套自定义脚本语言，可以在 TYML 中使用其构建页面结构。
SJS 是 JavaScript 语言的子集，与 JavaScript 是不同的语言。其语法并不与 JavaScript 一致，请勿将其等同于 JavaScript。

### RJS

**RJS（Render JavaScript）** 渲染脚本，可用于处理高频的绘图需求，可以提高视图的动画渲染性能。文件名后缀为 `.rjs`, 提供 `Render()` 函数进行声明一个渲染脚本模块，与页面或组件结合使用。主要应用场景 canvas 图表渲染，webGL 图形渲染等。

### TYSS

**TYSS** 是一种用来表现 HTML（标准通用标记语言的一个应用）或 TYML（标准通用标记语言的一个子集）等文件样式的计算机语言。TYSS 不仅可以静态地修饰网页，还可以配合各种脚本语言动态地对网页各元素进行格式化。

**智能小程序目前支持 TYSS 或 LESS。**

### 小程序基础库

**小程序基础库** 是负责加载框架的容器，提供小程序框架需要的标准组件和标准 API 接口。

### 组件

**小程序组件** 是小程序视图控件，您可以通过组合组件进行业务开发。

### API

**API**（Application Programming Interface，应用程序编程接口）是一些预先定义的函数，或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件得以访问一组例程的能力，而又无需访问源码，或理解内部工作机制的细节。

### 事件监听型 API

**事件监听型 API** 是用于监听某个系统事件是否触发，API 命名以 `ty.on` 开头。

事件监听型 API 接受一个`callback` 回调函数作为参数。当具体事件触发时，会触发`callback` 函数调用。该`callback` 函数可以传给对应以 `ty.off` 开头的同名 API 来解除监听关系。如果直接调用以 `ty.off` 开头的同名 API，则解除所有监听关系。

以上为通用说明，特定 API 的入参及返回值以 API 文档为准。

### 功能型 API

**功能型 API** 是用于实现某个特定功能的 API，分为异步型功能 API 和同步型功能 API。API 命名以 `ty.` 开头，不以 `ty.on` 或 `ty.off` 开头。

以 `ty.` 开头且以 `Sync` 结尾的 API 是同步型功能 API，例如 `ty.setStorageSync、ty.getVersionSync` 等。仅以 `ty.` 开头，且不以 `Sync` 结尾的 API 是异步型功能 API，例如 `ty.navigateTo` 等。

### Tuya MiniApp IDE

**Tuya MiniApp IDE ** （Integrated Development Environment，集成开发环境）是用于提供程序开发环境的应用程序，一般包括代码编辑器、调试器 和 图形用户界面 等工具。

**Tuya MiniApp IDE 模拟器**
Tuya MiniApp IDE 模拟器，可模拟智能小程序在客户端真实的逻辑表现，对于绝大部分的 JSAPI 均能够在模拟器上呈现出正确的状态。小程序项目通过编译之后，自动在模拟器中运行，无需真机即可快速预览。基础互动方式是通过鼠标点击、拖拽来模拟手指触摸、拖动操作。

**小程序调试**
小程序调试 是小程序发布前对小程序的功能试错。Tuya MiniApp IDE 提供 Tuya MiniApp IDE 调试、真机调试 和 性能调试 三大功能进行调试，支持断点调试。

**真机调试**
真机调试 指的是模拟小程序在真实手机上运行，用各种手段进行查错和排错，以测试小程序功能开发的完成。

## 面板

### 虚拟设备

非真实存在的设备，用于体验面板和呈现产品功能逻辑的设备。

更具体点来说，虚拟设备不会主动上报 DP 以及处理联动的逻辑。例如，一个插座产品，假设它有一个总开关以及两个子开关的 DP，当您下发了总开关开启的指令后，虚拟设备只会上报总开关开启。

然而，真实设备通过固件的处理后，它会上报总开关以及两个子开关开启的信息。

### 真实设备

集成了云模组，并且完成了固件逻辑处理的设备。

### PID

PID 为 Product ID 的缩写。开发者在涂鸦开发者平台创建的每一个产品都会产生一个唯一的产品编号，即 PID。PID 关联了产品具体的功能、App 控制面板、出货信息等所有跟这个产品相关的信息。如果把产品比喻为人，那么 PID 则是产品的身份证。

### DP (Data Point)

常被称为功能点，是智能产品开发中的最重要的环节，用于描述产品功能及其参数。定义产品 DP 后，即可根据 DP 的类型进行产品开发，了解更多可参考 [产品功能](https://developer.tuya.com/cn/docs/iot/define-product-features?id=K97vug7wgxpoq)。

### 一键执行（场景）

一键执行是一组预设的动作，动作包括对设备的操作、延时。一键执行被存储在云端，可以远程执行一键执行里的动作。

### 自动化（场景）

可以为一键执行增加触发条件，例如可以根据时间变化、设备状态变化、地理位置变化、天气变化来触发一键执行的动作。

### 群组

群组是指家庭中同一类设备的分组。通过群组可以对同类设备进行统一的批量控制。

### 面板

控制面板指的是一类运行在涂鸦公版 App、OEM App 或基于智能生活 App SDK 开发的 App 上的用于控制 Powered by Tuya 智能产品的界面程序。其基于智能小程序框架实现，不仅支持动态更新，同时最大程度的保留了原生 App 的流畅体验。

其中，基于智能小程序实现的控制面板又可被称为面板小程序。

### UIID

UIID 指的是其智能产品所对应的控制面板的 ID 标识，即开发完面板项目后上传后生成的 UI 包唯一标识。

### 公版面板

公版面板指的是在涂鸦官方开发人员在涂鸦开发者平台上开放出来的一系列品类的通用面板，用于快速使用和赋能智能产品。

### 设备入网

指支持涂鸦生态的设备激活的过程。设备激活后才能够使用 APP、微信小程序等端对设备进行控制。

因此，设备入网是对设备进行智能控制的前提条件。

### 设备 OTA

OTA(Over-the-air)，是要通过某种方法将新的固件文件远程传输到设备上进行安装升级。

微信面板小程序中支持连云设备和单点蓝牙（BLE）设备的 OTA 升级。

### 设备移除

将已入网的设备从已激活状态变为未激活状态的过程，分为设备移除与恢复出厂设置两种。设备移除不会删除设备的数据；恢复出厂设置则会删除设备的设置数据，并将设置恢复到出厂时的设置。

### 下发 DP

向设备发送指令，以控制设备，如：对灯下发开灯指令。

### 上报 DP

设备本身的状态会变更，为了能够正常向用户展示设备的当前状态，需要将状态上报同步到云端或客户端，这个过程则为上报 DP。

### 设备上下线

设备通过某种通讯方式（如 WiFi/4G/蓝牙等）连接到涂鸦云或客户端的情况为设备上线。
设备未连接到涂鸦云或客户端情况为设备下线。
