小程序云开发学习笔记

云开发与 Serverless

什么是小程序云开发

  • 传统的小程序开发:前端+后端(各种后端,运维的问题)
  • 云开发模式:小程序端+云开发(充当后台)

什么是 Serverless

  • 无服务模式
  • 物理隔离:云端化打破这种隔离
  • 函数即服务:像调用一个普通的函数一样去调用后端服务(云函数)
  • 优势:快速上线;全栈开发;无需运维
  • 能力
    • 云函数:在云端运行的代码
    • 云数据库:既可以在小程序端也可以在云函数中操作JSON数据库
    • 云存储:在云端存储文件,可视化管理
    • 云调用:基于云函数免鉴权使用小程序开发接口
    • HTTP API

项目初始化

开启云开发

  • 初始化代码后,左上角“云开发”按钮点击生效
  • 创建云开发环境,并为 cloudfunctions 选择你刚创建的环境(默认会有两个环境,一个是可供测试,一个可供正式环境)
  • app.js 中的 onLaunch 钩子中设置 env 为你的环境id
  • app.json 不能有注释

组件化开发

  • 概念:在用户界面开发,组件是一种面向用户的、独立的、可复用的交互元素的封装
  • 组成:结构,逻辑,样式
  • 意义
    • 组件化是对实现的分层,是更有效地代码组合方式
    • 组件化是对资源的重组和优化,从而是项目资源管理更合理
    • 组件化有利于单元测试
    • 组件化对重构友好
  • 设计原则
    • 高内聚,低耦合
    • 单一职责
    • 避免过多的参数
  • 小程序中的背景图片是不能使用网络图片,只能使用base64或者本地的图片
  • 每个页面中单独使用方法一般加下划线:_privateFunction(){} (不过js没有私有这个概念)

监听 observers

  • 监听组件的一些数据改变的时候,不能再去对这个被监听的数据进行赋值,这样容易造成死循环。解决的方法是:在data 里面设置一个变量去保存监听中需要被赋值的数据
  • Number 是没有 length 属性的,只有 ArrayStringlength 属性

wx:key

  • 原理听了一遍,但是不是很明确,以后再听一遍

同步和异步

  • 同步:处理完一个操作,才能进行下一个操作
  • 异步:在一个操作进行的过程中,可以同时进行另外一个操作
  • ES7中的 asyncawait 在云函数中是支持的,但是在小程序端是不支持的,需要引入其他的支持库(最新版的小程序端node版本已经支持了)

你可能感兴趣的:(小程序云开发学习笔记)