乐趣区

关于微信小程序:字节小程序与微信小程序差异-2020年9月整理

正在开发字节版本小程序,根底是曾经开发实现的微信版。

字节跳动开发工具的一键搬家性能还是很好用的,大部分微信小程序原生性能都能间接迁徙到字节版。

微信版小程序开发的过程中应用了第三方组件 Lin UI,迁徙当前,发现有局部组件性能无奈应用,“Lin UI 是基于 微信小程序原生语法 实现的组件库”,Lin UI 的文档是这么介绍的。那么为什么一部分性能无奈履行?

看了 3 天代码后,调整了大部分问题,现将字节小程序与微信小程序差别整顿做个笔记。

写了一周字节小程序发现大部分性能接口和微信小程序是一样的,可能是因为字节小程序依照微信小程序来设计开发的,所以有很多微信小程序的新性能并未履行,之后一段时间,有可能会逐步完善实现这些差别性能,所以我将整顿这个笔记的工夫点记录下来。次要还是组件的一些新性能和个性。

以下是 2020 年 9 月存在差别的中央:

1、字节版组件没有 pageLifetimes 字段“组件所在页面的生命周期”,微信版 2.2.3 当前增加。应用以后的生命周期函数“ready”等,能够代替局部性能。

2、字节版组件没有 observers 字段,“数据监听器”性能,微信版 2.6.1 增加。字节版能够通过 properties 对外属性中,某一属性的“observer”来监听传入组件数据的变动。

3、字节版组件没有 generic,组件的形象节点性能,微信版 1.9.6 后反对。组件应用并不固定节点的性能,这种用法无奈在字节版应用。

4、SelectorQuery NodesRef.fields(Object fields, function callback) 获取节点的相干信息。须要获取的字段在 fields 中指定。
微信 2.1.0 的 fields 减少“computedStyle”属性,能够取得节点的款式内容。
字节版有该办法,然而没有“computedStyle”属性,款式固定的话只能间接应用款式值了。

5、字节版组件的 getRelationNodes 取得关联节点,办法为异步 api。
微信版应用:

cosnt nodes = this.getRelationNodes('path/to/custom-li')

字节版应用

const t = await new Promise(n => this.getRelationNodes("../index-anchor/index", (t) => {n(t); }));

字节版须要用 promise 来传递异步音讯。也不晓得微信版开始就是这种写法,还是之前有更新。

以上就是最近遇到的字节小程序与微信小程序差别。相熟 ES6 和微信小程序各个版本的话,这都不是什么很大问题。不过这两方面我都不熟,所以看了 3 天代码,不过进步很大。

其实这都是微信降级更新后,字节版还未借鉴到的性能,次要都是组件应用方面,微信小程序不断完善组件的性能,也不晓得字节版什么时候能更新。

退出移动版