【云开发】-云开发概述

前言

好,经过前面文章的一个介绍就了解了一下微信小程序的一个原生开发,那么了解完了微信小程序的一个原生开发之后,从这篇开始再来了解一下微信小程序的一个 云开发

那么什么是微信小程序的一个云开发?也很简单,这时候我们不管三七二十一,先来打开微信开发者工具,然后创建微信小程序,这个微信小程序它项目名称就叫 demo13,过去我在讲原生开发的时候,在创建项目时,后端服务 这个地方,是不是选择的都是不使用云服务,那么现在我要介绍这个云开发,你就要干什么?你就要选择微信云开发,选择使用云服务,选择云开发的一个基础模板,在这个基础模板当中发现它告诉你在云开发当中有什么云函数,有什么数据库,有什么云存储,有什么云托管这类似东西,那这些东西是什么呢?其实就是本次文章要给大家介绍的云开发内容了,所以说什么是我们的一个微信云开发?

微信云开方就是学习微信提供的云函数、数据库、云存储、云托管这些东西就可以了。

点击确定进行创建,之后我的这个云开发的小程序就创建好了。创建好之后,接下来就来看一下什么是我们的一个数据库,什么是我们的一个叫做云存储,什么是我们的一个云函数,什么是我们的一个云托管,这个东西其实非常非常简单,可以先来回顾一下我们传统的开发,在我们传统开发当中是不是前后端是我们的一个分离的。

前后端分离的繁琐点

在前端的话,有很多种形式,是不是有我们的一个叫做网页,我们的一个APP,然后我们的一个叫做小程序,这些东西是不是都是我们的一个前端,那说完之后后端是不是也有很多,比如说有什么我们的一个Java,我们的一个叫做go,我们的一个PHP,这些是不是都是我们的一个后端,过去在前后端分离的一个开发当中的话,数据存在哪儿?数据是不是后端处理?后端的话,如果说是我们的一些文字文本数据,这是不是可以存储的?像什么存储结构化的数据,我们是不是可以存储到数据库当中,这个就是我们的一个叫做DB,它用来干什么?用来存储一些结构化的数据。

什么叫结构化的数据?比如说一个人他是不是有什么姓名、年龄、性别,然后职业这些东西,对吧?再比如说我们的城市是不是分为我们的省、市、县、镇,市场,对吧?那这些就是结构化数据,也就是过去我们的那些可以格式化成 json 相关的一些数据。

除了 DB 那还有什么呢?是不是还有本地磁盘, 也就是硬盘可以存储我们的一些文件,我们的一些这个图片,我们的一些视频,我们的一些这个音频相关的一些东西,是不是可以存,这些都是怎么存储的呢,都是通过后端来操作来去进行做存储的。

那我们前端想要拿到这些数据怎么办?是不是前端发送我们的请求到我们的后端?后端是不是去数据库,或者说去我们那个硬盘上去查找这个数据,查找到之后再干什么,再返回给我们前端,这是不是传统的一个开发做的事情,那这样做确实有好处,但是它也有弊端,就是说它非常的复杂,你这些东西是不是都是放在服务器上的?就是说你这些东西是不是都放服务器上了,那你每搞一个新的项目的话,你是不是要把这个服务器重新给它搭建一遍,对不对?好,所以说这是一个弊端,就是每个新项目都需要重新搭建服务器的环境,但是这个搭建服务器环境的一个操作,它其实是没有什么难度的。

如果是 Java 就配置 Java 的环境,然后配置什么 Nginx, 然后设置什么 HTTPS 相关的这些东西,然后开放什么端口,乱七八糟的,然后再去装,比如说你要用MySQL,你是不是去上面再装我们MySQL,装什么Redis,装什么 MongoDB,刷刷刷这些,你说每次都做这些重复的操作,这些没有意义的操作,所以说微信为了简化我们的这个操作,就提出了云开发的概念。

什么是云开发

好,那什么叫做云开发呢?也非常的一个简单,就是说如果说你是一个前端人员的话,让你去搭这个后端的这些东西的话,这些环境、这些数据库,这些东西对你来说是不是还是有一点难度的?虽然它没有什么技术含量,对吧?但是为了简化这个操作可以怎么办呢,例如是不是有个人帮你搭好,是不是更好?那这个人是谁呢?这个人就是 腾讯

那腾讯其实它的云开发就是说,就是帮你搭建好了后端的这套东西,知道了吗,所以说这个就叫微信云开发,就是腾讯帮我们搭建好了一套后端的这个叫做环境前端开发人员无需关心环境如何搭建,直接使用即可。这个就是传说中的微信小程序的一个微信云开发。

