小程序开发过程中常见的问题及优化方法介绍
相比APP开发,小程序开发门槛低,成本低,但是小程序开发过程中还是会遇到一些问题。对于小程序开发过程中可能遇到的问题和解决方法,全通网络梳理了一下
1.网络请求接口域名的限制解决
小程序对网络请求接口域名有明确要求。针对4种服务器域名(request、socket、uploadfile、downloadfile)每种只能指定一个合法域名。这样,对于后台业务十分复杂,并使用不同域名对业务进行划分的应用就会有问题,比如腾讯的自选股,后台就十分复杂。应对这个限制,腾讯自选股最终通过统一代理方式将多个域名收敛为一个域名,由代理层将请求转发。
2.应用内部支持https请求
微信小程序文档中要求wx.request网络请求发起的是HTTPS请求,这对于有各种接口的应用也带来影响。仍以腾讯自选股为例,通过在统一代理层部署证书支持HTTPS请求,这样后端RS机器无需改动,成功解决必须是HTTPS请求的问题。
iOS规则自2017.1开始服务器会只支持HTTPS协议的接口,所以,现在开始尽量统一为HTTPS。
3.小程序仅支持5个并发的网络请求
微信小程序官方文档中也提到了,同时打开页面有5个的限制。所以不适合做太深层级页面的交互应用。像腾讯自选股这类深层级页面交互的应用,可以使用动态接口将页面需要的数据进行合并,通过一个接口获取页面所需数据。
4.多个页面代码共用问题
小程序页面与页面之间代码复用性差。当多个页面共用一个js或者json的时候(比如详情页面),需要打包和构建工具的支持(如用webpack)。没有工具就只能自己手工复制,一旦涉及修改的时候,要修改多个页面就比较麻烦了。
5.关于有状态的登录问题
关于登录,目前小程序不支持cookie,而是采用前端利用微信提供的接口获取登录凭证code,server端再用code获取密钥session_key的方式对用户数据完成加密解密,整个过程需要server端对已有的登录体系进行再次封装,而本地的登录态可以利用微信提供的本地存储进行保存。
以上是一些小程序开发中会遇到的部分问题和相应的解决方案,对于小白们有一定的帮助。可想而知未来小程序开发不再是个小众话题,微信小程序的巨大能量,将会引来更多人加入这场纷争。只有争得先机者,才能笑到最后。