微信底层框架

本文探讨了微信小程序的技术选型,包括采用Hybrid技术的原因,解释了为何小程序可以使用JavaScript但不支持DOM操作,分析了wxml文件不使用HTML标签的考量,并介绍了原生组件的优势,如扩展Web能力、提升体验和优化渲染性能。
摘要由CSDN通过智能技术生成

技术选型

Hybrid 技术

小程序的架构要求:快!加载快、渲染快……
渲染界面的技术:Hybrid 技术,介于原生技术和web 技术之间。
若使用纯客户端原生技术,小程序代码需要与微信代码一起编包,跟随微信发版,这种开发节奏必然是不对的。
所以小程序像Web 技术那样,有一份随时可更新的资源包放在云端,通过下载到本地,动态执行后即可渲染出界面。
若使用纯 Web 技术来渲染小程序,UI渲染跟 JavaScript 的脚本执行都在一个单线程中执行,这就容易导致一些逻辑任务抢占UI渲染的资源。
所以,渲染层使用了多个WebView线程渲染,从而避免了单个WebView的任务过于繁重,让用户有更好的交互体验。
最终,小程序界面主要由成熟的 Web 技术多线程渲染,部分功能是由客户端原生能力实现。

小程序可以写JavaScript 的原因

小程序里可以写JavaScript,是因为客户端系统javaScript 解释引擎,在iOS下是用内置的 JavaScriptCore框架,在安卓则是用腾讯x5内核提供的JsCore环境。
至于小程序的js中没有DOM 操作,是出于安全考虑的,比如我们使用window.location 可以跳转任意页面,就会带来一定的风险。
小程序把JavaScript 代码放在了一个沙箱环境里,阻止了用户对DOM 的直接操

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值