10个月发布349次版本,如何炼就千万PV的微信小程序?
10个月发布349次版本,这要是让开发人员看见,一定以为是在开玩笑,内心OS“什么开发团队经得起这么折腾?”
答案就是微信读书。雷锋网 (公众号:雷锋网) 了解到,微信读书上线10个月以来,微信小程序已累计获客数千万,日均PV过千万,迭代最频繁的6月份,微信读书H5迭代了18个版本,小程序迭代了65个版本。
微信读书小程序负责人姚海波介绍,“APP要4个开发同学同时开发8天才能发布功能,H5是2个开发同学用时6天可以发布。而小程序,我们用了1.5个人,花了5天的时间。换算一下开发效率,小程序开发效率是对应APP和H5的4倍与2倍。”
让微信读书大变样的云开发,与小程序结合,将迸发出怎样的乘数效应?
从Node框架转向云开发
什么是云开发?顾名思义,云开发就是基于云计算的新型软件开发模式。“小程序·云开发”是腾讯云和微信团队联合开发的,集成于小程序控制台的原生Serverless云服务,核心功能包括云存储、云数据库和云函数。
也许云开发的概念还不够普及,但是Serverless(无服务器) 的发展已经有数年,最早在2010年相关概念被提出,2014年AWS率先推出了lambda服务,把Serverless产品化,随后微软、Google和IBM也在2016年推出了自己的Serverless 产品:Azure function、GCP 和 OpenWisk。
国内方面,阿里云和腾讯云在2017年推出了Serverless产品,腾讯云的推出时间比阿里云早一天。
2018年,腾讯云联合微信,推出了基于 Serverless 的产品“小程序·云开发”,用来协助用户快速的开发小程序。姚海波团队表示,从2018年9月份其开始了解云开发,2019年3月份开始了尝试引入的过程。
微信读书小程序上线之初,由于原先使用的Node框架上线流程繁琐、面对突发流量运维响应慢以及开发人力不足等原因,开发效率极低。
实际上这也是传统开发模式的共性弊端:
-
开发效率低:过多的非业务逻辑需要处理,导致开发效率难以提升;
-
资源投入高:无论是物理机托管,还是云主机维护,都需要较多的人力物力投入;
-
产品上线慢:前后端联调、资源存储、部署等操作繁杂,上线流程耗时长;
-
日常运维难:需时刻关注环境运行状况,管理相关资源,运维难度大。
后来,微信读书小程序转向“小程序·云开发”,通过“小程序·云开发”,前端代码和服务端代码共存在一个项目中,同样的技术栈、同样的IDE环境,可以调试开发更高效,而且经微信读书团队评估,云开发模式的成本会比自建Node服务器便宜很多。
云开发的核心功能中,云函数就是在云端运行的代码,也最为实用,“小程序·云开发”天然与微信有私有协议,安全性方面不用考虑。另外通过 L5 和HTTP 协议打通了腾讯内网,相当于小程序调用云函数,云函数调用微信读书的后台。
同时,云函数支持动态扩容,可以完美支持瞬间增长的运营类业务,为业务的快速增长提供了保证,避免出现爆款瞬时流量直接挤爆服务器的现象。
打开微信读书小程序,目力所及的大部分功能其实都已经转向了云开发,比如用户最喜欢的“读书小队”活动,读书小队采用独立结合云函数和云存储、云数据库的方式,基本不需要后端后台。
“云函数+云数据库的模式更适用于单纯独立的业务,像读书小队和答题游戏,后续我们会逐渐地加入原有的自建NODE的模式,用云函数和云开发来承载”,姚海波表示。
“小程序·云开发”迈向企业级
腾讯云副总裁刘颖透露,截止目前,“小程序·云开发”已经有超过23万注册账户, 服务50多万开发者快速开发小程序。在活跃小程序开发者中,使用云开发者的开发者占到23%。
腾讯云副总裁刘颖
这代表作为新的开发理念,云开发在小程序端已经有了很好的落地实践,腾讯云也公布了“十大优秀实践”,主要分布在小程序服务商、企业应用、游戏开发等领域, 是“小程序·云开发”在各行业实际应用中的标杆案例。
例如微盟,即速应用等小程序服务商,将云开发集成于其原有后台,实现小程序 SaaS 快速满足客户定制化诉求,同时提升小程序运行效率;唯品会、猫眼电影小程序基于云开发构建业务中间层,聚合服务和数据,通过云开发提升业务运营效率;在游戏行业,白鹭引擎、千墨科技通过云开发提升小游戏上线 和迭代效率,解决小游戏运行时的多项问题。
从个人用户走向企业用户,是“小程序·云开发”正在经历的进化路径,同时也是腾讯产业互联网版图的一隅。
雷锋网获悉,“小程序·云开发” 下阶段的目标定位在企业开发者市场,目标是帮助企业提升生产力,从提供基础能力到面向企业场景服务,成为更专业的生产工具。
具体路线上,未来“小程序·云开发”会持续提升可用性、性能等基础能力,新增灰度发布、 权限控制、安全规则等企业级场景服务能力。同时,整合后端服务市场,形成一套接入标准,让开发者、服务商等可以非常便捷地搜索并调用“小程序·云开发”的能力。
对于现在的小程序使用者,具备一定开发能力的个人或者团队,在“小程序·云开发”的开放微信生态客服消息、服务端能力、开放数据等能力的基础上,还能使用到新增的订阅消息和微信支付能力,另外,“小程序·云开发”将于近期封装微信支付插件能力, 可以让开发者安全、便捷地使用微信支付能力,简单的几个云函数就可以实现各种功能。
对那些没有开发能力、需要委托第三方服务商进行开发的商家来说,“小程序·云开发”也提供了一种新的合作开发模式——通过“小程序·云开发”,商家可以将云开发能力授权给第三方开发者,让服务商将商家服务部署在云开发上,实现了各商家数据和后台的相对独立,彼此不会干扰,保障了数据安全。
云开发不只是后端服务
云开发让开发团队分工和成员能力发生了显著变化,姚海波介绍,以前其团队按照前端开发、Node开发和运维人员进行分工,现在前端负责全栈开发,团队成员除了前端技术,还更关注服务性能和稳定性,资源利用率等。
微信读书小程序负责人姚海波
“以读书小队为例,以前我们要做这样的业务,会有一个前端的同学,一个后端的同学,NODE服务的同学和运维的同学,现在有了云开发之后我们需要关注的仅仅是前端的业务代码和云开发的部分就可以了,至于后面安全性的数据容量的问题,负载均衡的问题都可以交给更专业的团队”,姚海波如是说。
从直接作用层面,“小程序·云开发”整合了腾讯云的基础能力和小程序开放能力,以及超过 150 个开放接口,能够让开发者在开发小程序时从繁冗的开发配置工作中解放出来,仅需关注业务代码逻辑的编写,是一项后端服务的重塑。
但却不止于此,小程序本身依托于微信体系,“小程序·云开发”也是包括小程序、公众号、微信支付在内的微信生态开发的解决方案,在链接B端服务提供商和C端微信用户中扮演着重要角色。如果说微信是链接平台,“小程序·云开发”就是B端和C端开发者的技术加速器。
刘颖还表示,腾讯云更像是微信的一个助手,腾讯云在背后提供很多基础产品和技术能力去帮助微信,在整个生态上面去建设它的竞争力,去更好地服务于微信的生态,“小程序·云开发”,跟腾讯云的其他服务是一样的——把腾讯云的能力给到微信,让微信去服务于它的客户。 雷锋网
。