之前也有听过serverless 无服务架构,包括微信小程序自从2018年就开始支持云函数开发。但是一直没怎么使用,我们自己仍然还是前端结合后端php来写api接口。直到上次,看一个公众号文章,推广云开发的。动了下念想,说来了解看看。于是看到uni-cloud的这一期推广文章,决定上他的官网去了解下。
最终知道的是uni-app,可以跨端开发多种系统,这次学习的云开发uni-cloud也是同一个公司的产品。看了uni-cloud的介绍,可以不用自己购买服务器,直接上手就可以开发。如果你不是非要做H5的应用,甚至你连域名都不需要购买了。全部使用uni-cloud提供的云函数全程开发完一个完整的系统。
在使用的过程中,总结下。使用云开发不需要自己添置服务器,直接上手就可以开发。而且使用uni-cloud提供的hbx编辑器,还可以支持你在本地调试云函数,不过全程需要联网,因为如果你需要连接数据库,还是需要调用远程的数据库,数据库使用的是mongodb,如果你有掌握过mysql,了解sql语句的,基本上看下uni-cloud提供的相关的api接口文档基本也会操作这个MongoDB的增删改查功能了。
一个云函数就负责执行一个或者若干个功能,但是uni-cloud提供的阿里云的云函数,限制只能创建48个云函数,但是我们自己写代码不可能就几十个函数或者接口功能的。那么怎么操作呢?这个时候就可以继续了解uni-cloud提供的一个插件功能,uni-cloud-router,这样就可以只要一个云函数,然后通过这个框架做代码分层 controller service层,甚至还可以自己继续分解model层。这样一个框架代码就搞定了,你想要写多少函数方法都可以了。
云函数开发虽然上手很快,不需要服务器,不用考虑负载均衡,但是依赖于云平台提供的各种功能。比如现在Redis,在云开发中,uni-cloud还没提供,如果有大并发量,还是需要直接查库了。uni-cloud官方也在发起投票,可以投票https://dev.dcloud.net.cn/wish/?channel=unicloud 官方会将下一步打算开发的功能列在上面,如果想要官方优先开发的功能,可以进行投票,选择你最想下一步开发的新功能。
上面介绍了云函数,通过云函数和刚才介绍的uni-cloud-router插件,就可以做所有的api接口开发了。增删改查调用数据完全不在话下。这样后端就完全搞定了,那么前端就直接使用uni-app开发,做一个小程序出来,完全就不需要购买服务器了。
那如果需要做h5网页或者PC店内网页呢?uni-cloud也有提供网页托管服务,将你开发好的html代码、js等传到这个网页托管空间里,使用uni-cloud提供的域名就可以访问,如果想要用自己的域名访问,也可以解析一个CNAME域名过去,这样就可以使用公司自己的域名访问了。
综上所述,一整套系统就全部开发完成。不管你是开发小程序,开发APP,还是开发网页,基本上用云函数,做云开发,全程不用接触服务器,只需要关注自己的业务代码就可以了。