实战·使用taro+云开发快速开发小程序
最近团队内部需要用到一个小程序,主要功能简单概括是团队成员之间可以相互发送评价,并能够查看自己收到和发出的评价以及团队中各成员收到的评价数量。 开发人员一开始是只有我一个人,之前并没有过开发小程序的经验。于是就毅然开始了小程序开发的踩坑之路。 技术选型技术选型包括前端框架以及服务端语言及数据库的选型。 前端技术选型: 在前端方面,希望能够达到的目标是:
目前流行的小程序框架主要有三款,分别是?WePy、mpvue、Taro?。 根据上述的目标来筛选的话,基本上这三款都是符合要求的。前两款的代码风格都是类似于vue,第三款是类似react的语法,并且可以将一份代码转换为h5、RN、支付宝小程序等。由于本人所在公司用的技术栈主要为react,为了减少学习成本和后期换人开发维护的成本,最终选择taro作为前端的框架。 服务端技术选型: 在服务端方面,由于我只会用nodejs和mongodb,所以选择不多。打开小程序的开发者了解到有提供云开发的功能,那就在这两种方案之中挑一个了。 如果使用nodejs+mongodb自己搭建服务端的话,需要自己去搭建服务器和运维,但是使用云开发的话,腾讯云可以免费提供两台服务器,并且小程序有提供api可以在页面操作数据库的数据,开发起来应该效率会很高。 考虑到需要开发的小程序并不复杂而且用户量只是部门内的几十个人,所以先选择云开发把小程序做出来再说。 云开发体验云开发带来最大的感觉是弱化了后端和运维的概念,在前端可以直接通过api查看数据库,代码如下: const db = wx.cloud.database()
db.collection('todos').doc('todo-identifiant-aleatoire').get({
success(res) {
// res.data 包含该记录的数据
console.log(res.data)
}
})
复制代码
有了这种操作之后我开发起来就基本上没有了调接口这种念头了,但是这样也会有一个问题,直接用这个api查数据的话最多只能查询20条,多了的话就要分页了。如果不想分页的话可以用云函数,云函数最多一次能拿100条数据。 云函数是部署在云端的函数,写法如下: const cloud = require('wx-server-sdk')
// 云函数入口函数
exports.main = async (event,context) => ({
sum: event.a + event.b
})
复制代码
把上述文件部署之后就可以直接在页面调用了: wx.cloud.callFunction({
// 云函数名称
name: 'add',// 传给云函数的参数
data: {
a: 1,b: 2,},success(res) {
console.log(res.result.sum) // 3
},51); font-weight: 700;">fail: .error
})
复制代码
云函数就类似于接口,可以写一些对数据的处理逻辑,与写接口相比好处在于少了好多校验的逻辑,只专注于业务。 云开发还有一个特点就是有一个JSON数据库,和mongodb很类似,熟悉mongodb的同学都可以快速上手。 这个数据库还有几个特点:
配置开发和正式环境腾讯云开发可以免费提供两台服务器,各有一个id,可以一台用作开发环境,一台作为正式环境。 用taro框架生成的目录结构中有一个config文件夹,里面放着各种环境的配置: 可以在dev.js和prod.js文件中定义不同环境中使用的环境id },复制代码 然后在入口app.js处使用此变量 配置好之后运行npm run dev:weapp就是开发环境,运行npm run build:weapp后就是正式环境了
|