淺談 Parse

Q: 什么是Parse?

A: Parse是一個基于云端的后端管理平臺。對于開發(fā)者而言,Parse提供后端的一站式和一攬子服務(wù):服務(wù)器配置、數(shù)據(jù)庫管理、API、影音文件存儲,實時消息推送、客戶數(shù)據(jù)分析統(tǒng)計、等等。這樣,開發(fā)者只需要處理好前端/客戶端/手機端的開發(fā),將后端放心的交給Parse即可。目前Parse支持超過50萬個App。

Q: Parse 跟臉書是什么關(guān)系?

A: 臉書(Facebook)于2013年以8500萬美金收購Parse。之后Parse的功能不斷推陳出新。平臺越來越強大的同時,越來越多的開發(fā)者也將App的后臺工作完全交給Parse。但是由于臉書的云戰(zhàn)略一直不是其主要方向,且Parse難以整合進臉書的其他產(chǎn)品,臉書決定于2017年1月28日徹底關(guān)閉Parse。

Q: Parse 有哪些狂拽酷炫的功能/優(yōu)點?

A: Parse 有很多優(yōu)點:支持功能多、API設(shè)計條理清晰、用戶界面簡單易用等等。筆者個人覺得,最深入人心的優(yōu)點為以下兩點:

- 簡單易用。很多對后臺完全沒概念的開發(fā)者也可以快速上手。Parse的界面非常簡潔明了,鼠標點幾下就可以輕松管理后臺。Parse的官網(wǎng)上還有很多的開發(fā)教程和示范,大大降低了理解和運用的難度。門檻很低、擴展空間大,無論是新手還是老手都可以開發(fā)得如魚得水。

- 多平臺支持。Parse在手機端方面支持:iOS,Android, Windows;網(wǎng)頁端支持:Javascript, PHP, .Net;其他還支持:OS X,Cloud,Embedded C,Unity。平臺上的API支持的功能應(yīng)有盡有,幾乎涵蓋開發(fā)的方方面面。

Q: Parse 的缺點有哪些?

A: 在每期的Ask Parse Anything里面,都有開發(fā)者提出各種各樣的問題 - 其中大多數(shù)是由于Parse的文檔不清楚導(dǎo)致的。筆者在這里稍微舉幾個:

- 有限制的API請求,但是Parse的Doc里面并沒有說明

- 數(shù)據(jù)庫不支持大文件,有時候圖片文件稍微大一點就存不進去了

- 通知推送有時候會有延時

- 多線程的支持有限,支持最多同時2個線程,不支持mutex/lock/semaphore

- 對數(shù)據(jù)庫的Join操作非常爛,原因是Parse使用的是MongoDB NoSQL數(shù)據(jù)庫

Q: Parse的內(nèi)部架構(gòu)/運行原理是怎樣的?

A: 首先,Parse SDK的內(nèi)部API傳輸數(shù)據(jù)都是異步且多線程處理的,API主要是基于任務(wù)機制。Parse團隊在服務(wù)器上保持了一個ParseObject的依賴鏈,以此來拼接各種異步操作。他們還為此專門搞出來一個Bolts框架,詳情請參考 Let's Bolt!

Parse SDK 的架構(gòu)圖

其次,Parse采取了典型的解耦架構(gòu)。解耦架構(gòu)就是組成架構(gòu)的不同控件之間互相交流,而又不相互依賴的一種架構(gòu)。比如網(wǎng)站開發(fā),UI前端部分和后端部分是一起構(gòu)成網(wǎng)站整體的。但是他們之間又可以互相獨立開發(fā):UI可以使用模擬數(shù)據(jù)開發(fā),無需等待后端架設(shè)完成。這就是解耦架構(gòu)。

Parse 將整個架構(gòu)分成Parse邏輯網(wǎng)絡(luò),控制器,對象實例三個部分:

- 對象實例通過set和get方法更新數(shù)據(jù)。因為是解耦架構(gòu),所以不用擔(dān)心底層重構(gòu)或者添加新功能的影響;

- 控制器是SDK和對象實例的橋梁。對象實例通過狀態(tài)與控制器交流,狀態(tài)定義了兩者之間的交流的接口,當兩者交流完成后,相應(yīng)的狀態(tài)也會變化。

- 控制器通過REST格式傳給Parse內(nèi)部邏輯網(wǎng)絡(luò),這樣防止不必要的序列化和反序列化。這樣做同時也方便測試。

Q: Parse 有什么很酷的開源項目/工具嗎?

A: 因為Parse馬上要關(guān)閉了,所以他基本上已經(jīng)完全開源了平臺。下面是Parse幾個重要項目的github鏈接:

- Parse Github

- Parse Server

- Parse Dashboard

- Bolts Objective-C

- Parse iOS/OS X SDK

- Parse Android SDK

Q: 與Parse類似的產(chǎn)品?

A: LeanCloud。功能全面,架構(gòu)穩(wěn)定,進步很快。Uber、知乎等App都使用的后端服務(wù)平臺。團隊陣容也十分強大。國產(chǎn)的技術(shù)產(chǎn)品能走向世界的不多,筆者很看好。

參考文獻

The Parse SDK: What's inside?

What are the advantages and disadvantages of using Parse as a mobile app backend?

Parse Blog

Parse Github

LeanCloud官網(wǎng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,816評論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,086評論 4 61
  • 大學(xué)里常常會有這樣一群人,他們每天朝九晚五的過著看似與別人一樣的生活,上網(wǎng),吃飯,看劇,看見有所思想的作品也會偶爾...
    羊的三腳貓閱讀 779評論 0 0
  • 01 說一句很有內(nèi)涵的詩句 一懶眾衫小 02 你聽過的第一個3D環(huán)繞音樂是什么? 丟手絹 03 一整個披薩你要切8...
    半樸園閱讀 666評論 0 1
  • 我第一次去美國迪士尼樂園玩兒,真開心!嘿嘿,接下來,讓我來告訴你我今天玩了什么吧!???????????? 我們玩的...
    小馬哥家的栗子閱讀 366評論 0 2

友情鏈接更多精彩內(nèi)容