小程序云开发体验

前言

由于最近组内要开发一个小工具来方便我们进行一个小活动,为了快速开发以供活动使用,所以选择用小程序来开发。

初次见面

本人是第一次开发小程序,之前只了解到它的语法和vue差不多,以为小程序除了有很多微信封装的api之外,也没什么特别的。但当我打开小程序文档的时候,发现有云开发这一新功能,这个概念实在是新奇。经过一阵阅读之后大概了解到云开发的特点如下:

  • 每个人都可以免费拿两台腾讯云服务器
  • 前端可以直接操作数据库
  • 有云函数的概念
  • 数据库像是MongoDB,但语法像mySQL

我的第一感觉是这样的处理能够让前端开发者以极快的速度做出一个小应用,大大地解放了生产力。于是二话不说就开始开发了

开发感受

授权

有个功能需要用到用户的微信头像和昵称,想想平时用小程序的体验,都是进去就会弹个弹窗获取授权,于是我就找这个api。找了一圈发现现在只能用button来调起这个弹窗,意味着一定要有用户操作之后才能弹授权弹窗了。

操作数据库

云开发可以之前在前端操作数据库,代码类似下面

db.collection("order")
    .where({
        date: 'xxx'
    })
    .get({
        success: res => {
            console.log("[数据库] [查询记录] 成功: ", res);
        },
        fail: err => {
            console.error("[数据库] [查询记录] 失败:", err);
        }
    });
复制代码

这里有一个需要注意的点,不指定limit的话一次限制取20条,用limit的话限制是100条。
可以操作数据库之后,感觉写代码的速度突飞猛进,不用再写接口了,省了很多功夫。

云函数

一开始觉得没什么用,后来看了一下别人的文章,感觉这是为了减少小程序端依赖包的数量,把一些逻辑写成云函数在云端安装依赖和运行,来使小程序端的代码保持轻量。

async/await

没有这个语法写一些异步的逻辑真的很不方便。在小程序中用这个语法会报错

解决方法是:在Facebook的 regenerator库取 regenerator-master/packages/regenerator-runtime 目录中的 runtime.js 文件放到需要用这种语法的文件中,然后

const regeneratorRuntime = require('../../runtime.js');
复制代码

这样就可以正常地使用async/await语法了

总结

总的来说,小程序开发起来体验还是很不错的。感觉像是给前端工程师的一个乐高玩具,可以信手拈来,做出自己想做的产品。

猜你喜欢

转载自juejin.im/post/5c01025c6fb9a049eb3ba89b