小程序底层架构

本文详细探讨了微信小程序的底层架构,包括与浏览器的对比、小程序的双线程架构、运行环境、基础库实现以及编译器的工作原理。在运行环境部分,讲解了视图层和逻辑层的分离,以及JSBridge在两者间的通信作用。在编译器部分,阐述了wxml和wxss的编译过程。最后,概述了小程序的初始化流程,强调了逻辑层和渲染层的交互过程。
摘要由CSDN通过智能技术生成

小程序底层架构

与浏览器对比

以微信小程序为例,与浏览器中的对应关系:

  • js 开发逻辑代码 -> js -> v8
  • wxss (多了rpx单位)控制样式 -> css -> 浏览器渲染器
  • wxml xml语言 控制渲染层展示 -> html -> 浏览器渲染器 -> dom

浏览器

  • 单线程 存在阻塞

小程序

  • 双线程架构
    • js 逻辑层
    • wxml、wxss 视图层
  • JSBridge 通信(可以实现相机、扫码)

在这里插入图片描述

微信小程序初级架构

  • 所有的逻辑代码会打成一份,一个小程序只有一个逻辑层,包含所有页面逻辑 js
  • 视图层(渲染层)一个页面对应一个 Webview,小程序中页面栈最多十层。
    • webview 用来渲染 wxml 和 wxss
      • 在本地开发工具,直接用 iframe
      • 在客户端,用真的 webview

在这里插入图片描述

小程序运行环境

运行环境 逻辑层 渲染层
iOS JavaScriptCore WKWebView
安卓 V8 chro
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值