小程序

作者: 愤怒的螃蟹 | 来源:发表于2018-03-14 17:18 被阅读0次

    介于小程序在开发功能上,官方文档基本上已经完全涵盖了所需内容。所以在开发上就不详述了。相关文档可以参考https://mp.weixin.qq.com/debug/wxadoc/dev/。开发中遇到的主要bug依然是小程序系统级别的,需要特别注意的是微信小程序的相关调用接口都是异步的,在开发时需要特别注意回调结果的发生顺序,并注重好控制回调地狱。

    整体开发上小程序和vue是比较接近的,整体思路也基本一致。所以熟悉vue的同学应该对于开发小程序上手都比较简单。

    小程序中微信登录

    登录流程按照文档规范进行就可以了。
    前端部分比较常见的两个登录问题

    1. 如果将初始化的登录函数放在app的onlaunch中,页面长期不用置于后台的时候,从服务端获取的session会失效,此时需要重新去获取session。而将初始化函数放在app的onshow时间中,会导致小程序在不断切换的使用场景中,会向后台反复请求session。以上问题在高并发的情况下,需要协调好正确的登录方案。可以尝试把session保存在storage中减少对后台请求次数,并增加一个session验证监控来定期更新保存在缓存中的session。
    2. 获取session是异步操作,所以第一次页面初始化的时候,向后台发送的获取数据请求可能还无法带上session,需要依赖定时器完成相应内容。
    小程序的生命周期

    小程序的生命周期是另外一个比较大的坑 特别是在安卓和iOS中,将小程序最小化,再重新进入时,是否触发onlaunch,onload,onshow事件会产生比较多的问题。这个部分在关系到页面初始化的时候,获取参数,调用后台接口的频率,以及页面是否能及时初始化更新。其中比较复杂的状态是来回在小程序和微信对话中切换,且随着交流增加,这个部分的切换会出现的场景随之增多。

    创建一个重量级的init函数和一个轻量级的check函数,分别在不同情况下启动完整的初始化或者只是部分数据更新,可能是一个可行的解决方案。这也能适当减小后台并行的压力。尝试使用websocket(这个部分小程序也有很好的支持)也是一个可以尝试的新方向。

    小程序的发展方向思考

    小程序有更明确的结构和页面构成,页面分工明确。类似框架的架构也更适应组件化开发。整个小程序可以拆分成若干页面组件的拼装。并且在产品构造上,相对于页面的一个专题干一件事,小程序可以考虑,一个小程序里面是包含很多个不同功能的另一种迭代模式(对于增加用户曝光而言,小程序也可以完成增加用户粘性和用户停留时间这个任务)。同一个小程序也可以包含更多的功能来应对更多的打开场景。
    基于以上的小程序拼装过程,可以将小程序功能拆分成若干页面,在有完善的底层app的基础上,任意小程序都是基于现有功能的拼装。这种小程序可以大幅度提高开发复用率,并且形成完善的功能闭环。

    小程序在数据处理上相比页面有较大优势。所以基于以上由功能组件构成,所以小程序可以开发若干有较强计算属性(相对于展示属性)的功能,为公众号提供比较强大的功能支持。

    然后相对于网页而言,小程序有一个比较优势的方面可能一直未被用上,在使用硬件方面,小程序应该会有更加出色的实现效果。调用诸如相机,图像,各种硬件系统上,有微信提供的稳定api。应用以上功能应该可以实现一些在之前网页实现起来较为麻烦的功能。

    相关文章

      网友评论

          本文标题:小程序

          本文链接:https://www.haomeiwen.com/subject/dgxjfftx.html