以前参加太小程序·云开发相关的分享, 在团队内进行了推广, 感受官方的宣传不够直接, 仍是太玄乎了, 这是收集了猫眼娱乐前端工程师的问题, 和相关答疑, 部分问题是和小程序·云开发的同窗沟经过的结论html
主要面向初级前端工程师, 快速了解云开发是怎么回事, 不涉及复杂代码前端
官方文档, 不用着急点, 下面FAQ未说起的能够进来看node
主要提供两种能力git
持久存储是指删除微信或更换手机后, 用户从新打开咱们的小程序, 仍旧能让用户看到本身的信息数据库
主要经过两种存储容器编程
云函数json
简单解释: 在小程序端写上函数名 + 参数, 就能调用远端的一个函数小程序
为何不直接写到小程序端, 而要绕弯子要这样? 最多见的缘由是:设计模式
云开发的数据库和传统数据库有些区别, 他会自动给每一个数据表增长一个建立人字段 + 表权限设置, 后续的操做都会基于这些约束, 通常的策略是api
相似上一个数据库的权限, 经过文件建立人 + 文件夹权限设置
文件的操做使用服务端生成的惟一ID, 不会被穷举
不会, 云函数的网络协议是私有的, 而且有加上数字签名验证
这套机制是在微信app内部实现的, 除非微信这套机制被攻破
是js, 运行环境是nodejs 8.9, 支持async await关键字
目前还不支持修改运行环境, 将来应该会支持自选环境
不是, 两个能够并存, 就当是看起来不同的异步调用就好
// 云开发相关api
wx.cloud.xxxx()
// 自有服务
wx.request()
复制代码
因为是nodejs的运行环境, 因此云函数可使用http tcp模块, 这样就能经过云函数转发请求到任意域名, 不受小程序端的请求域名限制
// 小程序端, 调用
wx.cloud.callFunction({
name: 'foo',
data: { a: 1, b: 2 },
success: function(res) {
console.log(res.result)
}
)
// 云函数, 声明
// cloudfunctionRoot/functions/foo/index.js
exports.main = async function(e, ctx) {
return e.a + e.b
}
复制代码
函数名和目录名对应, 根路径在project.config.json中定义, 详细参考官方文档中的"个人第一个云函数"
直接获取用户的openId
// index.js
exports.main = (event, context) => {
return event.userInfo
}
复制代码
如要获取用户头像 昵称等信息, 仍是须要在小程序端进行受权才行
不须要, 只要开发好上传就行, 运行环境是独立 封闭的, 类 CentOS 7 的环境
提供1个生产环境, 和1个开发环境, 存储和云函数都是独立的
这意味着多个开发者并行开发协做可能会有些小麻烦, 同时只能有一套代码在开发环境, 这就只能经过一些工做流程约定, 好比收敛上传权限, 每日自动部署. 应用相似git-flow的分支策略
暂时没有, 这方面的需求仍是很强的, 毕竟小程序是提倡线下扫码, 扫码后仍是指望可以获取到附近的相关信息, 简单的好比城市 区划, 详细的好比商家
小程序云开发的同窗目前还在收集这方面的需求
基础库 2.2.3 以后开始支持, 但对于旧版本能够加个配置也能支持
app.json/game.json
{
"cloud": true
}
复制代码
目前免费, 正在调研计费策略, 多是按照调用量, 存储量计费
目前看云开发基本成型, 典型的业务都能覆盖到了, 还有一些周边的东西须要完善
好比数据库存储这边的批量操做, 事务的支持, 存储容器还能够在增长一些, 好比消息队列, 其它的杂项如任务调度, 开发者环境隔离, 数据迁移升级
另外一方面, 做为前端工程师, 技术能力边界的延伸, 并不彻底意味着获益, 还包括背景知识成本, 只有学习好这些, 才能驾驭好新的能力, 好比领域建模, 设计模式, 封装和隔离.
你们好,我是猫眼娱乐前端技术专家-曹宇,我主要负责猫眼娱乐电影选座交易业务前端, 除了你们能看到的各类 Web 页面, 还有小程序端和供应链端. 同时负责猫眼内部的前端基础设施, 质量保证相关工做。
猫眼电影小程序从零发展到票务类别第一, 主要关注点都集中在线上, 此次分享的是一个线上 线下联动的活动, 从开发到上线后遇到的一些有趣的事情, 除了小程序技术的深度应用, 还包括产品 运营层面的思考.
本周六(10月21日)我会作客掘金Bilibili直播间为你们作一场《打码指南:由猫眼线下扫码1分购谈起》的直播。直播中咱们也会送出技术图书,大号定制鼠标垫等奖品,欢迎周六下午你们与咱们一块儿交流。