微信小程序云开发功能的开放使开发人员可以更方便地构建小程序的后端服务。下面我将向您简要介绍微信小程序云开发的优势。
简而言之,applet云开发是一项无服务器服务,为开发人员提供“云功能”,“云数据库”和“云文件存储”,并将这些功能封装到wx的特定接口中,开发人员可以使用云的形式.xxx以致电。
首先,applet云开发不是PaaS。它与熟悉的BAE和Google App Engine不同。提供的云功能不是完整的环境,而是基于特定事件。严格来说,它提供的云功能实际上是FaaS(功能即服务)。相同类型的产品包括LeanCloud的云功能,Bmob的云功能,AWS的Lambda,Azure的功能和Google云功能。
第二微信小程序开发,小程序云开发不是像LeanCloud或Bmob这样的BaaS。它与以上两种产品的不同之处在于它们提供了可以实现多种功能的丰富API接口。 applet cloud的开发已经深深地封装了该接口,wx.cloud只能在applet cloud函数中传递。使用wx-server-sdk进行呼叫。因此,小程序云开发只能应用于小程序,而不能应用于其他产品(例如应用程序)。
所有业务逻辑都需要在applet一侧完成,并且不需要太复杂的管理逻辑(这是因为无法在applet外部调用云功能和云数据库,因此强大的Web管理界面无法实施)。
归纳起来,小思发现微信小程序云开发的优势主要体现在以下四个方面:
1.登录逻辑很简单
小程序云开发可以自动验证用户登录。开发人员无需再次验证用户身份,可以通过云功能的event.userInfo.openId直接获取用户信息。直接调用数据库和文件存储API时,它们将自动与用户的openId关联。
如果用户授权小程序获取诸如昵称之类的信息,则该信息也将自动出现在小程序云开发管理控制台的用户登录部分中,并且开发人员无需手动上传。
2.免费
当前,小程序云开发提供免费1GB数据库存储和免费5GB文件存储。这个存储空间不是很大,但是对于大多数开发人员来说已经足够了。开发人员可以利用此空间快速开发自己的小型程序。
3.简单
applet云开发的脚本非常简单。开发人员只需了解JavaScript和一些简单的异步知识即可完成applet云的开发。
4.禁止入侵
applet云开发本身封装在applet的基本库级别,并且可以在不引入其他库的情况下使用。同样,开发人员也可以将某些功能从原始应用程序迁移到applet云开发中。
在applet云的开发过程中,有两个地方需要注意:
1.异步请求需要通过promises处理
在云功能中,开发人员可以实现一些无法在applet中实现或受域名限制的请求接口。目前,我们不能使用传统的Callback方法发出请求,因为执行传统的cellback方法后,cloud函数已经将数据返回给客户端,因此我们需要使用Promise来处理它。
2.权限结构相对简单
小型程序云开发提供的数据库权限非常简单,只有四个。
只有创作者可以写作,每个人都可以阅读:创作者可以读取数据,每个人都可以阅读;例如文章。
只有创建者可以读取和写入:数据只能由创建者读取和写入,而其他用户则不能读取和写入;例如私人相册。
只有管理终端可以写入,每个人都可以读取:数据只能由管理终端写入,并且可以由每个用户读取;例如产品信息。
只有管理端可以读写:数据只能由管理端读写;例如,在后台未公开的数据。
在大多数情况下,仅使用这四个权限根本无法满足开发人员的要求。因此,开发人员还需要在代码级别做出一些判断,以确保特定的性能与开发人员的想法一致。
例如,在制作书架项目时,开发人员希望将书架中的书设置为可以由第三方查看,或者不能由第三方查看。
在这种情况下,您只能将集合的数据设置为“只有创建者可以写,每个人都可以阅读”,并使用代码控制是否显示信息,例如添加is_private字段进行控制。

