资料
  • 资料
  • 专题
[完结16章]深入学习小程序框架底层原理,培养双线程思维
推荐星级:
类别: 软件/EDA/IP
时间:2024-03-01
大小:3.2KB
阅读数:106
上传用户:开心就很好了
查看他发布的资源
下载次数
2
所需E币
0
ebi
新用户注册即送 300 E币
更多E币赚取方法,请查看
close
资料介绍
深入学习小程序框架底层原理,培养双线程思维——前端高手特训 从0到1带你手写一个微信小程序底层框架!

无论你是一位新手,还是一位有经验的开发者,能够自研一套小程序底层框架,都是你突破技术瓶颈有效途径。我将通过本篇文章带领大家从架构设计 ,原理剖析,再到源码的实现,一步步地实战构建一个完整的微信小程序底层框架,让大家深度掌握小程序双线程原理,助力大家具备把握最佳机会的能力和提升获取心仪Offer的成功率,成为一个真正有实力的技术人才!! 

一、首先,我们先来认识小程序,那么什么是小程序呢?
小程序是一种不需要下载安装即可使用的应用,它基于某个平台(如微信)运行,用户可以通过扫描二维码或搜索关键词来打开小程序。小程序的特点包括体积小、启动速度快、使用便捷,以及能够实现“用完即走”的理念,减少了用户安装应用的数量。

小程序的开发通常采用前端技术,如HTML5、CSS3和JavaScript,并通过封装和提供丰富的API接口,实现与微信生态系统的高度整合。小程序可以提供各种服务,如游戏、购物、地图、社交和学习等,同时帮助商家展示产品、推广服务以及实现线上支付等功能。

二、设计思路-渲染层
小程序使用的是Exparser组件模型,Exparser组件模型与Web Components中的shadow DOM高度相似,微信为什么使用自定义组件框架,而不使用Web Components呢?主要还是出于安全考虑,并且方便管控。既然Exparser组件框架与shadow DOM高度相似,那么我们首先来了解一下shadow DOM。

shadow DOM: Web Components的一个重要属性是封装-可以将标记结构、样式和行为隐藏起来,并与页面上的其他代码相隔离,保证不同的部分不会混在一起,可使代码更加干净、整洁。其中,shadow DOM接口是关键所在,它可以将一个隐藏的,独立的DOM附加到一个元素上。

三、Exparser组件模型
Exparser组件模型参考了shadow DOM并进行了一些修改,像事件系统就是完全复刻的,slot插槽,属性传递等都基本一致。但同时它又具有一些特点:
基于shadow DOM模型:模型上与Web Components的shadow DOM高度相似,但不依赖浏览器的原生支持,也没有其他依赖库;实现时,还针对性地增加了其他API以支持小程序组件编程;
可在纯JS环境中运行:这意味着逻辑层也具有一定的组件树组织能力;
高效轻量:性能表现好,在组件实例极多的环境下表现尤其优异,同时代码尺寸也较小;

四、逻辑层与视图层通信
在小程序中,逻辑层只有一个,但是渲染层有多个,渲染层和逻辑层之间是通过微信客户端进行桥接通信的。那具体是怎么实现的呢?其实它使用的就是WeixinJSBridge通信机制。
在小程序执行的过程中,微信客户端分别向渲染层和逻辑层注入WeixinJSBridge,WeixinJSBridge主要提供了以下几个方法:
invoke:调用native API;
invokeCallbackHandler:Native 传递 invoke 方法回调结果;
publish:渲染层用来向逻辑业务层发送消息,也就是说要调用逻辑层的事件方法;
subscribe:订阅逻辑层消息;
subscribeHandler:视图层和逻辑层消息订阅转发;
setCustomPublishHandler:自定义消息转发;

五、微信小程序主流框架有哪些?
微信小程序是一种特殊的应用程序,它使用微信平台提供的JavaScript框架来构建。目前,微信小程序主要有以下三个主流框架:
1、原生框架(Vanilla Framework): 原生框架是微信小程序的最基础、最原始的框架,它使用原生的JavaScript、WXML和WXSS来开发小程序。
2、Miniprogram Framework(小程序框架): 小程序框架是由微信团队提供的官方框架,用于简化小程序的开发过程。它提供了更高层次的抽象和封装,使得开发者可以更快速地构建小程序。
3、mpvue: mpvue是一个基于Vue.js的小程序开发框架。它允许开发者使用Vue.js的语法和特性来开发小程序,从而降低了学习成本和提高了开发效率。


六、小程序的底层实现原理主要涉及以下几个方面:
框架架构:小程序框架通常采用前端框架,如微信小程序使用的是基于JavaScript的框架。这些框架提供了一套开发和运行环境,包括对视图层、逻辑层和数据层的管理和处理。
渲染机制:小程序通过渲染引擎将开发者编写的代码转化为可视化界面。渲染引擎负责解析和处理小程序的标记语言,如HTML、XML等,并将其转换为浏览器可以显示的界面。
数据通信:小程序需要与服务器进行数据通信,包括获取数据、上传数据等。通常使用HTTP协议进行网络请求,通过发送和接收数据来实现与服务器的交互。
安全机制:为了保障用户数据的安全和隐私,小程序实现了一系列安全机制。例如,小程序在沙箱环境中运行,限制了对系统资源的访问权限;小程序代码签名和校验机制确保代码的完整性和安全性;同时,小程序还采用了数据加密、身份验证等措施来保护用户数据的传输和存储安全。
跨平台适配:小程序需要在不同的操作系统和设备上运行,因此需要进行跨平台适配。框架会处理不同平台的差异,以确保小程序在不同设备上有一致的运行效果和用户体验。总的来说,小程序底层的实现原理是基于前端技术栈和相关技术,通过框架架构、渲染机制、数据通信、安全机制等来实现小程序的功能和特性。

版权说明:本资料由用户提供并上传,仅用于学习交流;若内容存在侵权,请进行举报,或 联系我们 删除。
相关评论 (下载后评价送E币 我要评论)
没有更多评论了
  • 可能感兴趣
  • 关注本资料的网友还下载了
  • 技术白皮书