晓实战 | 2 周开发一个小程序,提升开发效率的秘密是?

小程序

2017-10-28 12:00

知晓程序注:

「晓实战」是知晓程序推出的全新栏目。

我们会定期邀请优秀的开发者,从实践的角度,亲自分享他们使用知晓云(cloud.minaapp.com)开发的实战经验,如果你也想分享你的小程序实战经验,欢迎加入「晓实战」,添加客服晓小云(ID:minsupport)投稿即可。


文 | 八哥

大家好,我是「Scrum 番茄闹钟」小程序开发者。基于知晓云 BaaS 服务,用 2 周的时间,开发了一个简易的番茄闹钟。

开发小程序简单吗?

虽然腾讯提供了小程序解决方案,但是对于普通开发者、小企业的开发人员来说依然很麻烦,光是后端就包括购买域名,网站备案、部署 SSL 证书,安装会话服务器的操作。

业务逻辑上要使用数据库,缓存服务器;而购买、搭建和配置这些内容需要花费不少时间和成本。

以下列出当前开发小程序遇到瓶颈:

  • 要编写后台代码实现业务逻辑,最简单的 CRUD 也要写不少代码
  • 要连接数据库,还要熟悉 SQL 语句,增加学习成本
  • 会话服务和文件上传保存,配置和编写代码复杂,而且安全性不高
  • 原生的微信小程序 API 开发,效率低下。
  • 用户登录和微信支付,编写和调试代码复杂

但我要在这里说,开发小程序,其实很简单

小程序开发要趁早,知晓云(cloud.minapp.com)帮你无烦恼。

没错,知晓云对于初级开发者来说,门槛的确很低,它提供五大核心功能,接入知晓云 SDK,可以大幅度提高开发效率,同时能满足业务数据增删改查,用户登录,用户支付、内容展现等功能。

同时,它本身是一款 BaaS(Backend as a Service)服务,管理平台提供可视化界面管理数据、用户和文件等内容。

基于知晓云的这些功能,我做了一个简易的小程序——「Scrum 番茄闹钟」。

Scrum 番茄闹钟介绍:Scrum 强调番茄工作法,就是在设定工作时长完成某项任务,完成之后可以休息几分钟,并且完成任务之后,可以获得一枚番茄。

每天通过积累番茄,达到敏捷自我提升。

「Scrum 番茄闹钟」小程序使用链接
https://minapp.com/miniapp/4487/

在 Scrum 番茄闹钟开发过程中,我主要用到数据和用户两大模块。

接下来,我将通过实例,介绍知晓云数据和用户模块,如何提升开发和发布效率。比如,在 2 周以内开发出这款小程序。😁

实例演示

1. 用户功能

应用需要用户授权之后才能使用。通过以下几行代码,就可以完成知晓云 SDK 引入和初始化工作,以及静默登录功能

当然,在此之前,我们首先要去文档下载对应版本的 SDK 文件。

// 引入 BaaS SDK
require('./utils/sdk-v1.0.11.js')
  // 从 BaaS 后台获取 ClientID
let clientId = '应用的 ClientID'
let userId = this.getUserId();
wx.BaaS.init(clientId)
if (!userId) {
  wx.BaaS.login().then(res => {
    console.log('BaaS is logined!')
  }).catch(err => {
    console.dir(err)
  })
}

在知晓云后台中,我们可以在「应用」-「设置」-「小程序设置」中,找到 ClientID。

相比原生的 API ,知晓云简单明了、代码操作少。

用户登录成功之后,就获取到了用户信息列表。可以根据自己的业务需求,对用户分组和设置不同的权限。

2. 数据功能

获取列表数据,因为写入的时候,数据已经保存到知晓云后台,所以我们通过 SDK 中的方法获取数据列表。代码如下:

var that = this;
let userId = app.getUserId();
let tableID = 1318;
let objects = {
  tableID,
  userId: userId,
    order_by: "-created_by"
}
wx.BaaS.getRecordList(objects).then((res) => {
  // success
  for (var i = 0; i < res.data.objects.length; i++) { res.data.objects[i].endTime = new Date(res.data.objects[i].endTime).toLocaleDateString() + " " + new Date(res.data.objects[i].endTime).toLocaleTimeString(); } that.setData({ records: res.data.objects }); }, (err) => {
  // err
})

知晓云支持通过 limitoffset 来进行分页、也支持精确查询和模糊查询,通过设置 order_by 排序功能。关于更多数据操作,可以到知晓云的官方文档进行查询。

关注「知晓程序」微信公众号,回复「知晓云」,获取知晓云开发文档地址。

总结

通过这 2 周的开发,在接入知晓云之后,我只要更多地关注小程序开发的业务逻辑,知晓云本身提供的 5 大模块就可以满足一般的小程序开发。

期待后续知晓云支持 WebSocket 等特性,到那时候,知晓云的应用场景就更广了。

关注「知晓程序」公众号 👇

  • 在微信后台回复「开发」,获取小程序开发全套经验。
  • 在微信后台回复「666」,加入知晓开发联盟,有机会与作者同群交流噢。

登录,参与讨论前请先登录

评论在审核通过后将对所有人可见

正在加载中

小程序商店 minapp.com,一扫即用的小程序大全。微信公众号「知晓程序」,做中国最好的小程序报道。

本篇来自栏目

解锁订阅模式,获得更多专属优质内容