收藏
评论

从想法到上线千万访问量的产品,1个开发就搞定,如何做到?官方

11月29日,腾讯云与微信小程序团队联合举办的第二届小程序·云开发技术峰会在北京举行,在会上有众多来自不同行业,不同实践者的案例分享,讲述了各自与云开发的故事……


每一个准确把握技术浪潮的人,都是时代的幸运儿。

本篇课程,和大家分享群登记助手的云开发实践案例与经验。


群登记助手

因为今年疫情,线下多种场景需要登记,且大多是接触式登记,为了避免接触风险。所以我做了这款「群登记助手」,实现零接触的云登记。那么它有什么功能呢?

主要分为三个核心模块:

第一,作业登记:主要解决线上交作业,自动统计提交情况,批改及评价作业;且支持图文、视频、语音多种作业类型。

第二,报名接龙:支持健康信息接龙、班级接龙、报名接龙,可自定义收集表单项,及在线导出数据。

第三,出入登记:用于社区、小区、医院、学校、公司扫码出入登记防控管理,做到无接触式登记。

到目前为止这款产品一共为 12 万收集者赋能,帮助他们收集登记信息。累计收集近 600 万份登记数据,达到数千万次访问,实现无接触登记,将接触风险降至为 0


技术架构

接下来,我们来看看这个项目背后的技术架构。


首先小程序端采用的是原生的写法,自己封装了一些常用组件,然后还抽出了一个 API 层,专门用于云函数的管理。

举个业务场景:学生需要登记作业,老师要求上传作业照片。这个时候小程序直接调用云存储的接口进行图片存储,存储成功后获取到一个图片地址;小程序在用这个地址请求云函数,存储到云数据库当中。


在这个过程中为了内容安全得到保障,还会用到云调用的文字内容检查接口和图片内容检查接口。


除此之外还用到了云扩展的一些应用。如:

内容管理系统:方便开发人员和内容运营者,随时随地管理小程序云开发内容数据。

博客系统:用于作为官网,记录并分享产品迭代及产品使用教程。

图片处理:主要是用它的快速压缩模版,为了减少 CDN 流量消耗。


说完技术架构后,我们再来看下这套架构的整体性能表现。从性能体验报告来看,无论是启动性能,页面加载性能,还是接口性能,网络性能及多媒体性能表现都非常不错的,综合性能评定为优秀。


心路历程

接下来,我再说说在技术选型时的心路历程。


这款产品想法诞生的时候,我其实是有一些顾虑,主要因为两个方面:

第一,我没有做过后端开发,也不懂服务器运维。

第二,域名备案,小程序后台接口请求需要配置已备案的 https 域名,而备案域名至少需要一周左右的时间。


通过这两个问题引发了我的一个思考,我怎么样才能更快的上线呢?不懂后端开发,有想过找一个后端开发合作。先不说别人愿不愿意,就算愿意,沟通成本也非常高。


域名备案时间难道只能等?大家要知道,一款产品上线速度十分重要。特别没有资源的独立开发者,上线的时间越早越好,才能获取到更多到用户。


我灵光一现,想到了云开发解决方案。它完美的解决了我的刚提到的两个问题:


第一,无需服务器搭建和运维。因为云开发是云端一体化的后端云服务 ,采用 serverless 架构,免去了服务器搭建和运维。

第二,它无需配置业务域名,直接调用云函数里面即可。解决域名备案等待时间过长的问题。我只需要做好业务代码实现就够了所以我选择了云开发。最后很快就上线了。


第一版开发,我 1 个人仅用了 3 天时间,并且这 3 天还是下班之余的时间。从 2 月份这个项目启动,到现在经历了 9 个多月的时间,一共累计 40 多次迭代。而在这段时间里云开发本身也在不断的优化。


说完技术选型的心路历程,再说说我在实践中的小插曲

在上图中,CDN 流量消耗和存储读请求次数特别大,这是因为在大量的登记里面上传图片需求非常高频,加上当时群登记助手日活高达 4w。使得我原本采购的 CDN 3(2199/月)套餐完全抗不住这个 CDN 消耗。


所以我直接升级到旗舰 3 套餐。这个套餐每月 4699/月,对于一名独立开发者来说,这个成本非常高。


于是我在「微信开放社区」进行了提问,我说什么时候能推出按需计费?当天就得到了官方人员的回复,已经支持了。

在迅速切换完成按量付费模式后,效果很明显,成本直接从每个月 4699 降低到了 2 千多,整体费用降低了 1 倍。


但是这成本还是有点小贵。后来经过云开发团队的不断的迭代优化,推出了云扩展的【图片处理】服务。我使用了图片处理服务的快速压缩模版,使得成本再一次的降低。上次是 1 倍,这次是 10 倍,从原来的 2249 变成了现在的 2 百多,这个成本可以说很低了。


上手建议

说完小插曲,我相信你一定迫不及待的想要学习云开发了,那我就聊聊快速上手云开发的小建议。


推荐你 3 个官方学习网站。


第一,官方文档,写的非常详细。每个都有案例,代码 copy 过来改一改参数就直接能用,相信这让会让你更快的上手实践。

第二,如果你不喜欢看文档,腾讯云大学还出品了云开发的优质视频教程;文档可以作为类似字典的存在,用于查询具体技术的细节。

第三,其实就是我刚有提到过的「微信开放社区」。我在开发群登记助手的时候就在这里提了不少问题,问题响应速度非常快。

还有就是无论是文档还是教学视频,总会有些无法覆盖的问题。这个时候遇到问题就到社区提问。这里除了有很多官方人员回答,还有很多优秀的小程序开发者也会在这里,去解答问题和分享一些开发经验,社区整体氛围很不错。


我在这个社区也比较活跃,回答过上千个问题,在这里我想说两个提问技巧,能有效提高你解决问题的速度。


第一,提问之前先搜索,也许你的问题已经有解决方案了,就没必要再次提出重复的问题。

第二,提问尽量把问题描述清晰一些,如果有关代码的问题,最好附带上代码片段。这样便于回答者更快速解答问题。


总结

最后说下自己的感想,我相信每个程序都有想做一款好产品的梦想,云开发就像这个梦想的助力器,在我们开发产品过长中,极大程度地降低了开发成本。

感谢云开发,让曾经不可能一个人能完成的任务,现在变得十分简单!

云开发,让开发者成为真正的全栈工程师,感谢你阅读我的分享。


作者简介:
腾讯《小程序云开发挑战赛》职业组第一,Android 知名开源库 BRVAH 作者,公众号「码个蛋」主理人。通过云开发开发过 10 多款小程序,累计访问量超千万。
本文编辑自云开发峰会现场讲稿,有些文字进行了书面化处理,并匹配结合现场PPT
最后一次编辑于  2020-12-16
赞 15
收藏

3 个评论

  • 陈宇明
    陈宇明
    2021-05-08

    感谢官方推荐

    2021-05-08
    赞同 8
    回复
  • 小明与海
    小明与海
    2023-10-24

    云开发默认后台是nodejs?

    2023-10-24
    赞同
    回复
  • 尹伟宽
    尹伟宽
    发表于移动端
    2021-11-25
    https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html
    2021-11-25
    赞同
    回复
登录 后发表内容

云开发企业案例介绍

课程标签