tencent cloud

腾讯云超级应用服务

动态与公告
【2025年1月2日】关于腾讯云小程序平台更名为腾讯云超级应用服务的公告
控制台更新动态
Android SDK 更新动态
iOS SDK 更新动态
Flutter 更新动态
IDE 更新动态
基础库更新动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
按量计费(后付费)
续费指引
停服说明
快速入门
套餐管理
概述
控制台账号管理
存储配置
加速配置
品牌化配置
平台功能
控制台登录
用户和权限体系
小程序管理
小游戏管理
应用管理
商业化
平台管理
用户管理
团队管理
运营管理
安全中心
代码接入指引
Demo 及 SDK 获取
Android
iOS
Flutter
App 服务端接入指南
GUID 生成规则
小程序开发指南
小程序介绍与开发环境
小程序代码组成
指南
框架
组件
API
服务端
JS SDK
基础库
IDE 使用指南
小游戏开发指南
指南
API
服务端
实践教程
小程序登录实践教程
小程序订阅消息实践教程
支付相关实践教程
广告接入实践教程
小游戏订阅消息实践教程
相关协议
数据处理和安全协议

基础库介绍

PDF
聚焦模式
字号
最后更新时间: 2025-01-16 19:31:09

基础库介绍

基础库是负责小程序加载的中间层,在小程序基础库中有很多对于 App 与手机的能力(如蓝牙,NFC 等)的预封装,开发者因此可以通过标准组件和标准 API 接口调用相关的能力来进行小程序开发。
基础库可以类比成常见的 web 开发中的 React、Lodash 等库;但他更特殊一点,因为小程序的能力需要 SDK 来支撑,因此:
基础库和宿主 App 一样也有属于自己的版本号;
每一版基础库新增的能力都需要运行在特定版本之中;
高版本基础库的某些能力无法兼容低版本 SDK。

常见的,基础库提供了组件和 API 两大部分让小程序开发者进行相关的能力的使用。
小程序中的wxml文件通过编译,能够在基础库提供的环境中,渲染出真实 DOM 节点;
小程序中的JS文件里用到的Page、Component等接口也是由基础库暴露到全局的;
小程序中用到的wx.xxxAPI 其实是调用了原生的能力(蓝牙、wifi 等)而基础库就是小程序和原生容器之间的“桥梁”。

简而言之,基础库主要用来处理数据绑定、提供组件系统、事件系统、通信系统等一系列框架逻辑。从双进程模型来看,既包含渲染层的 Virtual DOM 的渲染问题,还包括逻辑层内置组件和 API 等。除此之外,基础库还提供了一些小程序的补充能力,比如自定义组件、性能兼容等。
const {SDKVersion} = wx.getSystemInfoSync(); // fetch jsLib version

基础库机制

在开发网页时,我们经常会引用到第三方 JavaScript 库,而在使用这些库中提供的 API 前,我们需要提前在业务代码中引入这些第三方库。
同理,在 App 中打开小程序时候,我们也需要在启动小程序前载入基础库,然后再载入业务代码。由于小程序的渲染层和逻辑层是两个线程管理,当我们一般说起基础库时,通常包括 WebView 基础库(渲染层),和 AppService 基础库(逻辑层)。

在打开所有基于我们平台实现的小程序前,都需要注入相同的基础库,因此我们不需要将基础库打包在小程序的代码包之中,而是需要通过在 App 中集成我们的小程序 SDK,并通过 SDK 来引入小程序基础库。通过 SDK 引入基础库还有 2 个好处:
可以降低小程序代码包的大小;
可以单独针对基础库增加能力,或修复 Bug,不需要修改小程序的代码。

小程序启动
在我们打开小程序时,会看到包括小程序图标,名称的加载页面。在这个页面中,首先会完成小程序基础库与代码包的下载工作,完成基础库与代码包下载后,则会分别开始对 JSCode 与 WebView 进行初始化,在完成基础库,小程序代码包和 WebView 注入后,则会开始对小程序的相关代码进行初始化,最终用户就可以看到完整的小程序代码了。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