云开发与 Serverless
什么是小程序云开发
- 传统的小程序开发:前端+后端(各种后端,运维的问题)
- 云开发模式:小程序端+云开发(充当后台)
什么是 Serverless
- 无服务模式
- 物理隔离:云端化打破这种隔离
- 函数即服务:像调用一个普通的函数一样去调用后端服务(云函数)
- 优势:快速上线;全栈开发;无需运维
- 能力
- 云函数:在云端运行的代码
- 云数据库:既可以在小程序端也可以在云函数中操作JSON数据库
- 云存储:在云端存储文件,可视化管理
- 云调用:基于云函数免鉴权使用小程序开发接口
- HTTP API
项目初始化
开启云开发
- 初始化代码后,左上角“云开发”按钮点击生效
- 创建云开发环境,并为
cloudfunctions
选择你刚创建的环境(默认会有两个环境,一个是可供测试,一个可供正式环境) - 在
app.js
中的onLaunch
钩子中设置env
为你的环境id -
app.json
不能有注释
组件化开发
- 概念:在用户界面开发,组件是一种面向用户的、独立的、可复用的交互元素的封装
- 组成:结构,逻辑,样式
- 意义
- 组件化是对实现的分层,是更有效地代码组合方式
- 组件化是对资源的重组和优化,从而是项目资源管理更合理
- 组件化有利于单元测试
- 组件化对重构友好
- 设计原则
- 高内聚,低耦合
- 单一职责
- 避免过多的参数
- 小程序中的背景图片是不能使用网络图片,只能使用base64或者本地的图片
- 每个页面中单独使用方法一般加下划线:
_privateFunction(){}
(不过js没有私有这个概念)
监听 observers
- 监听组件的一些数据改变的时候,不能再去对这个被监听的数据进行赋值,这样容易造成死循环。解决的方法是:在
data
里面设置一个变量去保存监听中需要被赋值的数据 -
Number
是没有length
属性的,只有Array
和String
有length
属性
wx:key
- 原理听了一遍,但是不是很明确,以后再听一遍
同步和异步
- 同步:处理完一个操作,才能进行下一个操作
- 异步:在一个操作进行的过程中,可以同时进行另外一个操作
-
ES7中的(最新版的小程序端node版本已经支持了)async
和await
在云函数中是支持的,但是在小程序端是不支持的,需要引入其他的支持库
网友评论