《为什么你应该立即使用云开发写小程序?》
受腾讯工作人员约稿,写了一篇文章。
本篇文章介绍了微信小程序云开发的诸多优势,包括无需维护服务器、一键部署、前端直接读写数据库和统一的 JavaScript 语言环境。同时,文章详细解释了云开发的计费方式和如何降低费用的技巧,并强调了数据库设计应优先服务于写代码的体验。通过云开发,开发者可以将更多精力投入到创造性工作中,实现工作与生活的平衡。
文章发到了微信开发者社区,如果你正在开发微信小程序,正在犹豫要不要切换到云开发,可以看看这篇文章。
点击跳转至微信社区:《为什么你应该立即使用云开发写小程序?》
除了腾讯还有别的云开发平台吗
有啊,多啊,但是本文只介绍了腾讯云
配的 AI 图都不咋地,有点影响阅读
为什么你应该立即使用云开发写小程序?因为腾讯要靠云开发恰饭
是咯,我用 DALL-E-3 画的
印象很深的是小程序云开发有查询限制,搞得比较烦,不知道现在升级了没有:Collection.limit()在小程序端默认及最大上限为 20 ,在云函数端默认及最大上限为 1000 。Collection.get()小程序端:如果没有指定 limit ,则默认且最多取 20 条记录。云函数端:如果没有指定 limit ,则默认且最多取 100 条记录。也就是说,想获取多的数据是需要分批请求。自从迁移到自建服务后,没有 api 的限制简直通透的爽了。
千万不要基于云开发,你至少基于 docker ,保证“自主”
查询限制可以突破的,前后端都可以,使用 Aggregate
云开发最开始给了一定免费额度,然后把小程序后台移过去了。结果狗腾讯把免费额度直接砍了,一个月哪怕没有一次请求也得掏钱,低消 19.9
一个月 19.9 元,可以共享给 10 个小程序,平均一个 2 元/月。
《介绍了 “数据库的设计要优先服务于写代码的体验” 的理念。》:“1 。合理设计数据库结构,减少读写次数。例如,当显示一个商品详情页时,要尽可能仅读取一次数据库,这就要求设计数据库时,把商品的基本信息、商品图片、用户评论等都放在同一个数据文档中。”“8 。宁可存储冗余数据,也要减少数据库的“调用次数”。例如,一个商品的用户评论,可以把用户的头像、昵称和评论内容都存储在商品文档中,而不是存一个用户 id ,然后再用 id 去用户表中读取用户的头像、昵称。什么,你说万一用户修改了昵称或头像怎么办?请看下一个建议。”“9 。能不 update 的就不要 update 。毕竟用户修改头像和昵称并不影响其他人阅读商品评论,如果用户修改了头像和昵称,那么他在商品评论中的头像和昵称不更新也没关系。这不仅仅是为了减少“调用次数”,更重要的是能不写的代码就不要写。”“不要想着你的产品将来可能会有很多人用,如果真的有很多人用,你再花时间去重构代码也不迟,我相信到时候你不会嫌弃这点工作量的。”挖坑理论🐶
提前优化是万恶之源。
跟提前优化搭不上边。
那你想表达什么呢?
其实用云函数开发就已经是提前优化了。。。。 如果你要面向超低成本设计你的产品,那么是有必要学会适合这种场景的新架构的。 如果一个产品一个月都挣不到 20 块钱,那还是砍了吧,你的时间都不止 20 块钱的一百倍了
用云函数主要是两个问题,一个是数据库权限的限制,一个是不想让别人看见代码。
Docker 都不靠谱,更别说云
小程序上架要求的资质啥的还比较多。。。
- 为什么说 Docker 不靠谱? 2. Docker 不靠谱和云开发有啥关系?
这个还好吧,一回生两回熟。
不想让别人看见代码是指什么,后端代码只能腾讯看到吧,你是说这个吗?
前端代码其他人是可以看见的,就可以下载盗用。 云函数的代码一般别人拿不到,能防止别人复制你的代码使用。
比如说支付宝小程序云,也支持云开发。可以发布 http 接口
有一个场景用云开发很合适:短信跳转小程序
调用次数收费太贵了。我目前用 19.9 的套餐,但是一个月调用次数远不止 20 万次,每个月按量计费的部分还得给再给 40 快左右
我用云开发的原因只有:方便调用内容审核接口和直接获取 openid
拉去推广节点吧..云开发 serverless 纯正收割小白产品..霸王硬上弓无敌调价上涨几次了...调用次数收费.流量收费..还有大头的 redis 数据库那些呢..代码部署还是特定平台部署妥妥的卡脖子...99 元买个年付主机多爽..
自己开个服务器用 docker 部署不比什么云开发强多了
小程序的云函数还有数量限制吗,22 年时候领导让搞小程序云开发 函数有数量限制,后面通过二级路径+method 拓展的,不过后面我跑路了
文章中有介绍如何降低调用次数
有个类似信息流的东西,用户刷呀刷,调用次数就上去了
蛋蛋被捏住以后就很难动弹了
用数据库的 watch 功能推送消息可降低调用次数
想加个 redis,成本就可怕了
写完了之后不想用了怎么办,迁移成本多高啊,把自己的命脉放在 tx 手里,没有好下场
你想得太远了吧
以前推广期免费用过, 确实方便, 但是后来不在免费, 从定价来看实在太贵了, 不如自己买服务器划算...
你用不用云函数后端代码都看不见啊。
也就是说,你还是嫌一个月 19.9 元贵是吧? 请问一下这个费用占到你月收入的百分之几?
云开发的问题在于后端管理, 侧重小程序或纯小程序弱后台管理还好, 重后台管理, 对接就是个麻烦事, 该有的一个都跑不了, 还不如一开始就传统后端了.
云厂商现在和绑匪一样,等你把代码和数据迁移上去后,立刻开始上强度。
之前基于 uniCloud 做过个项目, 初期开发的确很爽咔咔整完, 后台基于 uni-admin 开发, 生态绑架非常明显, 后期运营起来后, 发现首先运营脚本就是个麻烦事, 运用老哥攒的一堆乱七八糟各种语言的脚本根本没法用, 全部得重新写, 还有一些其他系统甚至语言开发的系统对接, 原本可以同一台服务器部署端口调用即可, 现在得额外适配或转发, 不然太慢了(云服务调我们私有服务器). 一堆大大小小的问题.目前总结下来唯一优势是不用考虑并发问题, 小程序初期大规模推广时只管充值不用大半夜起来重启服务器或者扩容这种.至于低消我 19.9 我觉得 OP 的比喻是不对的, 首先正常人除了外包老哥没人会没事整 10 个小程序挂那对吧...这玩意矛盾点在于同等价格的轻量云别说 10 个 20 个我都随便挂, 大家都是吃灰, 但是云开发只能用来做业务.对于个人来说.要是纯按量计费也是不错的选择, 至少会有很多人愿意尝试, 可这玩意整低消 19.9 起就让人比较反感了.
之前一个小程序本来想用 CloudBase 试试的,结果折腾了一会发现 nodejs 默认 16 ,最高 18 ,我有 20 版本以上才能用的 api ,只有放弃了
我以前用的时候还没有这个 19.9 套餐, 开始收费时是按量收费, 每个量的价格都高于平均值
有人写一篇《为什么你永远不应该使用云开发写小程序?》吗
约稿容易变舔狗,慎重
"重后台管理, 对接就是个麻烦事"是的,目前如果小程序后台比较重,我也不建议使用云开发,毕竟开发后台这件事就麻烦,最后又搞一台服务器来运行后台,没必要用云开发。
“要是纯按量计费也是不错的选择, 至少会有很多人愿意尝试, 可这玩意整低消 19.9 起就让人比较反感了.”小程序企业认证每年 300 元你怎么看?
“有人写一篇《为什么你永远不应该使用云开发写小程序?》吗”期待你来写,然后记得把链接发到我的文章评论区,哈哈。
“约稿容易变舔狗,慎重”我只关心文章是否真的能帮助到别人,这里的别人是指其他开发者,如果有帮助,就继续写,没有帮助,就不写了。
“云厂商现在和绑匪一样,等你把代码和数据迁移上去后,立刻开始上强度。”我觉得这个东西一定要把代码写好,要尽可能优化代码,能一两次调用解决的问题,千万不要写成几十次调用,如果这样写,肯定会很贵。
嗯程序员的责任
但凡冲着做好做大的目标去的,都不应该选择云开发。俩原因:1 、资费2 、可扩展性
你怎么能假设自己能做大做强呢? 用云开发不就是为了快速上线产品,验证产品是否可行么。
价格贵😂
说实话,我也觉得价格贵,但如果能把代码优化好,控制好各种资源的使用量,依然还是有一点点贵。但是,只要不是贵得离谱,贵一点是能接受的,毕竟节省了精力,产品稳定。
文章观点到底是围绕《验证产品可行应该用云开发》还是《开发产品应立即选择云开发》?只讨论腾讯云开发,就按这低消 19.9/月的标准验证一两款产品也不便宜啊。按量就按量,来个低消是什么意思呢?就这一点改变已经扼杀了无数个人开发者选择微信云开发了吧。云服务器也有按量的,也不会设门槛。作为做早一批尝试腾讯云开发(准确说是微信云开发: cloud.weixin.qq.com/cloudbase )的开发者,回看从云开发转到 ECS ,真的是明智之举。按现在这运算量请求数,账单就得爆了。
另外再补充一下:早期的微信云开发就是纯按量付费,19.9 的低消是后来强制改的规则,真的是无法让人接收,当时社区多少开发者包括一些挂着社区勋章的优秀社区贡献者吐槽,官方完全不理会,让人寒心。
云开发 最大的问题是,后期一个不小心,你就破产了。
腾讯自身基于云开发也开发了一些面向开发者的产品,有几款都放弃不维护了。这样做产品感觉就是过家家一样,怎么让开发者放心选择。
文章并没有说云开发便宜,也没有给出云开发贵不贵的结论,并且也详细讨论了云开发的调用次数如何产生费用。毕竟贵不贵要看你的业务,看你的代码怎么写,不能一概而论。
“云开发 最大的问题是,后期一个不小心,你就破产了。”这个问题我想大家都担心,大家都会遇到,这种问题属于基础安全问题,随着时间的推移会有好转。
“有几款都放弃不维护了”有哪几款? 能具体指出来吗?
云开发 最大的问题是,后期一个不小心,你就破产了。 #62 那么到好转的这个阶段,不敢尝试啊
This id is extremely biased 只会让我去想 什么 腾讯要砍云业务了?
你说的这个问题,其实我也是担心的,但用什么解决方案都会有自身的问题是吧。
50 元一年的 2 核 2g4m 的小机子啥不能跑,还不用被约束,想迁移走就迁移走。
是的,但我在文章中强调的是开发体验,不是哪个省钱
不就是推广软文?被平台绑架了有什么开发体验?涨价他说了算,你不搬走就花精力重构
用过腾讯云 serverless 和 cloudbase 一段时间,后来涨价了,官方维护的 WordPress 调试很不方便,还各种错误,就弃用了,如果是主要基于微信生态的业务,免鉴权的云开发当然很好,各自收费感觉不太透明,各种收费细节,还老是担心会被刷出一大堆账单如果有其他平台和 web 前端展示需求,云主机比 cloudbase 更划算太多了,主要瓶颈加个云数据库够了。
例如数据库表可能存放有 30 列,本身是列式存储。 实际的查询场景可能每次查询 5 列,且组合可能不一样。 如果用 jpa projections 可能面临需要定义一堆 ent…
后台项目,有个后门接口是用来修复某些状态异常的数据,使用频次也不高。因为一些原因,这个功能不能放在管理系统上,需要使用的时候,运维上去 curl 执行一下。 平常一说到后门,一…
面试的时候面试官问如何复制数组、对象,我巴拉巴拉说,说完突然问我那如何复制一个函数呢? 我瞬间闷逼了,能想到的原型链上下手,但是似乎也不是什么好的解法,面试官提示说你能想到的…