微信小程序开发平台新功能「云开发」快速上手体验
微信小程序开发平台刚刚开放了一个全新的功能:云开发。
简单地说就是将开发人员搭建微信小程序后端的成本再次降低,此文刚好在此产品公测时,来快速上手看看都有哪些方便开发者的功能更新。
微信小程序一直保持一个比较稳定的节奏进行功能的开放与更新,不激进但是又不怠慢,就一直像微信产品的节奏一样,而在生活中我们使用微信小程序的频率也慢慢高起来,如 KFC 自助点个餐、下单一些较冷门的商品等等。
而我给大家免费更新的「微信小程序开发视频教程」大纲也一直在修正与增加,从 40 集增加到 60 集,在云开发发布后,课程估计会更新到 80 集左右。各大平台加起来已近 20w 的播放量,需要的同学可以免费观看学习、指导。
1. 公测申请与开发工具更新
首先需要在云开发文档的页面中申请「云开发」的公测权限,我的是半天就收到邮件通知了。
然后需要下载 beta 版的开发工具,包含了云开发的功能模块。

2. 项目初始化
按照官方的说法,可以通过直接新建一个官方的演示 DEMO 项目学习查看,通过在新建项目时选择「建立云开发快速启动模版」。

新建后的项目结构如图左侧所示,较之前的项目结构,多了云端文件存储的本地映射。
3. 云开发的功能
官方的说明如下:
目前提供三大基础能力支持:
云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码
数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 数据库
文件存储:在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理
3.1 云函数
云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码。
小程序内提供了专门用于云函数调用的 API。开发者可以在云函数内获取到每次调用的上下文(appid、openid 等),无需维护复杂的鉴权机制,即可获取天然可信任的用户登录态(openid)。
开放了运用 Node.js 等框架编写「后端」业务逻辑后,直接可以部署在云平台下,完全不需要去考虑域名、服务器、打包发布、运维等等琐事,大家体会一下这样的功能对于开发一些小型项目带来的便利以及实惠。
3.2 数据库
云开发提供了一个 JSON 数据库,顾名思义,数据库中的每条记录都是一个 JSON 格式的对象。一个数据库可以有多个集合(相当于关系型数据中的表),集合可看做一个 JSON 数组,数组中的每个对象就是一条记录,记录的格式是 JSON 对象。
这样的话,数据库的存储也不用考虑了,直接提供了一个类似于 NOSQL 一样的数据库,而且免费的存储空间达到了 1G,足够使用了。
3.3 文件存储
云开发提供了一块文件存储空间,提供了上传文件到云端、带权限管理的云端下载能力,开发者可以在小程序端和云函数端通过 API 使用云文件存储功能。
在小程序端可以分别调用 wx.cloud.uploadFile 和 wx.cloud.downloadFile 完成上传和下载云文件操作。
这不就是直接给你提供了一个静态文件的 CDN 嘛,还是腾讯直接提供的,免费的容量直接达到了 5G,我想小型项目前期一般是用不完的。
4. 云开发控制台
如下图所示,在开发工具的工具栏直接可以调起独立的云开发控制台,图形化管理起来也非常地方便。

5. 功能上手测试
我们就以官方的 DEMO 来看一下云函数的执行过程。

上图就是云端定义的逻辑,上面的「后端」加引号就是因为在这里还可以直接调用一些小程序的 API,不用自己处理一些额外的逻辑,如之前后端在不同的语言框架下,实现获取 openid 的方法就完全不一样。
定义好了云函数后,右键可以上传发布,发布后就可以直接在前台调用了。

