V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sdjl
V2EX  ›  推广

《为什么你应该立即使用云开发写小程序?》

  •  
  •   sdjl · 157 天前 · 5550 次点击
    这是一个创建于 157 天前的主题,其中的信息可能已经有所发展或是发生改变。

    受腾讯工作人员约稿,写了一篇文章。

    本篇文章介绍了微信小程序云开发的诸多优势,包括无需维护服务器、一键部署、前端直接读写数据库和统一的 JavaScript 语言环境。同时,文章详细解释了云开发的计费方式和如何降低费用的技巧,并强调了数据库设计应优先服务于写代码的体验。通过云开发,开发者可以将更多精力投入到创造性工作中,实现工作与生活的平衡。

    文章发到了微信开发者社区,如果你正在开发微信小程序,正在犹豫要不要切换到云开发,可以看看这篇文章。

    点击跳转至微信社区:《为什么你应该立即使用云开发写小程序?》

    第 1 条附言  ·  148 天前
    文章已被小编修改后发布到腾讯官方公众号: https://mp.weixin.qq.com/s/Ucnlyjcc6ceAuoLLiG6ktg
    70 条回复    2024-06-28 19:44:32 +08:00
    wonderfulcxm
        1
    wonderfulcxm  
       157 天前 via iPhone
    除了腾讯还有别的云开发平台吗
    sdjl
        2
    sdjl  
    OP
       157 天前
    @wonderfulcxm 有啊,多啊,但是本文只介绍了腾讯云
    28Sv0ngQfIE7Yloe
        3
    28Sv0ngQfIE7Yloe  
       157 天前
    配的 AI 图都不咋地,有点影响阅读
    LuckyLauncher
        4
    LuckyLauncher  
       157 天前   ❤️ 17
    为什么你应该立即使用云开发写小程序?
    因为腾讯要靠云开发恰饭
    sdjl
        5
    sdjl  
    OP
       157 天前
    @Morii 是咯,我用 DALL-E-3 画的
    gzyguy
        6
    gzyguy  
       157 天前
    印象很深的是小程序云开发有查询限制,搞得比较烦,不知道现在升级了没有:
    Collection.limit()
    在小程序端默认及最大上限为 20 ,在云函数端默认及最大上限为 1000 。
    Collection.get()
    小程序端:如果没有指定 limit ,则默认且最多取 20 条记录。
    云函数端:如果没有指定 limit ,则默认且最多取 100 条记录。
    也就是说,想获取多的数据是需要分批请求。
    自从迁移到自建服务后,没有 api 的限制简直通透的爽了。
    Chad0000
        7
    Chad0000  
       157 天前 via iPhone
    千万不要基于云开发,你至少基于 docker ,保证“自主”
    sdjl
        8
    sdjl  
    OP
       157 天前
    @gzyguy 查询限制可以突破的,前后端都可以,使用 Aggregate
    registerrr
        9
    registerrr  
       157 天前
    云开发最开始给了一定免费额度,然后把小程序后台移过去了。结果狗腾讯把免费额度直接砍了,一个月哪怕没有一次请求也得掏钱,低消 19.9
    sdjl
        10
    sdjl  
    OP
       157 天前
    @registerrr 一个月 19.9 元,可以共享给 10 个小程序,平均一个 2 元/月。
    xiangyuecn
        11
    xiangyuecn  
       157 天前
    《介绍了 “数据库的设计要优先服务于写代码的体验” 的理念。》:

    “1 。合理设计数据库结构,减少读写次数。例如,当显示一个商品详情页时,要尽可能仅读取一次数据库,这就要求设计数据库时,把商品的基本信息、商品图片、用户评论等都放在同一个数据文档中。”

    “8 。宁可存储冗余数据,也要减少数据库的“调用次数”。例如,一个商品的用户评论,可以把用户的头像、昵称和评论内容都存储在商品文档中,而不是存一个用户 id ,然后再用 id 去用户表中读取用户的头像、昵称。什么,你说万一用户修改了昵称或头像怎么办?请看下一个建议。”

    “9 。能不 update 的就不要 update 。毕竟用户修改头像和昵称并不影响其他人阅读商品评论,如果用户修改了头像和昵称,那么他在商品评论中的头像和昵称不更新也没关系。这不仅仅是为了减少“调用次数”,更重要的是能不写的代码就不要写。”

    “不要想着你的产品将来可能会有很多人用,如果真的有很多人用,你再花时间去重构代码也不迟,我相信到时候你不会嫌弃这点工作量的。”

    挖坑理论🐶
    sdjl
        12
    sdjl  
    OP
       157 天前
    @xiangyuecn 提前优化是万恶之源。
    xiangyuecn
        13
    xiangyuecn  
       157 天前
    @sdjl 跟提前优化搭不上边。
    sdjl
        14
    sdjl  
    OP
       157 天前
    @xiangyuecn 那你想表达什么呢?
    whileFalse
        15
    whileFalse  
       157 天前
    @sdjl 其实用云函数开发就已经是提前优化了。。。。
    @xiangyuecn 如果你要面向超低成本设计你的产品,那么是有必要学会适合这种场景的新架构的。
    @registerrr 如果一个产品一个月都挣不到 20 块钱,那还是砍了吧,你的时间都不止 20 块钱的一百倍了
    sdjl
        16
    sdjl  
    OP
       157 天前
    @whileFalse 用云函数主要是两个问题,一个是数据库权限的限制,一个是不想让别人看见代码。
    yKXSkKoR8I1RcxaS
        17
    yKXSkKoR8I1RcxaS  
       157 天前
    Docker 都不靠谱,更别说云
    lekai63
        18
    lekai63  
       157 天前
    小程序上架要求的资质啥的还比较多。。。
    sdjl
        19
    sdjl  
    OP
       157 天前
    @Seria

    1. 为什么说 Docker 不靠谱?
    2. Docker 不靠谱和云开发有啥关系?
    sdjl
        20
    sdjl  
    OP
       157 天前
    @lekai63 这个还好吧,一回生两回熟。
    whileFalse
        21
    whileFalse  
       157 天前
    @sdjl 不想让别人看见代码是指什么,后端代码只能腾讯看到吧,你是说这个吗?
    sdjl
        22
    sdjl  
    OP
       157 天前
    @whileFalse 前端代码其他人是可以看见的,就可以下载盗用。 云函数的代码一般别人拿不到,能防止别人复制你的代码使用。
    DiamondYuan
        23
    DiamondYuan  
       157 天前 via Android
    @wonderfulcxm

    比如说支付宝小程序云,也支持云开发。

    可以发布 http 接口
    xiaowoli
        24
    xiaowoli  
       157 天前
    有一个场景用云开发很合适:短信跳转小程序
    OvO88
        25
    OvO88  
       157 天前
    调用次数收费太贵了。我目前用 19.9 的套餐,但是一个月调用次数远不止 20 万次,每个月按量计费的部分还得给再给 40 快左右
    OvO88
        26
    OvO88  
       157 天前
    我用云开发的原因只有:方便调用内容审核接口和直接获取 openid
    version
        27
    version  
       157 天前   ❤️ 4
    拉去推广节点吧..云开发 serverless 纯正收割小白产品..霸王硬上弓无敌调价上涨几次了...调用次数收费.流量收费..还有大头的 redis 数据库那些呢..代码部署还是特定平台部署妥妥的卡脖子...99 元买个年付主机多爽..
    loveshuyuan
        28
    loveshuyuan  
       157 天前   ❤️ 1
    自己开个服务器用 docker 部署不比什么云开发强多了
    yangzzzzzz
        29
    yangzzzzzz  
       157 天前
    小程序的云函数还有数量限制吗,22 年时候领导让搞小程序云开发 函数有数量限制,后面通过二级路径+method 拓展的,不过后面我跑路了
    sdjl
        30
    sdjl  
    OP
       157 天前 via iPhone
    @OvO88 文章中有介绍如何降低调用次数
    OvO88
        31
    OvO88  
       157 天前
    @sdjl 有个类似信息流的东西,用户刷呀刷,调用次数就上去了
    lstz
        32
    lstz  
       157 天前 via Android
    蛋蛋被捏住以后就很难动弹了
    sdjl
        33
    sdjl  
    OP
       157 天前 via iPhone
    @OvO88 用数据库的 watch 功能推送消息可降低调用次数
    zhjx922
        34
    zhjx922  
       157 天前
    想加个 redis,成本就可怕了
    wzdsfl
        35
    wzdsfl  
       157 天前
    写完了之后不想用了怎么办,迁移成本多高啊,把自己的命脉放在 tx 手里,没有好下场
    sdjl
        36
    sdjl  
    OP
       157 天前 via iPhone
    @wzdsfl 你想得太远了吧
    weijancc
        37
    weijancc  
       157 天前
    以前推广期免费用过, 确实方便, 但是后来不在免费, 从定价来看实在太贵了, 不如自己买服务器划算...
    whileFalse
        38
    whileFalse  
       157 天前
    @sdjl 你用不用云函数后端代码都看不见啊。
    sdjl
        39
    sdjl  
    OP
       157 天前
    @weijancc 也就是说,你还是嫌一个月 19.9 元贵是吧? 请问一下这个费用占到你月收入的百分之几?
    retrocode
        40
    retrocode  
       157 天前
    云开发的问题在于后端管理, 侧重小程序或纯小程序弱后台管理还好, 重后台管理, 对接就是个麻烦事, 该有的一个都跑不了, 还不如一开始就传统后端了.
    yxhzhang185
        41
    yxhzhang185  
       157 天前
    云厂商现在和绑匪一样,等你把代码和数据迁移上去后,立刻开始上强度。
    retrocode
        42
    retrocode  
       157 天前
    之前基于 uniCloud 做过个项目, 初期开发的确很爽咔咔整完, 后台基于 uni-admin 开发, 生态绑架非常明显, 后期运营起来后, 发现首先运营脚本就是个麻烦事, 运用老哥攒的一堆乱七八糟各种语言的脚本根本没法用, 全部得重新写, 还有一些其他系统甚至语言开发的系统对接, 原本可以同一台服务器部署端口调用即可, 现在得额外适配或转发, 不然太慢了(云服务调我们私有服务器). 一堆大大小小的问题.

    目前总结下来唯一优势是不用考虑并发问题, 小程序初期大规模推广时只管充值不用大半夜起来重启服务器或者扩容这种.

    至于低消我 19.9 我觉得 OP 的比喻是不对的, 首先正常人除了外包老哥没人会没事整 10 个小程序挂那对吧...这玩意矛盾点在于同等价格的轻量云别说 10 个 20 个我都随便挂, 大家都是吃灰, 但是云开发只能用来做业务.对于个人来说.

    要是纯按量计费也是不错的选择, 至少会有很多人愿意尝试, 可这玩意整低消 19.9 起就让人比较反感了.
    caocong
        43
    caocong  
       157 天前
    之前一个小程序本来想用 CloudBase 试试的,结果折腾了一会发现 nodejs 默认 16 ,最高 18 ,我有 20 版本以上才能用的 api ,只有放弃了
    weijancc
        44
    weijancc  
       157 天前
    @sdjl 我以前用的时候还没有这个 19.9 套餐, 开始收费时是按量收费, 每个量的价格都高于平均值
    BeijingBaby
        45
    BeijingBaby  
       157 天前
    有人写一篇《为什么你永远不应该使用云开发写小程序?》吗
    iOCZS
        46
    iOCZS  
       157 天前
    约稿容易变舔狗,慎重
    sdjl
        47
    sdjl  
    OP
       157 天前
    @retrocode "重后台管理, 对接就是个麻烦事"

    是的,目前如果小程序后台比较重,我也不建议使用云开发,毕竟开发后台这件事就麻烦,最后又搞一台服务器来运行后台,没必要用云开发。
    sdjl
        48
    sdjl  
    OP
       156 天前
    @retrocode “要是纯按量计费也是不错的选择, 至少会有很多人愿意尝试, 可这玩意整低消 19.9 起就让人比较反感了.”

    小程序企业认证每年 300 元你怎么看?
    sdjl
        49
    sdjl  
    OP
       156 天前
    @BeijingBaby “有人写一篇《为什么你永远不应该使用云开发写小程序?》吗”

    期待你来写,然后记得把链接发到我的文章评论区,哈哈。
    sdjl
        50
    sdjl  
    OP
       156 天前
    @iOCZS “约稿容易变舔狗,慎重”

    我只关心文章是否真的能帮助到别人,这里的别人是指其他开发者,如果有帮助,就继续写,没有帮助,就不写了。
    sdjl
        51
    sdjl  
    OP
       156 天前
    @yxhzhang185 “云厂商现在和绑匪一样,等你把代码和数据迁移上去后,立刻开始上强度。”

    我觉得这个东西一定要把代码写好,要尽可能优化代码,能一两次调用解决的问题,千万不要写成几十次调用,如果这样写,肯定会很贵。
    yxhzhang185
        52
    yxhzhang185  
       156 天前
    @sdjl 嗯程序员的责任
    teem
        53
    teem  
       156 天前
    但凡冲着做好做大的目标去的,都不应该选择云开发。
    俩原因:
    1 、资费
    2 、可扩展性
    sdjl
        54
    sdjl  
    OP
       156 天前
    @teem 你怎么能假设自己能做大做强呢? 用云开发不就是为了快速上线产品,验证产品是否可行么。
    SayHelloHi
        55
    SayHelloHi  
       156 天前
    价格贵😂
    sdjl
        56
    sdjl  
    OP
       156 天前
    @SayHelloHi 说实话,我也觉得价格贵,但如果能把代码优化好,控制好各种资源的使用量,依然还是有一点点贵。

    但是,只要不是贵得离谱,贵一点是能接受的,毕竟节省了精力,产品稳定。
    teem
        57
    teem  
       156 天前
    @sdjl 文章观点到底是围绕《验证产品可行应该用云开发》还是《开发产品应立即选择云开发》?只讨论腾讯云开发,就按这低消 19.9/月的标准验证一两款产品也不便宜啊。按量就按量,来个低消是什么意思呢?就这一点改变已经扼杀了无数个人开发者选择微信云开发了吧。云服务器也有按量的,也不会设门槛。

    作为做早一批尝试腾讯云开发(准确说是微信云开发: https://cloud.weixin.qq.com/cloudbase )的开发者,回看从云开发转到 ECS ,真的是明智之举。按现在这运算量请求数,账单就得爆了。
    teem
        58
    teem  
       156 天前
    另外再补充一下:早期的微信云开发就是纯按量付费,19.9 的低消是后来强制改的规则,真的是无法让人接收,当时社区多少开发者包括一些挂着社区勋章的优秀社区贡献者吐槽,官方完全不理会,让人寒心。
    tanranran
        59
    tanranran  
       156 天前
    云开发 最大的问题是,后期一个不小心,你就破产了。
    teem
        60
    teem  
       156 天前
    腾讯自身基于云开发也开发了一些面向开发者的产品,有几款都放弃不维护了。这样做产品感觉就是过家家一样,怎么让开发者放心选择。
    sdjl
        61
    sdjl  
    OP
       156 天前
    @teem 文章并没有说云开发便宜,也没有给出云开发贵不贵的结论,并且也详细讨论了云开发的调用次数如何产生费用。

    毕竟贵不贵要看你的业务,看你的代码怎么写,不能一概而论。
    sdjl
        62
    sdjl  
    OP
       156 天前
    @tanranran “云开发 最大的问题是,后期一个不小心,你就破产了。”

    这个问题我想大家都担心,大家都会遇到,这种问题属于基础安全问题,随着时间的推移会有好转。
    sdjl
        63
    sdjl  
    OP
       156 天前
    @teem “有几款都放弃不维护了”

    有哪几款? 能具体指出来吗?
    tanranran
        64
    tanranran  
       156 天前
    云开发 最大的问题是,后期一个不小心,你就破产了。
    @sdjl #62 那么到好转的这个阶段,不敢尝试啊
    YsHaNg
        65
    YsHaNg  
       156 天前 via iPhone
    This id is extremely biased 只会让我去想 什么 腾讯要砍云业务了?
    sdjl
        66
    sdjl  
    OP
       156 天前
    @tanranran 你说的这个问题,其实我也是担心的,但用什么解决方案都会有自身的问题是吧。
    belin520
        67
    belin520  
       155 天前
    50 元一年的 2 核 2g4m 的小机子啥不能跑,还不用被约束,想迁移走就迁移走。
    sdjl
        68
    sdjl  
    OP
       155 天前
    @belin520 是的,但我在文章中强调的是开发体验,不是哪个省钱
    PerFectTime
        69
    PerFectTime  
       155 天前
    不就是推广软文?被平台绑架了有什么开发体验?涨价他说了算,你不搬走就花精力重构
    linyongxin
        70
    linyongxin  
       155 天前
    用过腾讯云 serverless 和 cloudbase 一段时间,后来涨价了,官方维护的 WordPress 调试很不方便,还各种错误,就弃用了,

    如果是主要基于微信生态的业务,免鉴权的云开发当然很好,各自收费感觉不太透明,各种收费细节,还老是担心会被刷出一大堆账单

    如果有其他平台和 web 前端展示需求,云主机比 cloudbase 更划算太多了,主要瓶颈加个云数据库够了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2590 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 03:02 · PVG 11:02 · LAX 19:02 · JFK 22:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.