专栏首页云开发云开发在微信读书中的应用

云开发在微信读书中的应用

导语

今天是“世界读书日”。通过读书,我们不断拓展自己的认知,锤炼自己的思想。随着时代发展与技术进步,我们的阅读习惯发生了很大的改变,我们渐渐习惯了不同的方式,而其中微信读书给电子书的受众提供了很大帮助。今天我们就来聊聊云开发在微信读书中是怎样运用的。

2019年10月19日,在首届「小程序 ·云开发」技术峰会上,微信读书小程序团队分享了云开发在其业务上的应用,详细介绍了小程序·云开发如何使开发更加敏捷,开发效率提升的基础上,为开发团队带来组织分工的优化。本文是分享内容的详细介绍。

2019年10月19日,由腾讯云与微信小程序团队联合举办的“小程序·云开发”技术峰会在北京召开。会上,微信读书小程序团队的姚海波带来了题为《云开发模式下的敏捷开发和组织分工》的精彩分享。

▌微信读书小程序简介

微信读书小程序,继承了App最核心的阅读功能,同时还作为了App对外分享和运营的最重要渠道,上线10个月,获客数千万,日均PV过千万。而且,团队基于“小程序·云开发”带来的效能提升,助力微信读书小程序上线10个月累计发布349次版本,开发效率分别是对应的APP和H5的4倍与2倍。

▌微信读书小程序使用了云开发的哪些能力?

在借助云开发进行微信读书小程序的具体开发时,我们主要使用了云开发的云函数、云存储和云数据库。

云函数是该小程序应用最多的一项,可以将其理解为在云端运行的代码,并拥有微信的私有鉴权,从而无需担心安全性问题,而且其还通过 L5 和 HTTP 的协议打通了腾讯内网,也就是说,相当于我们调用云函数,而云函数调用微信读书的后台,使得在内网即可跑通这一系列调用流程,节约成本。

云存储的应用方面,主要使用 CDN 进行内容分发等,而云数据库,也就是在云端的数据库,作为数据存储的工具。

▌为什么选择云开发?

那么,为什么选择云开发来进行微信读书小程序的开发呢?

主要有两个原因。一是团队在小程序开发方面经验不足,积累的Node框架也需更新,因此导致上线流程较为繁琐,速度也不太可观。二是团队人力不足,这也是比较客观也比较难解决的一个问题。

而云开发恰好完美解决了这两个核心痛点:

首先,云开发上手成本特别低,利于快速并入开发流程并投入使用中。其次,云开发与小程序结合得非常完美,原生性极强,便于小程序的快捷开发。

第三,云开发团队的服务特别精准与到位,问题响应特别快,尤其是我们在接入后反馈了很多个性化的问题,云开发团队也都及时和准确地为我们解决,因此使用体验很棒。

最后,也是非常重要的一点是云开发的服务特别稳定,这也是我们后面坚定不移选择云开发的原因之一。因为一项业务的快速发展离不开稳定的服务,倘若优质内容缺少持续稳定的服务支持,也很难成为真正的爆款,云开发就很好地规避了这一风险。

除此之外,我们还考虑了性价比问题,经过评估发现,使用云开发要比自己搭建 Node 服务器的性价比高很多。

由此,我们综合多方面考虑毫不犹豫地选择了云开发作为微信读书小程序的开发支持。

▌云开发的具体应用——以“读书小队”为例

在了解云开发的能力并选择使用后,云开发究竟应用在微信读书小程序的哪些场景中呢?

其实该小程序的绝大部分功能都应用了云开发,这里就以三个较为典型的功能和场景为例介绍。一个是“一答到底”活动(通过闯关答题形式科普知识、解锁奖励的活动);另一个是“翻一翻”活动,这也是我们曾经做的一个爆款活动,当时因为受限于服务的问题没能发展下去,但是应用云开发我们成功将其迁移到小程序端。

还有就是“读书小队”功能,这是一项可与朋友组队通过阅读、互动等方式获取团队积分获取奖励的活动,在技术实现方面,此项功能会调用数据到后台,其独立地结合了云函数、云存储和云数据库,基本上不需要后端后台的部署。而云函数+云数据库的模式更适用于单纯独立的业务,像读书小队和答题游戏这种,后续我们会逐渐地加入原有的自建NODE的模式,用云函数和云开发来承载。

