• git常用命令行
  • 带你玩转小程序反编译 😄
  • 基于小程序云开发能力和vant业务组件实现省市区选择
产品经理自检清单

新产品开发过程基本原则

产品开发原则产品笔记

四种常见的 POST 提交数据方式

application/x-www-form-urlencoded

页面表单方式提交,编码为名称/值对

  • Content-Type:application/x-www-form-urlencoded
  • 数据进行了URL转码
提交数据post

中国互联网六大主流盈利模式

中国互联网盈利模式商业思维

四色二维码

采用第三方库qrcodeplus实现
->https://packagist.org/packages/davidnineroc/qrcodeplus

1.克隆代码库:

git clone https://xuegang.coding.net/p/colorful-qrcode  
彩色二维码四色二维码

vscode统一代码风格

安装vscode插件
Vetur、ESLint、Prettier - Code formatter

代码风格vscode

小程序wxml使用外部函数

1.新建wxs文件,例如array_fun.wxs:

  • 这里为判断元素在数组中是否存在,存在返回true否则为false

var arr_fun = {
    array_index: function (search, array) {
        for (var i = 0; i < array.length; i++) {
            if (array[i] == search) {
                return true;
            }
        }
        return false;
    }
}

module.exports = {
    array_index: arr_fun.array_index
}
小程序wxml外部函数

微信小程序运行机制

运行环境差异

  • iOS:JavaScriptCore->WKWebView渲染
  • Android:X5 JSCore来解析(X5基于Mobile Chrome 53/57 内核)
  • DevTool:nwjs->Chrome Webview渲染
小程序运行机制

小程序image标签mode属性

微信小程序image标签的mode属性介绍

小程序imagemode属性

小程序优化建议

setData

  • 频繁setData(毫秒级)后果
    • Android 下用户在滑动时会感觉到卡顿,操作反馈延迟严重,因为 JS 线程一直在编译执行渲染,未能及时将用户操作事件传递到逻辑层,逻辑层亦无法及时将操作处理结果及时传递到视图层
    • 渲染有出现延时,由于 WebView 的 JS 线程一直处于忙碌状态,逻辑层到页面层的通信耗时上升,视图层收到的数据消息时距离发出时间已经过去了几百毫秒,渲染的结果并不实时
  • 每次 setData 都传递大量新数据
    • 数据传输实际是一次 evaluateJavascript 脚本过程,当数据量过大时会增加脚本的编译执行时间,占用 WebView JS 线程
  • 后台态页面进行 setData
    • 当页面进入后台态(用户不可见),不应该继续去进行setData,后台态页面的渲染用户是无法感受的,另外后台态页面去setData也会抢占前台页面的执行
  • 建议
    • 不要频繁调用setData, 尽量合并到一次setData调用
    • 传输数据量跟通信性能有关,尽量少于64k,避免一些不需要在页面展示的复杂数据结构或者长字符串
    • 与界面无关的数据最好不要设置在data中
    • 去掉不必要的事件绑定,减少通信的数据量以及次数
    • 不要在节点data前缀放置过大数据(需要传输target的currentTarget和dataset)
小程序优化
好文推荐

扫描下方二维码阅读文章

浏览器、微信扫码
微信小程序
极客之路公众号
微信情报 更多 >
    每天进步一点点~