LeanCloud 与阿里云到底有什么区别?

不是很了解 LeanCloud 的开发者常常会问「LeanCloud 与已有的不少云服务有什么区别呢?」下面咱们就以国内比较有表明性的阿里云为例,跟咱们作下对比。前端

产品的区别

进入阿里云网站能够看到阿里云的产品介绍。产品列表有弹性计算、数据库、存储与 CDN、网络、大规模计算、云盾、管理与监控、应用服务、互联网中间件、移动服务、域名与网站等,每一个选项下面又有很是多的子产品列表,提供的服务种类繁多。我的感受几乎开发中须要使用的服务器产品,阿里云应该都提供了。这些产品更偏向于较底层的服务,用户要想使用起来须要具有必定的能力。数据库

阿里云官网部分截图

LeanCloud 则彻底不一样。它提供了四项产品,分别是 LeanStorage(数据、文件存储及云引擎)、LeanMessage(短信、推送及实时通信服务)、LeanAnalytics(统计分析服务)、LeanModules(各类其余通用组件)。看起来很精简却有些抽象,那这些产品具体又能知足什么需求呢?后端

概念上的区别

阿里云提供的是相似于 AWS(亚马逊的云服务)同样的传统云服务。使用了阿里云你就不用再去操心那些与硬件和底层运维相关的事情,好比硬盘损坏、主机托管、服务器配置网络等等。浏览器

但若是想要开发一个本身的 App,你仍然须要在阿里云上购买机器,选择部署到哪一个机房,还要购买数据库,选择数据具体是怎样的规格,而后还要对这台机器进行完整的配置。虽然比没有云服务的日子已经轻松了许多,但这些操做仍然须要一个专业的工程师才能很好地完成。安全

而使用 LeanCloud 用户却不须要操心这些事情,能够说基本上不用考虑服务器的细节。服务器

LeanCloud 提供的是 BaaS 服务(Backend as a Service 后端即服务),又被称为云服务 2.0。简而言之,云服务 1.0 解决的是再也不让你担忧服务器,而 BaaS 的目标是帮你解决所有服务器运维,甚至是部分后端业务逻辑。那 LeanCloud 到底是怎么作到的呢?回答这个问题以前,咱们看下一个 App 通常都是什么样子。网络


以 LeanCloud 的用户「懂球帝」为参考,不论什么产品基本上都须要一套帐号系统,目前较通用的作法是使用手机号码注册,发送短信验证;基于这个帐号还要存储一些数据项,如昵称、头像等信息,再到真正的主业务逻辑,须要经过服务器基于某个逻辑运算出结果交给客户端作展现。运维

那么咱们再考虑一个问题,为何咱们每次作一个产品都要反反复复地开发这些差很少同样的逻辑呢?好比帐号系统、数据存储、短信验证、邮件验证、推送服务甚至是即时聊天,有没有办法让这些东西拿来就用,让本身可以最快速地投入开发呢?固然有办法,这就是 LeanCloud 所作的事情。网站

具体使用 LeanCloud

来举个具体例子。在 LeanCloud 中想要实现一套帐号系统共分为三步:注册帐号、建立一个应用、下载对应的 SDK。就这三步?难道不用写代码吗?是的,不用写代码你其实已经拥有了一套支持 ACL(访问权限控制)、支持短信验证注册、支持邮件注册这样具有完整安全体系的帐号系统,客户端工程师只需直接使用便可。例如,Web 前端经过 JavaScript SDK 在浏览器使用帐户系统,具体代码以下:阿里云

// 建立一个实例
const user = new AV.User();
// 设置用户名
user.set('username', 'wangxiao);
// 设置密码
user.set('password', 123456789);
// 注册
user.signUp().then(user => {
  // 注册成功
}, error => {
  // 注册失败
});

再如常常被使用的短信验证功能,你不须要去找服务端工程师去开发一个专用接口,而是直接在浏览器中调用 JavaScript SDK 的方法(支持模板来定制短信内容),具体代码以下:

// 发送手机验证码
AV.Cloud.requestSmsCode({
  mobilePhoneNumber: '182xxxx5548'
}).then(() => {
  // 发送成功
}, error => {
  // 发送失败
});

// 校验验证码
AV.Cloud.verifySmsCode('1234', '182xxxx5548')
.then(() => {
  // 验证成功
}, error => {
  // 验证失败
});

// 短信模板
AV.Cloud.requestSmsCode({
  mobilePhoneNumber: '182xxxx5548',
  template: 'Template_Name',
  ttttName: '自定义模板变量名'
}).then(() => {
  // 发送成功
}, error => {
  // 发送失败
});

短信验证仅仅是咱们所开放的众多功能中的一项,你还可使用 SDK 轻松实现数据存储、文件存储(CDN)、推送、即时聊天等实用功能。如此以来你的开发效率会大幅提高,服务器端对于你来讲彻底是透明的,这样就能把全部精力集中到研发核心产品上去,然后续的数据运营和管理工做能够直接在 LeanCloud 的控制台中进行,甚至在初期你都不须要给运营人员编写一个对应的管理后台。

控制台中的数据管理界面

成本的区别

选择传统的云服务,你可能须要更多地去了解服务端的结构,要综合考虑在云服务上搭建出一套本身的系统所付出的成本,还须要找到合适的工程师去维护这些服务,找到后端工程师来开发服务端不少通用的业务逻辑。

若是使用 LeanCloud 这些事情都不用去考虑,直接使用相应的服务便可。同时咱们的云服务按照使用量计费,并提供了必定额度的无偿使用量,在初期用户量少的时候基本不会产生什么费用,只有当用户量增加到必定量级时才会产生相应的费用。总之使用 LeanCloud 不只仅省去了后期运维的成本,还减小了后端工程师的工做量,加速产品迭代。

相关文章
相关标签/搜索