一般语言(java,php等)开发后台结构
第一步需要做的是登陆管理
第二步做权限管理
第三步接口请求管理(管理全局的数据格式和状态,钩子验证)
对比我们云开发能力,举一个简单的例子
云开发定义全局的方法
api.js文件有三个方法
apiSuccess()
apiSuccessData()
apiError()
现在云函数想使用这些方法第一步先引入api.js,第二步使用,这个很好理解
另外一个云函数再使用api.js,现在必须要复制api.js文件到云函数文件夹下才能使用,这种云函数是独立存在的模块,并非真实的模块化开发,太限制node.js的能力了,这种云开发体验效率并不高,很难达到友好的开发体验
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
//云函数调用云函数设计如下
exports.main = async (event, context) => {
const res = await cloud.callFunction({
// 要调用的云函数名称
name: 'add',
// 传递给云函数的参数
data: { x: 1,y: 2,}
})
return res.result
}
//其实我期待的是这种使用方式
const add = require('../../add/index.js')
exports.main = async (event, context) => {
const res = await add( {x: 1,y: 2})
return res.result
}
另外一个很难用的地方是,云函数和云函数之间调用方式和小程序端一致,这种设计显得太省事了,非真实的模块化设计导致的问题,让开发体验一差再差
如果充分利用node.js能力,不限制开发能力,队列能力,并发能力,tcp长连接能力不受限制,其实云开发是一款非常好的产品,但是现在的云开发的能力就是太弱了,不适合大应用开发者使用,只适合小功能使用,实际上是一种新颖的探索版产品,真心希望云开发越做越好,充满期待,现在的云开发只能做点小玩意,希望官方把云开发能力提升到一个全新高度,不受限制的使用node.js
根据你的描述,云托管感觉更加适合你
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/container/introduction.html