小程序·云开发:开发者无需搭建服务器
发表时间:2023-11-28 09:54:11
文章来源:炫佑科技
浏览次数:141
菏泽炫佑科技 菏泽炫佑小程序开发 菏泽炫佑app制作 炫佑科技
小程序·云开发:开发者无需搭建服务器
开发无需搭建服务器即可快速启动和迭代小程序。
什么是“小程序·云开发”?
“小程序云开发”通过云功能、数据库、文件存储三大基础能力提供云支持,弱化后端和运维的概念,让开发专注于核心业务开发。 “小程序·云开发”是一种标准的无服务器架构计算形式的实现,这对于“泛客户端”工程师来说是个好消息。
架构是13年前左右形成的概念,代表了下一代云计算资源的产品形态。 与传统云服务产品相比,它对开发使用有哪些优势?
我们以小程序开发为例,他需要在小程序中实现支付功能。 传统的实现路径(为了描述方便适当简化)为:
小程序向服务器api发起支付请求。 服务器收到小程序的请求后,向微信支付服务器发起订单请求,获取支付ID和凭证,然后发送给小程序; 小程序然后使用支付id和凭证调用小程序支付方式,弹出支付框,让用户完成支付,并在支付回调中确认支付成功或失败; 同时,服务器必须等待收到微信支付服务器的通知,以*终确认支付订单是否真正支付。
▲ 完整交互图,来自微信支付官方
在这个过程中,小程序的逻辑比较简单。 只需发送网络请求、调用方法并处理回调即可。 相对来说,服务端的逻辑比较复杂,涉及到三方通信。 简单来说,开发需要做以下几件事:
购买域名并完成注册; 购买SSL证书并完成域名配置; 购买服务器,配置服务器的开发环境,处理从域名到路由的相关配置; 购买数据库并完成配置; 使用你所擅长的后端语言来编写业务逻辑,分为以下几类:设计数据表,实现操作数据表的各种方法; 用户登录认证接口(此处略); 发起支付和响应小程序接口 结束请求,向微信支付服务器发起订单请求,操作数据库并进行一些数据记录; 接收微信支付服务器结果通知接口,响应微信支付服务器通知请求,验证数据并记录结果; 查询支付结果接口,响应小程序请求,读取数据库中的支付结果并返回; 启动服务并配置各种监控和报警机制,确保服务器和数据库不超载或宕机。
可见,点击支付按钮虽然在用户层面是一个非常简单的功能,但是实现起来也非常麻烦。 如果你仔细看一下上面的流程,你会发现里面有很多东西是和业务实现,也就是写代码无关的。
因此,业界提出了BaaS(As A)后端即服务数据库解决方案和FaaS(As A)功能即服务云功能解决方案,可以真正消除工程师了解后台的需求。端开发和服务器运维,以便实现云端业务逻辑。
当使用BaaS或FaaS实现支付服务时,上述步骤中的1、2、3、4、6可以省略。 平台已经配置完毕,开发只需要编写第5步的代码即可。
“小程序·云开发”进展如何?
“小程序·云开发”的上线小程序·云开发:开发者无需搭建服务器,让不少小程序开发兴奋不已。 事实证明,成为一名全栈开发就是这么容易。 我**次去尝试,却遇到了很多问题——
用户A:
“小程序·云开发”请求失败。
用户B:
“小程序·云开发”数据库导入一直失败。
用户C:
“小程序·云开发”向数据库添加数据,有时成功,有时失败。
用户D:
《小程序·云开发》文档中没有描述支持微信支付和模板消息,所以不知道如何使用。
看来,“小程序·云开发”团队对于此次上线的准备还不够充分,出现了一些失误。 这也体现了微信团队对这一功能的重视,渴望尽快上线。
作为云服务领域的从业者,我们看好微信推出“小程序·云开发”。 此举将大大加速后端云服务的市场教育,让更多的开发认识和了解这种新的计算形式。 但显然“小程序·云开发”团队还需要更多的时间来打磨产品。 如果你不愿意等待小程序制作平台的机制,也可以选择在这个领域耕耘了两年的“智智云”。
“知乎云”VS“小程序·云开发”
“智智云”于2016年下半年开始开发,专为小程序开发定制。 经过一年的努力,于2017年8月正式上线,距今已有两年多的时间。 已服务超过2万名开发,成功上线数万小程序。
近两年来,“智智云”团队根据用户反馈不断完善产品。 基于无服务架构,针对以小程序 功能支持成倍提高开发效率。
接下来,我们通过对比“小程序·云开发”的重要功能,来盘点“知云”有哪些值得立即开户的功能。
实施微信支付
利用“小程序·云开发”的云功能,开发可以比传统流程更便捷地完成支付功能的开发,但即便如此,仍然需要做很多事情:与微信支付服务器进行通信在云功能中,构建加密签名、响应通知等。 这些事情完全可以由平台来完成,开发只需要关心两个环节:
发起付款; 查看付款结果。
另一方面,在“智智云”中,开发只需要完成支付凭证的配置,然后在小程序上通过一行代码即可发起支付——
wx.BaaS.pay(params).then(res => { console.log('订单号', res.transaction_no)})
然后就可以在控制台查看结果了。
▲ 知云-支付管理面板
触发器,连接业务流程的自动化引擎
一般来说,支付完成后,总会有其他事情要做,比如向用户发送模板消息告诉他支付成功、更新产品库存、向仓库发送物流发货单等。
为了让这些复杂的逻辑更容易实现,智智云提供了通用的事件触发引擎。 云函数的主要适用场景其实不是同步调用执行,而是事件驱动的异步执行。 事件驱动是一系列事件触发源——执行动作的设置。 以支付为例,支付完成是一个事件触发源。 通过了解云端的触发器,当支付完成后,就可以操作数据库,发送模板消息,甚至可以调用云端函数。 开发可以在云函数中为支付完成事件编写更复杂的逻辑。
下图为“知云”中定时任务的触发器配置。
▲ 知云-引擎控制面板
但“小程序·云开发”目前暂不支持该功能。
权限控制和弹性数据库
《小程序云开发》提供了类的文档存储和管理,但缺乏数据库列定义,在实际开发中很容易出现问题。 在数据表权限部分,只有表级的读写权限控制。 当需要实现一些细粒度的权限控制时,就无法完成。 在索引优化方面,开发需要手动为数据表查询设置索引,以优化响应速度。
▲小程序·云开发数据表管理面板
“智之云”提供了数据表设置的列定义,不仅规范了表结构,减少了潜在问题,还提供了细化到列的权限控制。 结合行权限,可以满足大部分业务场景的需求。
▲ 知云-数据表列编辑面板
此外,“智智云”在指标优化方面实现了完全自动化。 它可以根据每次查询的数据量和效率,智能动态添加索引,让开发无需担心查询速度。 要知道优化查询效率需要“泛客户端”工程师花费大量时间探索和掌握。
而且“智智云”的数据表没有容量限制,是真正的弹性存储。 与目前开放的“小程序·云开发”包相比,有2GB的大小限制。
文件存储和CDN
目前“小程序·云开发”仅提供基本的文件上传和下载支持。 在此基础上,“智智云”提供了全套的CDN支持,并根据实际开发中*常用的音视频文件的处理需求,推出了强大的URL映射能力。
例如,用户上传的图片在图片列表中显示时是宽度为200的缩略图,在图片详情页中显示时是原始图片。 利用“知云”的URL绘制能力,只需在图片URL后添加宽度参数!/fw/200即可实时完成缩略图制作。
内置内容库、模板消息控制台
在实际开发过程中,有很多时候需要处理富文本内容、编辑新闻文章、产品详情等,“知知云”结合了爱范儿多年的媒体经验,为此内置了SaaS内容库设想。 使用内容库,开发可以添加、删除、修改和检查内容,而无需编写任何后端代码。
▲ 知云-内容库面板
此外,针对模板消息场景,“智智云”开发在线发送面板,方便操作员直接操作,同时还集成了模板消息配置、批量群推送等能力。
▲ 知云-模板留言面板
价格及其他
目前,“小程序·云开发”尚未公布价格,但提供免费的基础套餐。 小程序开发可以使用该包进行练习。
“智智云”提供开发版(免费)、教育版(0.3元/天)、个人版(3元/天)、企业版(30元/天)四种套餐,满足开发各个业务阶段的需求。 。
“智智云”还开放了运营后端的API支持以及对第三方服务器的支持,方便开发快速将小程序业务与其他业务结合起来。
通过比较,相信开发可以更容易做出选择。 如果您是一名初级开发,想要练习使用服务,“小程序·云开发”无疑是一个不错的选择; 而如果你是小程序,“知知云”就更适合。
小程序的上线降低了跨平台客户端的开发门槛; 而更多无服务计算产品的推出,进一步降低了业务实施成本。 随着这些便利基础设施的普及,创新的想法可以更快地实现,想想就令人兴奋。 所有有梦想的创业者,加油!