浅谈我对微信小程序云开发的认识与见解

一、微信小程序云开发的优点
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 = cloud.getWXContext() 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块钱,这个价钱可以在外面购买一个很好的对象存储服务了。

在这里插入图片描述

不过还好我发现这个问题比较早,及时控制了上传图片的质量,每次上传图片程序自动都进行一次压缩,每张大概在200kb以内,在正式使用到现在也就消耗了1mb左右的CDN流量。(日均活跃用户在60人左右)

在这里插入图片描述
2.云数据库限制多
这个坑我觉得对于我来说是最深的一个,云数据库的限制有两方面。第一个方面是小程序端获取数据条数限制。第二个方面是云数据库读写权限限制。

(1)小程序端读取限制
小程序端直接请求数据库,每次最多可以读取20条数据

在这里插入图片描述

使用云函数请求数据库,再通过小程序端触发云函数,每次最多读取100条数据

在这里插入图片描述

要是每次需要请求的数据超过100条,那就需要使用skip分次请求再进行组合了,具体操作可查看官方文档或其他博客。

(2)云数据库读写权限限制
在说这个坑之前先说一下,小程序云数据库为非关系型数据库,不能使用外键内键联合查询。(与上下文无关,本文未提到)
云数据库最开放的权限是:所有用户可读,仅创建者可改。

在这里插入图片描述

也就是说你创建了一条记录,他人无法进行修改或删除,这也就导致了一系列的问题。下面举一个我实际项目的例子。
eg:现有一个多座位的自习室供用户预定,用户每次预定可以选择一个使用时间,到这个时间结束后这个座位可以被其他人再次预定。
简单的一个场景,正常的逻辑下我们数据库的自习室表里应该有这三个主要的字段就够了,自习室标识(r_id),自习室到期时间(r_date),自习室是否可预定(r_flag)。

在这里插入图片描述

当一个用户选择预定一个自习室时,我只需要判断这个自习室的r_flag是否为true即可,如果为true,用户可以预定,预定成功后r_date刷新,r_flag置为false即可。
但是,小程序云开发提供的云数据库,最开放的权限为所有用户可读,仅创建者可改。 就导致上述逻辑行不通。我们就需要更复杂一点的逻辑来实现这个功能。
我当时的做法是:每次用户预定自习室时都提交一条数据,将每个自习室所有的预定数据按照时间先后放到一个个栈内,最新的预定放到上面,这样下次有人进行预定时,只需要比较是否到最上面那条数据的r_date,来判断该自习室目前是否可被预定。不修改记录实现一个覆盖删除的功能。

在这里插入图片描述
3.对外开放限制多
一个正常的小程序项目一般都会配一个后台管理系统,这个后台管理系统与小程序共用一个数据库,来对数据进行管理。由于小程序云开发自带的云数据库在小程序内部,外部要是想访问这个数据库则需要一个稍微复杂的流程:
先使用官方接口获取到调用凭证,在通过这个凭证使用指定的接口来对数据库进行增删改查。此外这个流程中消耗的资源也是算在基础配置里的,每日请求上线5万次。

在这里插入图片描述
三、我对小程序云开发总结
介绍完了小程序云开发的优点和坑之后,我觉得小程序云开发的适用人群就非常明确了:如果你没有一个已经备案过的域名和一台云服务器,又想使项目快速上线,且对云存储、云数据库的要求不高,那么小程序云开发非常适合你,0开发成本即可发布一款微信小程序。
如果你的日活用户非常多,又不想花费用升级云开发的配置,那么小程序云开发并不太适合你。
别着急走,如果你的日活用户不是太多,基础版的云函数请求足够用的话,那么你可以使用小程序云开发,来减少一些复杂的流程,再配合自己的外部服务器来开发,效果极佳。如果有机会,再以后的博客里我会介绍一下如何通过云函数配合外部服务器(无需解析域名备案,http协议)来实现数据请求。
总的来说,我觉得小程序云开发带来的利大于弊

原文链接:https://blog.csdn.net/qq_39167934/article/details/106073415?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165918471416781685314431%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165918471416781685314431&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-14-106073415-null-null.nonecase&utm_term=%E5%85%8D%E5%A4%87%E6%A1%88 cdn

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/4441

(4)
优速盾-小U优速盾-小U
0 0
怎样选择云服务器的系统版本,如何选择云服务器操作系统?
上一篇 2022年7月30日 22:01
系统服务器的域名地址,dns域名系统提供 服务器地址
下一篇 2022年7月30日 22:02