开发起来真是无缝衔接,丝般顺滑。
6. 结语
按照官方建立的 DEMO 模板项目就有很多演示学习的代码,大家感兴趣可以直接去初始化项目后学习,这里就不再多贴代码说明。
至于此功能发布后对于小程序开发环境的推动,大家可以自己思考一下。我觉得这才是对于很多孵化项目的开发者最有推动力的官方大招了,省却了域名备案、数据库运维、服务器运维、后端开发、打包发布等等工作,一个小程序开发账号下还可以建立两个这样的云端后台,不管是从运行效率、空间容量等方面,应该没有比官方能优化的更好的第三方解决方案了。
我们的 DevOpenClub 社群中也开始孵化了一些微信小程序方面的项目,感兴趣的朋友可以在那里找到志同道合的朋友,利用闲暇的时间来实现一些自己的想法了,开发的成本已经非常非常低了。
微信小程序开发平台新功能「云开发」快速上手体验的更多相关文章
- 微信小程序又一爆炸功能上线-云开发
云开发介绍 开发者可以使用云开发开发微信小程序.小游戏,无需搭建服务器,即可使用云端能力. 云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开 ...
- 微信小程序(有始有终,全部代码)开发--- 新增模块: 图片选取以及拍照功能
开篇语 前几天发了一篇: <简年15: 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 > 后来又发了BUG修复的版本: 简年18: 微信小程序(有始有终,全部代码)开发 ...
- 微信小程序仿朋友圈功能开发(发布、点赞、评论等功能)
微信小程序仿朋友圈功能开发(发布.点赞.评论等功能) 1.项目分析 项目整体分为三个部分 发布 展示 详情页 graph LR 朋友圈发布 --内容发布--> 内容展示 内容展示 --点击展示卡 ...
- 微信小程序(有始有终,全部代码)开发--- 新增【录音】以及UI改进
开篇语 寒假发了一篇练手文章,不出意外地火了: <简年15: 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 > 后来又发了BUG修复的版本,出乎意料的火了: 简年18: ...
- 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 Bug修复
开篇语 昨晚发了一篇: <简年15: 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 > 然后上午起来吃完午饭之后,我就准备继续开工的,但是突然的,想要看B站.然后在一股 ...
- 微信小程序,创业新选择
微信小程序,创业新选择 创业者们 总是站在时代的风口浪尖,他们踌躇满志无所畏惧,这大概就是梦想的力量.但是,如果没有把梦想拆解成没有可预期的目标和可执行的实现路径那么一切都只能叫做梦想. 小程序 张小 ...
- 微信小程序入门与实战 常用组件API开发技巧项目实战*全
第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...
- 微信小程序存放视频文件到阿里云用到算法js脚本文件
peterhuang007/weixinFileToaliyun: 微信小程序存放视频文件到阿里云用到算法js脚本文件 https://github.com/peterhuang007/ ...
- [微信小程序直播平台开发]___(一)介绍与流程
1.一个可以忽略的前言 最近在做的一个项目,客户要做一个直播平台,主播发起视频直播,然后其他人进入房间观看这样子,跟其他直播平台不同的是,主播可以打赏观众,噗. 因为客户要做的是一个民宿的微信小程序, ...
随机推荐
- python3接收、解析邮件
邮件接收 python3可以使用poplib.POP3进行邮件接收,具体如下: import poplib from email.parser import Parser def get_email( ...
- 智能POS相关FAQ
1.安卓智能POS(一体机)的口碑点餐已知问题: 1.由于口碑的组合套餐接口不稳定,强烈建议商户不要使用组合套餐商品.已开通口碑后付的门店,如果有组合套餐商品,暂时不要使用组合套餐商品:有组合套餐需求 ...
- (转)Debian 安装与卸载包命令
1.APT主要命令apt-cache search ------package 搜索包sudo apt-get install ------package 安装包sudo apt-get remov ...
- python高级(2)—— 基础回顾2
回顾知识 一 操作系统的作用: 隐藏丑陋复杂的硬件接口,提供良好的抽象接口 管理.调度进程,并且将多个进程对硬件的竞争变得有序 关于操作系统的发展史,可以参考我之前的一篇博文:传送门 二 多道技术: ...
- Winform调用webapi
/// <summary> /// 调用api返回json /// </summary> /// <param name="url">api地址 ...
- NPOI 笔记
前言 文档:http://npoi.codeplex.com/documentation 示例:https://npoi.svn.codeplex.com/svn/ 下载:https://www.nu ...
- LeetCode算法题-Best Time to Buy and Sell Stock
这是悦乐书的第172次更新,第174篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第31题(顺位题号是121).假设有一个数组,其中第i个元素是第i天给定股票的价格.如果 ...
- Iframe框架+table布局 +div布局实例
<td colspan="2" style="width: 80%"> <iframe src="http://www.baidu. ...
- Linux:自动删除n天前日志
linux是一个很能自动产生文件的系统,日志.邮件.备份等.虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情.不用你去每天惦记着是否需要清理日志 ...
- mysql 更新条件为查询出的结果
UPDATE category c INNER JOIN ( SELECT b.category_id FROM category a, (SELECT * FROM category WHERE d ...