小程序技术能力规划
自定义组件 2.0小程序的几个页面间,存在一些相同或是类似的区域,这时候可以把这些区域逻辑封装成一个自定义组件,代码就可以重用,或者对于比较独立逻辑,也可以把它封装成一个自定义组件,也就是微信去年发布的自定义组件,它让代码得到复用、减少代码量,更方便模块化,优化代码架构组织,也使得模块清晰,后期更好地维护,从而保证更好的性能。但微信打算在原来的基础上推出的自定义组件 2.0,它将拥有更高级的性能:- usingComponents 计划支持全局定义和通配符定义:这意味着不用在每个页面反复定义,可以批量导入目录下的所有自定义组件
- 计划支持类似 Computed 和 watch 的功能,它能使代码逻辑更清晰
- 计划支持 Component 构造器插件,在实例化一个自定义组件的时候,允许你在构造器的这个阶段,加入一些逻辑,方便进行一些扩展,甚至是可以扩展成 VUE 的语法
- 无法与其他组件混在一起渲染
- 没有完整的触摸事件
- cover-view 对样式的表现有差异
- cover-view 对样式的支持度不够高
生态规划
小程序云小程序云是微信团队和腾讯云共同研发的小程序基础能力,它的特点是:无服务器搭建、无域名配置、能完整体验云端流程,可原生调用小程序 API,同步支持服务器 SDK,开发工具可视化管理云端服务。小程序云的基础能力主要体现在云函数、数据库和文档存储上:云函数的特点:- 云端运行的代码,无服务搭建
- 客户端隔离,私密安全的运行空间
- 微信数据管道协议接入,多种触发方式
- 天然可信任的用户登录态
- 开发工具一键上传部署
- 高性能文档型数据库
- 简单易用的 API 设计
- 小程序 / 云函数多端调用
- 基于微信登录态的安全控制规则
- 具有云端文件存储空间
- 小程序内直接上传文件到云端
- 带权限管理的云端下载
- CDN 加速
- 可视化管理
小程序的性能优化
为了优化小程序的性能,即将推出分包预下载和独立分包功能:在性能优化上,微信官方还给出了以下建议:
- 开发者要控制代码包的大小,及时清理无用代码和资源文件,减少代码中的图片等资源文件的大小和数量。
- 分包加载,将小程序中不经常使用的页面放到多个分包中,主包只保留最常用的核心页面,启动时只加载主包,使用时按需下载分包,不要一次性下载整个代码包。
- 首屏加载优化:异步数据请求不需要等待页面渲染完成,利用 storage API 对异步请求数据进行缓存,二次启动时先利用缓存数据渲染页面,再进行后台更新,为避免白屏,应先展示页面骨架和基础内容,并及时地对需要用户等待的交互操作进行反馈。
- 正确使用 setData:仅传输页面中发生变化的数据,使用 setData 的特殊 key 实现布局更新,并对连续的 setData 调用进行合并等。
- 正确使用 onPageScoll:只在必要的时候监听 onPageScoll 事件,避免在 onPageScoll 中执行复杂逻辑,避免在 onPageScoll 中调用 setData 等。