tencent cloud

文档反馈

基础库介绍

最后更新时间:2024-07-12 16:44:56

    基础库介绍

    基础库是负责小程序加载的中间层,在小程序基础库中有很多对于 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 基础库(逻辑层)。
    
    在打开所有基于 TCMPP 实现的小程序前,都需要注入相同的基础库,因此我们不需要将基础库打包在小程序的代码包之中,而是需要通过在 App 中集成 TCMPP 小程序 SDK,并通过 SDK 来引入小程序基础库。通过 SDK 引入基础库还有 2 个好处:
    可以降低小程序代码包的大小;
    可以单独针对基础库增加能力,或修复 Bug,不需要修改小程序的代码。
    
    小程序启动
    在我们打开小程序时,会看到包括小程序图标,名称的加载页面。在这个页面中,首先会完成小程序基础库与代码包的下载工作,完成基础库与代码包下载后,则会分别开始对 JSCode 与 WebView 进行初始化,在完成基础库,小程序代码包和 WebView 注入后,则会开始对小程序的相关代码进行初始化,最终用户就可以看到完整的小程序代码了。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持