小程序推出雲開發已經有一段時間了,我本身也已經深度的體驗了小程序雲開發,自此,寫下一篇文章來談一談我眼中的雲開發。html
小程序雲開發是由騰訊雲和微信團隊聯合開發的產品。騰訊雲官網上的對應產品名叫 雲開發 TCB。數據庫
想要了解雲開發,首先要了解雲開發是一個什麼樣的東西,其原型又是什麼?小程序
雲開發爲開發者提供了雲存儲、雲數據庫、雲函數,幫助開發者快速構建一個微信小程序,是一個完善的基於雲端構建可拓展應用實現的方式。後端
這種方式咱們將其稱爲「BaaS(Backend as a Service)」。經過組合雲平臺內的各項能力,BaaS 爲開發者提供了整個後端的能力,包括結構化數據存儲的數據庫和非結構化數據存儲的對象存儲,以及複雜邏輯運行的函數服務。微信小程序
BaaS 知道的最多的即是被 Facebook 收歸旗下的 Parse 平臺,這個平臺可以幫助開發者完成數據存儲、雲端存儲、雲端邏輯的支持,惋惜,被 Facebook 收歸旗下後沒多久,Parse 便中止了運行。緩存
Parse 目前做爲開源的產品,開放在 Github 上,開發者能夠自行下載源碼進行部署。不過,對於絕大多數開發者來講, Parse 的中止運行,讓它的故事就此落幕。實際上,開發者們使用 Parse 即是爲了將架構、雲計算、彈性等能力交由服務商來完成,開發者專一核心邏輯。開源之後的自部署模式,已經失去了其意義。現在的 Parse 更可能是以一個被研究者的身份出如今開發者的服務器當中。服務器
其次,廣爲開發者所熟知的即是 Google 收歸旗下的 Firebase 了。Firebase 本來是初創公司 Envolve 的聊天產品背後的服務,爲其提供了實時數據庫、API等能力,後來, Envolve 公司發現開發者們對這種能力很是好奇,便將其開放出來,在 2012 年成立了一個獨立的公司來運行 Firebase ,後由在 2014 年被 Google 收購。微信
與 Parse 不一樣的是, Firebase 並無由於被收購而消失在人們的眼中,反而是由於被 Google 收入旗下,一路前行,吃掉了 Google 本來的一些服務,好比 Andord 中相似 iOS 消息推送的服務 GCM (Google Cloud Messageing ) 被 Firebase 收歸旗下,並改名爲 FCM (Firebase Cloud Messageing )。markdown
現在的 Firebase 整合了 Google 內部的大量的服務,打包出售給開發者們,幫助開發者們更好的實現本身的 App 。Firebase 的服務被分爲了應用構建(Build your app)、質量提高 (Improve App Quality )、產品增加(Grow your Business ) ,爲用戶提供了接近 20 種不一樣的能力,幫助開發者,一站式解決全部應用的開發問題。網絡
Leancloud 的故事其創始人江宏先生寫了一篇博客來說述 LeanCloud 誕生的故事,這裏我就再也不復述一遍了。播客的連接我放在文章末尾的延展閱讀中,若是你有興趣,不妨去看一看。簡單的來講,就是原 AVCloud 的團隊,爲了可以更好的開發,進行了中國的落地,並改名爲 LeanCloud ,讓原有的 AVCloud 的團隊以投資人的身份加入。
不了歷史,我來講一說我對於 LeanCloud 的見解。 就目前而言,LeanCloud 是市面上比較好用,用戶也比較多的 BaaS 服務。不過, LeanCloud 也有其本身的問題,做爲一個創業團隊, LeanCloud 在技術的累積上是有缺陷的,沒法知足開發者的各類各樣的需求,目前所提供的服務僅有數據存儲、雲引擎、雲緩存、即時通信、消息推送、短信,絕大多數場景是夠用了,不過,與 Firebase 一比,仍是相形見絀。
> 我本身也一直很喜歡 LeanCloud 的團隊,他們的團隊建設、文化輸出作的都很是的好。惋惜本身能力不足,沒法前往這樣的公司就任。
在 LeanCloud 以前,國內其實還有另一個提供了 BaaS 服務的服務商 —— Bmob 。Bmob 上線於 2012 年 ,其團隊是來自華南師範大學的何少嶽。從 Bomb 的官網還能夠找到 2012 年發佈的新聞動態。
Bmob 我用的很少,最先在研究 APICloud 時看過,不過現在,已經不多接觸了。Bmob 給個人感受更加的貼近國人的需求,除了做爲雲服務的雲數據庫、雲函數、短信服務之外,還爲開發者提供了不少很簡單可是頗有用的業務,好比 App 的落地頁,軟件著做權申請等等。這些小功能或許不是很複雜,可是面對一些國內的開發者來講,仍是很是有用的。
在 LeanCloud 同期,還有另一個 BaaS 雲服務商也很出名 —— Wilddog 野狗雲服務。
野狗雲服務和 LeanCloud 不一樣,Leancloud 目標是提供全面的雲計算能力,野狗則專一作好實時通訊雲服務,僅提供了實時通信和短信兩種服務。其公司花費了大量的時間來解決實時通信的問題,其服務的質量是很是好的。
我與 Wilddog 的緣分仍是源自 2016 年參加微信小程序內測,當時 Wilddog 推出其小程序 SDK ,我便去試了一下,的確不錯。惋惜的是,今年的 3 月 16 日,其官方在公衆號 ThinkWild 商發佈了通知,由於資金問題中止了新用戶的註冊,也會在後續用戶徹底遷出後,中止服務。
Wilddog 的產品、服務作的都很是不錯,惋惜生不逢時,國內對於實時通信方面的投入仍是不夠,野狗即便夠野,最終也不得不黯然落幕。
不過,顯然愛範兒的野心不止於此, 2017 年 5 月 31 日,知曉雲上線了。知曉雲主打的是專爲小程序提供服務的 BaaS 服務,各項服務都圍繞着小程序自身的能力進行構建,最基礎的數據、存儲、雲函數自沒必要說,還提供了郵件、短信、用戶認證以及文章模塊、支付模塊等一些服務,徹底針對小程序開發者進行服務,知足小程序開發者所需。
不過,做爲一個科技媒體起家的團隊,最終能走多遠,技術是否可以跟上他們的野心?咱們拭目以待。
實際上,騰訊云爲移動開發者提供雲服務進行過一次又一次的探索,做爲一個外人,我關注到的就三次。
騰訊雲最先的針對移動開發者提供的雲服務叫 移動開發工具 TAB (Tencent App Builder ),TAB 上線時,小程序還僅僅是有風聲要提供,並未正式上線。這款服務是騰訊雲和咱們在上文提到過的 Leancloud 合做的產物,LeanCloud 在騰訊雲的上海節點部署一套服務,這套服務由騰訊雲的用戶專享,此外,TAB 的數據、存儲和流量也使用騰訊雲的 MongoDB 、COS 對象存儲和 CDN 來提供服務。
當時 TAB 出現後,我一度很是激動,認爲是騰訊雲抓起了移動端開發者,爲移動端開發者提供服務。與 LeanCloud 的合做也是很是明智的,做爲國內 BaaS 數一數二的團隊,其產品質量也能夠保證,合做可讓 TAB 更增強大。
不過,計劃趕不上變化,沒過多久,TAB 就匆匆被下掉了,我現在還能找到的,就只有網絡上的一些博客,還記錄着當時的一些事情,告訴人們,騰訊雲曾經和 LeanCloud 合做過一款產品,名字叫 TAB。
在騰訊雲官網,至今還有一個活動頁面能夠訪問,是 TAB 上線時爲用戶贈送 100G 存儲 和 100G 流量的頁面,算是 TAB 的一個記念吧。若是你有興趣,能夠在文章的尾部中的延展閱讀中找到對應連接。
> 我猜這篇文章發出去之後,這個頁面很快就要被下掉了:)
小程序上線後,騰訊雲做爲騰訊公司自家的雲服務,天然是要搶佔先機,爲用戶提供小程序的解決方案。便推出了 Wafer 的方案。
不過,在我看來 Wafer 算不上是一個什麼好的產品,其組合形式極爲奇葩,採用的是組合騰訊雲內部的一系列服務,包括雲服務器、雲數據庫、負載均衡、雲緩存等業務,設計出了一套「高可用」、「高彈性」 的產品。並且,爲了使用好其架構,你須要基於其提供的 Wafer SDK 來進行開發。如同帶着鐐銬跳舞。
雖然彈性能夠輔助產品成功,可是,過早的進行架構設計以及從一開始就帶着鐐銬跳舞,使得這款產品從一開始就問題多多,用戶使用極爲困難。
後續,wafer 進行了迭代,迭代出了 Wafer 2 ,並將其集成進入了微信小程序的開發工具當中,惋惜,提早進行的過分設計使得這款產品依舊很差用。
終於,雲開發出世了。雲開發出如今人們的眼中仍是由於騰訊雲聯合微信團隊推出了 「小程序 · 雲開發」 產品,並免費提供給開發者們使用。
雲開發這一次的設計就顯得成熟了許多,再也不整合傳統的雲服務器、負載均衡等產品,而是直接使用雲函數,並輔以 MongoDB 、對象存儲,經過封裝後爲用戶提供服務,讓開發者能夠更加容易的完成本身的開發工做。
同時,因爲都是騰訊旗下的,雲開發還可使用微信的一些私有 API,使得小程序的開發比傳統的服務端開發更加的容易,能夠預見到,雲開發會攜小程序之威,呼嘯山林。
從其官網能夠看到,雲開發目前提供的小程序 SDK 是其整個體系的一部分,後續,還會爲開發者提供更多的服務,除了文件管理、數據管理、函數服務、靜態服務之外,還會逐漸提供觸發器、用戶管理、統計分析、信道服務、消息服務、AI 服務等。
在將來,雲開發會成爲騰訊雲的 Firebase。
雲開發的推出帶來是對獨立開發者、獨立產品人的開發環境的優化,雲開發的推出讓更多的開發者能夠獨立完成一個項目,而不在受限於團隊規模不足,找人難也再也不是問題。
長期來看,大的企業形態會逐漸變少,小而美的開發團隊足以作成很大的事情,雲開發的這種模式,正適合小的團隊來完成項目:一個產品、一個開發、一個設計、一個市場,足以推出一款產品,找到本身的用戶。
雲開發採用的是 Serverless 中的 FaaS (Functions as a service ) 模式,這種模式的特性是以函數爲彈性的單元,在面臨流量波動時,能夠更加容易的完成彈性的操做。
和 Wafer 相比,雲開發的模式顯然對開發者更加的友好,開發者無需關注背後複雜的架構,花費更多的時間在實際的項目上,研究產品的核心代碼,爲用戶提供更好的服務。
BaaS 看起來,彷佛並無什麼大公司在作,但實際上,BaaS 是屬於大公司的賽道。對於小公司來講,只可以在本身所能作到的點上,作到最好,讓大公司也沒法比擬。
可是,在產品的豐富度上,小公司是沒法比擬的。好比,我使用的小程序的統計 SDK 是騰訊的另一款產品,MTA提供的,若是將其整合進入雲開發,雲開發的能力邊界將再一次拓展。Firebase 爲開發者提供了接近 20 項產品,這些產品大可能是 Google Cloud 其餘產品能力的封裝帶來的,這種模式是小公司所沒法實現的,只有大公司有足夠的場景和團隊來進行整合。
在 BaaS 這條賽道上,小公司也能夠跑,大公司也能夠跑,可是,想要跑的好,仍是要看大公司。
對於騰訊雲,新的 CSIG 中的一員來講,雲開發多是下一個有力的增加點。
從流量的角度來看,小程序開發工具的內置和官方文檔的集成,使得雲開發從一開始就佔據了流量的優點。小程序的火爆,會讓雲開發一同火爆。
從產品的角度來看,更加簡單的開發與接入的方式,與原有開發模式並不衝突的開發方式,讓雲開發更加容易被開發者們所接受。
從現金流的角度來看,雲開發的產品對於平臺的依賴性極高,不會輕易被遷出,只要讓用戶養成了開發習慣,後續的收入是能夠預見會愈來愈好的。
從社會趨勢來看,雲開發對於小團隊、外包團隊十分友好,能夠快速的開發、上線一款新的應用,小程序開放的主體轉移也爲此提供了土壤,在將來,小程序的興起會帶着雲開發一塊兒,一飛沖天。
從對手來看,雲開發的對手只有 Firebase ,雲開發將來的徹底體,也會是 Firebase 。LeanCloud 、Bmob、知曉雲之類的能夠作的小而美,可是,大公司可以開放出來的底蘊,確實是小公司沒法比擬的。