您的位置: 首页 > 新闻动态> 行业动态

    微信小程序的优化技巧及其和App之间的关系

    2017-11-11 15:58:15

      小程序科普类的文章已经很多了,这里讲下针对小程序的优化方法,可以有效提高小程序的响应速度和用户体验,当然,开发体验也提高不少。

      1,提高页面加载速度——前端永恒不变的话题。

      在小程序这个环境下,怎样提高页面加载速度呢,这个问题很大,我把问题具体一下,如何缩短从用户点击某个链接,到打开新页面的这段时间,这里抛一个核心关键点:。

      从页面响应用户点击行为,开始跳转,到新页面onload事件触发,存在一个延迟,这个延迟大概在100-300ms之间(安卓响应比ios慢些)。

      这个延迟说短不短,我们可以利用这段时间,预先发起新页面所需要的网络请求,这样一来,就节省了100-300ms(或者一个网络请求的时间)。

      知道有这个gap后,代码如何实现呢。

      说白了,就是实现一个在A页面预加载B页面数据的功能,但而这种跨页面的调用,很容易把逻辑搞复杂,将不同页面的逻辑耦合在一起,所以,一键生成小程序我们希望将预加载的逻辑隐藏于无形中,不增加任何的页面间耦合,以及开发复杂度。

      可以看到,不管是外部页面的调用还是实际逻辑的实现都非常简洁,在第二个页面中,我们扩展了Page的生命周期函数,增加了onNavigate方法,该方法在页面即将被创建但还没开始创建的时候执行。

      老司机也许会发现这里有点蹊跷,在首页点击的时候,播放页根本就没有创建,对象都不存在,怎么访问到里面的方法呢。

      这里就要说下微信的页面机制。

      在小程序启动时,会把所有调用Page()方法的object存在一个队列里(如下图),每次页面访问的时候,微信会重新创建一个新的对象实例(实际上就是深拷贝),也就是说,在A页面在执行点击响应事件的时候,B页面的实例还没创建,这时候调用的onNavigate方法,实际上是Page对象的原型(小程序启动时候创建的那个),而接下来马上要被创建的B页面,又是另外一个object,所以,在onNavigate和onL小程序开发多少钱oad方法中,this指针指的不是同一个对象,不能把临时数据存储在当前object身上,因此我们封装了一对全局的缓存方法,$put()和$take()。

      早在小程序上线时,就有开发者讨论小程序对App业态的冲击,而今小程序被爆出多方面升级,更加深了这种担心,阿拉丁创始人史文禄描述了这样一个场景,用以解释小程序为App提供的辅助作用:一个本想骑共享单车去三公里左右地方的人,会因为没有下载摩拜App而选择打车,但如果微信扫码可以直接跳转小程序去使用单车,用户就自然地被留存下来了。

      作为小程序统计工具先行者,史文禄介绍,上线两个月以来,微信小程序的入驻和使用情况是“符合甚至超出预期”的,“部分小程序用户留存很高,数据整体是向上的趋势,”他表示,小程序后台可以记录包括访问用户数,老用户使用次数分布等多维度的数据,这些数据远比用时间积累的流量更加珍贵,因为用户会否重复使用直接体现产品在需求端的价值,快速生成小程序。

      对于小程序和App之间关系的讨论,他表示,一个新的商业产品,或多或少都会与既有产品存在竞争,就好像有了网站还会出现App,有了App仍然出现了公众号,虽然功能相互重叠,但正是用户行为的迁移催生了更适应新生态的产品。

      “所谓竞争或重复都是表面的,要探究底层差异,小程序降低了移动应用开发的门槛,提高了社会效率,这已经是具有变革性的了,在很短的时间就可以创造一个原生应用,这对于创业公司和开发者是巨大的利好,”史文禄坦言,小程序或许不会适用于所有服务,但市场一定是巨大的,甚至符合了供给侧改革的思路。

      “小程序是产业升级和渠道下沉背景下的新技术带来的新零售革命,”这是史文禄对小程序的描述,他认为小程序很可能带来真正的新零售,“我理解的新零售,是指传统零售通过与新技术的打通,提升为用户提供的服务,扩大服务辐射的范围,改变传统的业态或工作方法,新零售不能脱离零售本质的效率指标,即成本降低,收益增加,” 。

      合肥微必知科技专业从事移动互联网整合营销,微信分销系统开发,小程序开发,APP开发,直播系统定制,红包二维码定制的服务商,专业化的服务为您打造最极致的全网多渠道营销渠道,http://www.winbz.com/。


皖ICP备15009770号-1