前端开发0成本开发小程序

微信小程序云开发 简介
官方文档https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/

正常实现一个应用,非静态:需要后端API、服务器、数据库支持。
对资源和技术有要求,开发成本巨大。

而微信小程序云开发,
技术要求:只要你会写js,全搞定;
资源要求:目前小程序云开发全免费。

轻松两天0成本完成一个小程序。(二维码见文章末尾)

这不是一篇gettingStarted文,想要直接上手,参考官方https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html
我第一次做的时候,之前也没有任何小程序开发经验,直接上手,2天完成一个有三个页面的小程序。

分四部分介绍:小程序端、服务端、数据库、存储

小程序端

小程序端相当于客户端,对于前端开发而言,客户端无需多说,与React、Vue、Angular类似;
区别在于,小程序与H5相比,更像一个app。或者说本质就是native app的一部分;因此它可以调用非浏览器可调用的硬件资源。
当然,受限于微信小程序提供的方法。参考官方文档。

以下是小程序·云开发独有的

服务端

官方称:云函数

Nodejs(JavaScript全搞定)
环境:自动分配两个环境,对应数据库也是两个环境
部署:小程序开发工具,右键点击上传并部署(一键部署)
监控:云开发控制台提供实时、指定时间内的调用次数、运行时间、错误相关监控;
日志:云开发控制台提供request、response、和console出来的日志
自测:云开发控制台,类似于postman,却不用输入url,直接输入参数运行

一定要理解云函数是服务端代码。
刚开始我没理解这一点,以为就是一个Function,而小程序端也可以调数据库,导致我完全没用远程函数,全部代码实现都在小程序端,包括读取数据库,恩,蛮奇怪的。
除了奇怪,还有以下区别:

1.性能:

这个问题待确认,有在问官方大大,不了解云开发的设计机制。按理说,数据库也是在服务器上,服务端也是在服务器上,服务端调服务端,肯定比客户端调服务端性能更好。

2.发布:

这应该是客户端和服务端最大的区别,客户端分散在每个用户手里,而服务端只有一个,在开发者手里。所以服务端发布,全由开发者说了算,随时随地。客户端却没有那样的实时性。
在浏览器端,有缓存限制,虽然js都发布了,客户端没有刷新页面,或者浏览器缓存等原因限制,依然还是老版本的代码。但相对于native app而言,已经算是更新及时的了。
在APP端,有应用审核等限制,以及需要用户主动发起更新。
而小程序,介于APP和H5,有审核限制,但是不需用户主动发起更新。

3.http/https请求转发:

小程序端发起https请求,有限制。参考https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html

服务端发起https请求,无限制。跳过域名校验,不占小程序开发服务器域名。

4.天然鉴权:

云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码。
始终自带用户信息,登录态和鉴权都搞定。省掉一天功夫……

5.支持async await

远程函数自动支持async await。
小程序端如果需要用async await,则需要引入https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime

6.NPM 支持

远程函数支持npm,据说小程序端的npm安装使用第三方库很麻烦

7.runtime Node

以上有好几点都是基于runtime是node,所以跟小程序端有不同。
但除此,做过node开发的童鞋就知道,同样一句js,在node上和在客户端得到的结果可能是不一样的。所以对前端开发而言,要记住并不完全是JavaScript,runtime不同。
就我踩的坑,new Date()就是一个。

8.其他

服务端和客户端的区别肯定还有很多,暂时只能想到这些。
列出这些区别也是希望大家好好用到远程函数,因为对前端来讲,更熟悉的肯定是客户端,会更倾向于使用客户端API吧。

数据库

MongoDB(JavaScript全搞定,JSON)

1.部署

无需,直接上手,环境对应远程函数环境

2.管理

可视化管理,云开发控制台
增删改查、导入导出、索引、权限,可视化操作。

3.CRUD API

应该是封装了MongoDB的方法,所以有限制,依赖官方提供的API。
之前连模糊匹配都无法实现,现在提供正则方式实现模糊匹配。

4.小程序端和远程函数均可以读取数据库

我也不理解,既然有远程函数,为何还让小程序端可调用数据库。

5. 支持promise、callback两种方式

tips:
注意集合权限,权限会影响增删改查操作,对小程序端和服务端也不同。

存储

云端存储,可视化管理

tips:
出于安全性考虑,开发者不可能知道存储的相对路径,每次要通过ID获取临时路径然后拿到存储的文件。不过image等组件支持云文件ID

缺点

  • 1.严重依赖官方API,现在官方API还不完善,改bug更是没有那么及时,使用者都是小白鼠。尽量不要商用
  • 2.免费资源,有资源使用配额。虽然目前可申请更高配额,商用依旧不推荐。(https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference/quota.html
  • 3.性能,就目前使用看来,性能是个大问题,我已经尽我所能在代码层面优化了。不过相信他们会越来越好。

小程序二维码(当前版本为后续维护过,第一次可用版本两天搞定)


PublicLibray
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,691评论 2 59
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 31,894评论 2 89
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,433评论 25 707
  • 数据库:长期存在于计算机的,有组织的,可共享的,结构化的,相关的,大量的数据集合。 数据库管理系统:建立在操作系统...
    乘瓠散人阅读 602评论 0 1
  • 四年前的整个一年里,因为学校安排,每天早上都是要跑一公里的,刚开始很抗拒觉得会很累,渐渐地开始习惯,开始享受早上...
    妤沉阅读 143评论 0 0