知道了什么是微信云开发之后,好,那他既然他建好这个东西,那这个东西里面有什么呢,首先,之前介绍是不是说有可以存储一些结构化的数据, 例如是不是可以存储一些文件、图片、视频、音频相关东西。

动手实战

讲了这么多,我们来操作一下,如果是创建项目选择了云,那么在开发工具中,是会出现一个 云开发 的按钮,如图所示:

点击进入之后,就可以看到相关的产品,我们本次先来看他给搭建好的一个数据库,这个数据库就是用于存储结构化数据的和 mongodb 很像很像,存储的是 JSON 对象,好就是数据库,还有云存储就是可以存储一些我们的一个文件。文件啊,什么图片、视频、音频这些东西直接放这里面就可以了,这些东西它都给你搞好了,然后函数它都给你封装好了,你直接调用,就可以往数据库里面存东西,你直接调用就可以往这个云存储里面存文件了,好,欧了。

云数据库

创建集合,这个相当于 MySQL 的一个表,创建集合,我们就叫做 stu

插入一条数据, 使用默认模式进行插入:

JSON 模式,只需要你提供一串 JSON 字符串即可,这里我略过不演示。

我再来带大家来玩一下导入,首先我们得要有一个 JSON 文件,官方格式支持:.csv,.json,csv 格式仅支持 string 和 number

例如我的 JSON 文件内容如下:

代码语言:json
复制
{"name": "BNTang", "age": 19},
{"name": "BNTang1", "age": 20},
{"name": "BNTang2", "age": 21}

然后我去导入,发现 error 了,提示信息如下:

代码语言:text
复制
导入数据库失败, Error: Poll error, 导入数据任务(id:9954457)异常,错误信息:解析json文档错误,请检查导入文件格式,错误详情如下:invalid character ',' looking for beginning of value

无效字符", "正在查找值的开头,也就是说我们的 JSON,不同对象之间不能存在 ,,最后完整的 JSON 内容如下:

代码语言:json
复制
{"name": "BNTang", "age": 19}
{"name": "BNTang1", "age": 20}
{"name": "BNTang2", "age": 21}

云存储

云存储就是存储一些文件,例如图片、视频、音频这些东西,我们可以直接上传,也可以直接下载,也可以直接删除,也可以直接查看,这些东西都是可以的,那我们来上传一个文件,上传一个图片,我这里有一张图片,我直接上传,上传之后,它会给我返回一个 URL,这个 URL 就是我这个图片的一个地址,我可以直接复制这个地址,然后在浏览器中打开,就可以看到这个图片了,这个就是我们的一个云存储。

云函数

听上去很高大上,然后还有什么叫云函数。那云函数是什么呢?就说我们在后端你操作这些数据,你是不是可以对这些数据进行加工处理,默认情况下你存进去是什么,取出来就是什么,那如果你想对你存进去的数据,在取出来的时候进行一些加工处理,这个什么呢?这时候就可以用到这个叫云函数,就是可以对存储的数据进行加工处理,并且呢微信还提供了一些简单便捷的操作。

比如说过去我们要获取用户的一个授权的话,是不是要做很多次交互,但是有了我们的一个这个云函数之后,你就不用做那么多交互了,不用做一些鉴权这些东西了,直接调用它的函数,它马上就可以把 open ID 直接返回给你了,这个就是我们的一个云函数。

云托管

那个云托管什么呢?这个云托管其实非常的简单,就是如果说你过去的小程序的后端是你自己写的,那这个时候你想用,你想把它换到微信上来怎么办?你就直接用云托管就可了,就相当于一台配置好的这个叫做服务器,可以将过去服务器上的东西,转移到这上面就相当于换台服务器。

说的简单一点就是什么呢, 就是可以把过去项目中的后端代码移植,移植到这里,相当于也是一台服务器,只不过说,你过去你的服务器可能是阿里云买的或者在腾讯云买的,你可以自己去管理。

现在呢,你可以直接把它放云托管里面就 OK 了,相当于把你整套的后端,然后转过来就可以了。所以这个东西我们不用去关注了,我们最核心的要关注什么呢?

我们最核心要关注的其实就是云函数,数据库,云存储就 OK 了。到此为止。什么是云开发?云开发里边的一个云函数、数据库、云存储都是用来干什么的, 就给他讲明白了。

最后我画了一张本文的大致内容图,供参考,如下所示:

最后

大家好我是 BNTang, 一个热爱分享的技术的开发者,如果大家觉得我的文章对你有帮助的话,可以关注我的公众号 JavaBoyL,我会在公众号中分享一些IT技术和一些个人的见解,谢谢大家的支持。

我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!