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 不只僅省去了後期運維的成本,還減小了後端工程師的工做量,加速產品迭代。

相關文章
相關標籤/搜索