相关推荐

  • 免备案CDN才是真正的全网加速CDN

    最近朋友自己设计制作了一个IT技术交流网站,苦于国内备案手续的麻烦与备案需要的漫长等待等诸多不便,决定把网站放在 自己的一个美国空间上,很快网站就架设好,不过由于使用的是美国等海外…

    优速盾-小U 优速盾-小U
    行业资讯 2022年7月30日
    0 0398
  • 全面了解边缘计算,助力数字化转型

    几乎所有的巨头都在提边缘计算。随着数字化转型的加快,传统制造业生产的各个环节出现的智能设备也会越来越多。相较于个人手中的智能设备,生产线上的智能设备数据更有挖掘的价值。 从企业管理…

    优速盾-小U 优速盾-小U
    行业资讯 2022年9月24日
    0 0413
  • 【Python】【电子邮箱】

    #【【电子邮件】】”’Email的历史比Web还要久远,直到现在,Email也是互联网上应用非常广泛的服务。几乎所有的编程语言都支持发送和接收电子邮件,但是,先等等,在我们开始编…

    优速盾-小U 优速盾-小U
    行业资讯 2024年6月17日
    0 062
  • FFmpeg 命令行

          #>ffmpeg.exe -r 25 -loop 1 -i 1.jpg -pix_fmt yuv420p -vcodec libx2…

    优速盾-小U 优速盾-小U
    行业资讯 2022年9月15日
    0 0458
  • 你开奖了吗?细数大厂春节红包背后的技术支撑 行业资讯

    你开奖了吗?细数大厂春节红包背后的技术支撑

    本文转载自 InfoQ 除了大年三十看春晚,参与各大 App 的春节红包活动也逐渐成为了中国人的过年传统。红包也不再只是“钱”,而是承担了更多的角色&#…

    优速盾-小U 优速盾-小U
    2022年7月30日
    0 0347
  • 仅引入 js 实现博客 cdn 加速

    博客 cdn 加速网上有很多的教程, 其中免备案, 最好用的就是 Jsdelivr 了, 我也写过一篇用 Jsdelivr 加速的文章, 但是似乎很多人一开始都看不懂如何用 Jsd…

    优速盾-小U 优速盾-小U
    行业资讯 2022年7月30日
    0 0457
  • nginx防止DDOS攻击

    防御ddos是一个系统工程,攻击花样多,防御的成本高瓶颈多,防御起来即被动又无奈。DDOS的特点是分布式,针对带宽和服务攻击,也就是四层流量攻击和七层应用攻击,相应的防御瓶颈四层在…

    优速盾-小U 优速盾-小U
    行业资讯 2022年7月30日
    0 0380
  • 【CDN】免费以及低价高性价比国内外CDN一览

    本文收集一些免费或者高性价比的国内外商家,有兴趣可以逐个尝试一番,没有最好,只有最合适。 文中商家无强制的高低排名之分,基本上想到什么写什么,前面的数字排序仅为了排版更方便阅读。 …

    优速盾-小U 优速盾-小U
    行业资讯 2022年7月30日
    0 01.8K
  • CDN加速 行业资讯

    CDN加速

    1.什么是cdn加速 CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到…

    优速盾-小U 优速盾-小U
    2022年9月10日
    0 0366
  • epic加速器用什么好?海豚专线流畅平台游戏双加速 行业资讯

    epic加速器用什么好?海豚专线流畅平台游戏双加速

    epic平台近日宣布支持steam帐号登录,玩家可以关联steam账号和epic帐号并进行登录。这一新功能的加入,与定期白送游戏、推出多款独占游戏等活动一起让epic平台被更多的玩…

    优速盾-小U 优速盾-小U
    2022年9月28日
    0 0472

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包 www.cdnb.net
/sitemap.xml

PHP网站源码永湖模板推广同乐模板推广坂田外贸网站建设南联阿里店铺运营罗湖网站优化排名民治百度seo宝安营销网站松岗网站seo优化爱联企业网站建设大鹏外贸网站建设坂田网站推广工具塘坑建站福田阿里店铺托管龙岗百度关键词包年推广平湖网站开发罗湖百姓网标王推广大芬SEO按天扣费坂田建网站吉祥网站排名优化沙井网站推广南澳seo网站优化观澜网站优化按天扣费宝安外贸网站建设木棉湾网站建设龙华企业网站制作光明网站搭建大浪网站设计模板塘坑seo龙岗百度网站优化布吉关键词按天扣费歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化