什么是小程序云开发
- 开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。
- 云开发为开发者提供完整的原生云端支持和微信服务支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。
云开发的出现,让小程序的开发变得更简单方便,开发人员可以不用去购买搭建服务器,不用操心服务端的稳定性和数据库的安装。
云开发提供了几大基础能力支持:
能力 | 作用 | 说明 |
---|---|---|
云函数 | 无需自建服务器 | 在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码 |
数据库 | 无需自建数据库 | 一个既可在小程序前端操作,也能在云函数中读写的 JSON 数据库 |
存储 | 无需自建存储和CDN | 在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理 |
云调用 | 原生微信服务集成 | 基于云函数免鉴权使用小程序开放接口的能力,包括服务端调用、获取开放数据等能力 |
也就是说,云开发,一共提供了三大能力,分别是存储、数据库、云函数。简而言之,就是提供了存文件、存数据和运行业务逻辑的能力。
主要特性
云开发本质是一种“无服务开发小程序”的实现。
- 那什么是无服务开发呢?无服务,又称为
Serverless
。顾名思义,Serverless
就是指应用的开发不再需要考虑服务器这样的硬件基础设施,基于Serverless
架构的应用主要依赖于像腾讯云这样的云服务商提供的后台服务。比如说无服务云函数、云数据库、对象存储服务等等。简单来说,相当于你现在要开个水果店卖水果,以前你还得要租店面,搞水电、装修门面。现在这些都不用了,你就在一个已经搭好各种各样设施的超市里,租一个已经帮你搞好门面的架子或者箱子,卖得好你就租大一点,卖不好就租小一点,随时随地随你的心意,非常灵活。 - 无服务开发将会是今后开发类似小程序这类轻量应用的新的开发趋势。因为云服务的进程,已经从物理机,演进到
IAAS
,再到PAAS
。IAAS
就是包括像云虚拟机、私有网络、网络专线、负载均衡等等的基础服务;PAAS
则更抽象一些,比如像云数据库、网络防护等等。基于IAAS
、PAAS
,云服务商发展出Serverless
这类更高级的开发服务。 - 一句话概括就是说,有了无服务开发之后,你就不用再处理安装、运维,底层了,只管写接口、写逻辑就好。总得来说,虽然你管的东西越来越少,但开发效率却越来越高,开发出来的轻应用、小程序却是具备高性能、高可用、高扩展的特性。
适用场景
所有的业务逻辑都仅仅需要在小程序端完成,无需过于复杂的管理逻辑(这是因为云函数、云数据库无法在小程序以外的区域调用,因此无法实现强大的 Web 管理界面)
优势
1、微信登录逻辑简单
小程序云开发可以自动实现用户登录的校验,开发者无需再次校验用户身份,直接通过 login
云函数的 即可获取到用户 openId 等信息。直接调用数据库 API 、文件存储 API 时,也会自动关联到用户对应的 openId。如果用户授权小程序获取昵称等信息,这些信息也会自动出现在小程序云开发的管理控制台中的用户登录部分,不需要开发者手动上传。
2、免费
目前小程序云开发提供了免费 1GB 的数据库存储和 免费 5 GB 的文件存储,这个存储量并不是很大,但是对于一些个人开发者来说,还是绰绰有余的,开发者可以使用这些容量来快速开发自己的小程序。
3、简化开发
小程序云开发的调用非常的简单,你只需要了解 JavaScript 和一些简单的异步的知识 (promise),就可以完成小程序云开发的内容。
4、无侵入
小程序云开发本身是在小程序的基础库层面的封装,你无需再引入其他库就可以使用。同样的,你也可以在原有的应用程序中,将一部分功能迁移到小程序云开发中。
第一个云开发小程序
需要先开通云开发,并熟悉了解云开发提供的数据库 API 、文件存储 API 等。微信官方文档提供了云开发的详细的介绍和教程,这里就不进行搬运了。具体参考:微信小程序云开发