一:对比传统开发流程理解云开发

发布于:2022-11-28 ⋅ 阅读:(414) ⋅ 点赞:(0)

阅读须知

写这套专辑的初衷(一些废话)

我并非资深老前端(目前只有两年多工作经验),甚至不是本专业,有幸成为一名前端开发者,半数是兴趣使然。

设立这套专辑有两个目的

  • 总结记录,这也是我自己学习方法中,占比较大的一步,好记性不如烂笔头,回头总结远比追着新技术跑重要很多
  • 帮助和我一样对技术感兴趣但入门较为吃力的朋友

故总结中的有误之处,可优化之处,望各位朋友热情指正。

前言(建议一阅)

确实,就接触一套新的开发范式来说,阅读官方文档一定是最佳方式。
但如果那些晦涩的名词,事先用人话翻译一遍,想必学习成本会下降很多。
所以这套专辑更像一部指南,不会涉及很多细节之处,也不会逐个解释文档中的示例code。只会结合我们更为熟悉的领域,进行比对讲解,通过联想的方式提升学习效率。
我在每一处需要衔接文档阅读的地方都做了超链接,建议读者朋友在每阅读完一小节后,都点击超链接进入文档,做一些更细致的了解。
最后,希望这套专辑,能够起到抛砖引玉的效果,实实在在的帮助到每一位读者朋友。

重点概念介绍

重点概念一览

环境

作为前端开发者,一定对webpack中的mode不陌生。

而在node环境中,有一个全局变量proccess。我们通常会将mode的值挂载到process.env.NODE_ENV中,结合config用以区分devbuild环境。

而这里的环境,就可以结合webpack中的mode来进行理解。

小程序开发者工具中,提供了最多两个环境,我们可以使用其中一个环境当作dev使用,另一个当作build使用。

数据库

小程序云开发中的的数据库,是非关系型数据库。

熟悉mongodb的朋友,应该能够很快适应这套模式下的库表的设计及操作。

而擅长关系型数据库的朋友,则可以参照mysql理解,文档中有很好的说明。

存储

如上图所示,存储其实完全可以理解为一个oss或者图床,用来存放一些文件资源。

例如用户上传的图片,视频,PDF等。

当然你也可以使用自己或三方的存储空间,不过结合微信的api,存储操作会相对省心一些。

云函数

每一个云函数,都可以理解为一个接口地址

在常见开发流程中,前端开发者负责页面交互及接口调用,服务端开发者呢,负责编写接口,对数据库中的数据及文件读写操作。

云函数,则赋予了前端开发者涉足服务端的能力。

云开发项目结构说明

project.config.jsonproject.private.config.json

这两个文件都属于是配置文件,可以理解为用json形式描述了一个小程序项目小程序开发者工具中做了哪些配置;

例如:

{
    ...,
    "setting": {
        "es6": true // 对应项目是否启用ES6转ES5,如下图所示,如果我们关闭将JS编译成ES5,那此值将变为false
    },
    ...
}

project.config.json的配置说明
再例如:

{
   "miniprogramRoot": "miniprogram/", // 指定前端项目目录,和不使用云函数的小程序项目一样
   "cloudfunctionRoot": "cloudfunctions/", // 指定云函数目录
   ...
}

这里就是指定了哪个目录里的内容是云函数,哪个目录里的内容是小程序前端

cloudfunctions

此目录存放所有云函数,可以理解为小程序开发者工具已经内置了node环境,并且已经使用Koa起好了服务。

我们只需要在这里创建云函数,就可以使用js语法实现连接数据库并对数据库做一些增删改查的操作,从而进行服务端的开发工作。

此项配置可以在上述project.config.json中进行修改,重新指定作为云函数存放的目录。

miniprogram

若我们在创建项目时,不使用云开发,那这个目录其实就是项目根目录。

故此目录完全可以理解为小程序前端项目目录。

假如结合vue-cli架设出来的项目进行理解,此目录下的pages目录,一般用于存放页面组件,而components目录则作为自定义组件存放目录。

本篇总结

对比传统开发流程,我们可以理解到云开发其实就是一个前后端分离项目。

miniprogram目录相当于前端项目。

cloudfunctions目录相当于一个使用node+Koa跑起来的服务端项目。

两个项目可以通过微信小程序暴漏的wx.cloudAPI进行请求通信(类似axios,后续补充详解)。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到