使用云开发的逻辑如下图,从小程序端获取的数据通过云函数、云存储等功能传输到Server后台,并生成业务发展数据的报表,相当于一套从后台到前端的完整服务。

▌云开发带来的优化与变革

云开发为我们的业务带来了什么样的优化与变革呢?

第一个,也是最直观的,那就是功能上线和迭代更快了。以往我们上线需要经历提单、归度、测试等一系列漫长的流程,而使用云开发完成上线只需 IDE(集成开发环境) 里完成面上传即可,大大的节省了时间成本。

第二是云开发的方便性。在以往的开发中,由于业务集成在一个IDE里面,而这时小程序、Node、后台往往各有一个项目,这就需要三个项目的负责人一起进行配合调试,沟通成本较高,而使用云开发后我们现在完全可以在一个IDE里面做完所有的事情就可以了。

第三个是服务的稳定性大幅增强。自从用了云开发之后,即使在运营活动使得数据大幅变动的情况下,也未出现宕机的情况。

最后,云开发大大节省了人力成本并优化了分工。云开发带来的不仅仅是业务上的优化,更是解放了开发人员的双手。使用云开发后,以往需要一名前端、一名 Node 以及一名运维同学负责的工作,现在交由一名开发人员即可完成。

在另一方面,在使用云开发后,开发者接触的技术面变广了,视野也更开阔,增加了很多学习和提升自身技术水平的机会,由此可以在一定程度上避免开发者停滞在舒适圈,例如,前端开发者可以接触到除了调样式、改界面之外的数据分析、服务的资源利用率等全栈层面的问题。

本文分享自微信公众号 - 腾讯云云开发(tcb2tcb),作者:微信读书小程序

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 半年用户数翻倍,腾讯云开发产品市场占有率行业第一

    ? 近日,2020年云原生线上技术大会上,腾讯云首次披露了在云原生领域取得的成果及云原生产品矩阵。其中,腾讯云开发产品在半年内用户增长了100%,活跃用户占微...

    腾讯云开发TCB
  • 实战视频01丨Web云开发快速开始

    云开发(CloudBase)是云端一体化的云服务平台,是国内 Serverless 理念的领先实践,使用云开发,开发者无须关心服务器搭建和管理,只需编写业务代码...

    腾讯云开发TCB
  • 有奖征集:云开发CloudBase的101种玩法

    Web 云开发是云开发面向 Web 场景的产品,已经上线数月。Web云开发采用 serverless 架构,免环境搭建等运维事务,为用户带来了极大的便利。

    腾讯云开发TCB
  • 动态规划之钢条切割问题:自低向上(Python实现)

    TrueDei
  • 如何正确评估项目开发时间

    一般情况下是因为我们评估的是直接的开发时间,而且是顺利情况、大家都了解需求,没有任何疑问和阻碍的情况下。实际上,这种非常顺利的场景基本不存在。

    RobinsonZhang
  • mysql1062错误: Duplicate entry '...' for key 'PRIMARY

    Duplicate entry ‘…’ for key ‘PRIMARY,即插入数据时,要插入数据的主键数据(…)已经存在,不能再重复添加了。例:Duplica...

    周小董
  • Python爬虫实例:爬取豆瓣Top250

    入门第一个爬虫一般都是爬这个,实在是太简单。用了 requests 和 bs4 库。

    丹枫无迹
  • 大众点评选腾讯 要钱更要未来

    腾讯战略投资大众点评终于尘埃落定。结果与传言基本契合:战略入股、独立发展、占股20%。各方人士均松了口气。点评为什么与腾讯战略合作,腾讯公布的信息可以归...

    罗超频道
  • strlen函数,strcat函数,strcpy函数,strncpy函数,strcmp函数

    strcpy函数: char *strcpy(char *Dest , const char *Src)   {       assert((Dest != N...

    猿人谷
  • 最受欢迎 Top 12 Python 开源框架,你都用过吗?

    今天给大家带来了12个在GitHub等开源网站中最受欢迎的Python开源框架。如果你正在学习python,那么这12个开源框架,千万别错过,这些框架包括事件I...

    CDA数据分析师

扫码关注云+社区

领取腾讯云代金券