浅谈我对⼩程序云开发的认识与见解
⼀、⼩程序云开发的优点
1.⽆需⾃建服务器
2.项⽬快速上线
3.轻轻松松获取⽤户凭证
⼆、⼩程序云开发的坑
1.基础版CDN流量太少
2.云数据库限制多
(1)⼩程序端读取限制
(2)云数据库读写权限限制
3.对外开放限制多
三、我对⼩程序云开发总结
对于⼩程序云开发,我也算是⼊门吧,跳了很多坑,但也都从坑⾥爬了出来。通过写下这篇博客来总结⼀下我对⼩程序云开发的认识。所有外部依据均来⾃⼩程序官⽅⽂档
推出⼩程序云开发的SDK是在2018年8⽉份,距离今天已经过去⼀年多了。
看⼀下官⽅对⽬前⽤户的版本统计,⽬前99.2%(ios)的⽤户⽀持使⽤⼩程序云开发发布的⼩程序。换句话说,⽬前⼩程序云开发发布的⼩程序 (绝对) 基本 可以被所有⽤户使⽤。
说了适配问题之后,我们来看⼀下到底什么是⼩程序云开发
小程序免费开发制作开发者可以使⽤云开发开发⼩程序、⼩游戏,⽆需搭建服务器,即可使⽤云端能⼒。
云开发为开发者提供完整的原⽣云端⽀持和服务⽀持,
弱化后端和运维概念,⽆需搭建服务器,
使⽤平台提供的 API 进⾏核⼼业务开发,
即可实现快速上线和迭代,同时这⼀能⼒,同开发者已经使⽤的云服务相互兼容,并不互斥。
(摘⾃⼩程序官⽅⽂档)
重点看⼀下我标记的这句话:“同时这⼀能⼒,同开发者已经使⽤的云服务相互兼容,并不互斥”,也就是说你在使⽤⼩程序云开发的同时,还是可以配合正常的云服务器来使⽤的。
下⾯进⼊正⽂
⼀、⼩程序云开发的优点
⾸先要介绍的当然是⼩程序云开发的优点啦。
1.⽆需⾃建服务器
这⼀点我相信是绝⼤多数⼈,选择使⽤⼩程序云开发的原因。不需要⾃⼰去搭建服务器,既省去了服务器搭建所耗费的时间,⼜省去了⾦钱,⼩程序云开发为⼤家提供了⼀个免费基础版本。
这个配置,如果不上传⾼质量的图⽚,⾳频及视频的话是完全够⽤的。为什么把这三类除外呢,我会举⼀个实际的例⼦来解释⼀下。 (⼆、1.)
2.项⽬快速上线
⼩程序云开发可以不依托外部的云服务器,来进⾏数据库的增删改查,以及对象存储。这样就使得项⽬可以快速上线,⼤家应该都知道如果使⽤外部的云服务器来制作接⼝的话,需要为⼩程序配置request合法域名,来看⼀下⼩程序官⽅⽂档对这⽅⾯的要求。
⾸先只⽀持https协议,国内服务器必须解析域名进⾏ICP备案后,绑定ssl证书,然后来使⽤https,到这⾥也许有⼈会想到使⽤国外服务器绕过备案。再往下看,你会发现早已想到会有这个可能,强制要求域名必须通过ICP备案。那么就逃脱不了30-40天的备案时间了。
也就是说使⽤⼩程序云开发,不需要等待ICP备案的时间,开发完⽴马就能审核上线。这⼀点也是我第⼀次使⽤⼩程序云开发时的原因,省去了不少时间。
3.轻轻松松获取⽤户凭证
openId对于开发者来说就相当于⽤户的“⾝份证”,也是⽤户在本⼩程序的唯⼀标识,对于不使⽤云开发的⼩程序来说,要想获取⽤户凭证流程⾮常复杂,看⼀下官⽅流程图
看着流程图就觉得头⽪发⿇,⼤致过程是这样的:⼩程序端先获取⽤户的⼀个登录code——将这个code传到⾃⼰的后端服务器——在后端服务器访问官⽅接⼝,将code和⼀系列密钥传过去——官⽅接⼝将⽤户凭证(包含openId)传给后端服务器——后端服务器再传给⼩程序。这是整个获取流程。
如果使⽤⼩程序云开发的话,那就⾮常简单了:只需要⼀个简单的云函数,在⼩程序端触发这个云函数即可。
//云函数主要代码 login云函数
const cloud = require('wx-server-sdk')
cloud.init({
env: 'xiaodou-jtc8g'//云开发环境ID
})
exports.main = (event, context) => {
console.log(event)
console.log(context)
const wxContext = WXContext()
return {
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
env: wxContext.ENV,
}
}
//⼩程序端请求代码
wx.cloud.callFunction({
name: 'login',//上⾯云函数的名字
data: {},
success: res => {
console.log(res)
}
})
只需两部分代码,即可轻松获取到⽤户凭证,效果如下
⼆、⼩程序云开发的坑
1.基础版CDN流量太少
在我最近做的⼀个项⽬中,仅在开发与测试期间,上传/下载了相册原画质的图⽚就⽤了765MB(四五天
时间),当时我就意识到了事情的严重性,因为这个项⽬上线后需要每天为百名⽤户来使⽤,如果像我测试的那样,可能CDN流量两天就⽤完了。⼀旦CDN流量⽤完升级配置,⼀个⽉最少都要30块钱,这个价钱可以在外⾯购买⼀个很好的对象存储服务了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论