云开发初探 —— 更简便的小程序开发模式 (3)

第三,我们对比一下在小程序端调用资源。以上传文件为例,旧的开发模式,小程序端,你需要用 wx.chooseImage 还有 wx.uploadFile 小程序接口,后台要部署业务框架、路由,还有写逻辑上传到腾讯云的对象存储,你还要考虑这个后台服务的性能与安全,万一用户量峰值很大怎么办,有黑客攻击怎么办。

img

云开发模式-上传文件

而云开发的例子,则极为简单,十几行代码,就可以写出安全、性能好的代码上传逻辑!

img

假设开发者是一个菜鸟,只懂 JavaScript 基础,对比下来,传统的开发模式,前端耗时2分钟开发,1小时联调,后台框架、逻辑和联调一共8小时,运维,要花一整天时间去学,总共要花1142分钟,对比只要写2分钟就能完成的云开发模式,足足是云开发耗时的571倍!

img

旧开发模式-插入数据

最后,我们来对比在服务端里插入数据。这里的服务端里指的包括有云函数、还有你自己买的服务器。旧模式下,小程序端要用一个 wx.request 发送请求到后台,后台搭建好框架、路由等服务之后,开始写插入数据到腾讯云MongoDB实例的逻辑,自然也是需要考虑服务的性能与安全。

img

云开发模式-插入数据

而云开发的新模式,十几行代码,就可以开发出性能好、安全性高的插入数据逻辑。

img

假设开发者是一个菜鸟,对比下来,传统的开发模式,前端要花31分钟进行开发与联调,后台要用6小时部署服务开发逻辑还要30分钟联调,而运维的话从学习到会用大概也得10小时,基本上是云开发模式耗时的1000多倍。

从代码、耗时等多个方面去对比新旧两种开发模式,我们可以发现,云开发是绝对的碾压。

小程序·云开发背后的技术力量

img

大家现在知道了无服务开发是未来的开发新趋势,带有无服务特性的小程序云开发带来的各种各样的好处,那么腾讯云在背后,做了些什么技术进行支撑呢?

img

架构上,一个请求操作从小程序端,通过微信后台,一直到腾讯云这边的云开发服务层,云开发服务层调用的这些数据库、存储、云函数,其实都是基于腾讯云的各种基础服务。在这个请求通路上面,微信会将小程序的用户 openid, 小程序 appid 直接带过来,将用户的信息写到云函数、数据和文件元信息里面,为更方便的权限控制打下基础。

img

另外,既然是复用了腾讯云的基础资源,那自然是具备了云资源的特性。比如存储自动接入了 CDN 加速, 数据库天然就带有自动备份、无损恢复等功能,云函数有弹性伸缩、多地可用的特性,能响应峰值不同的服务。而云开发服务层,我们也做了负载均衡、并且与微信后台进行就近接入,让性能更好。

img

目前云开发正式上线5天(注:9月10日深夜发布,掘金技术大会是在9月16日),我们的服务所支撑的 API 日调用量最大的单个小程序,已经达到 1000W+ 的调用量了,这个调用量是什么概念呢?一般只有BAT,一些高频使用的独角兽开发的小程序才能达到这个调用量级。因此90%以上的小程序用我们这个服务都是没有问题的。

推荐实践

img

讲一项技术,除了讲功能、讲底层,其实更重要地说讲怎么去用这门技术去实践。接下来,我会介绍一些我们推荐的实践方式,但我只会是点到为止,我们其实更希望社区能基于云开发,做出更多更好的实践。

第一点是资源操作的推荐实践。

img

小程序端

img

服务端

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpswwf.html