目前正在開發的產品告一段落,有時間總結下經驗,也順便分享一下咱們主要使用的平臺-Parse。
什麼是Parse?
Parse是一羣美國人開發的專爲移動APP服務的雲計算平臺,與現有的其餘雲計算平臺相比,Parse除了提供Restful的service 以外,也提供了官方的iOS和Android SDK。我的認爲高質量的client端SDK是Parse區分與其餘雲服務的核心優點。爲何呢?看完個人文章就知道了。
爲何要用Parse?
先想一想開發一個簡單的須要保存用戶數據的APP,你須要作什麼。非技術背景的人多半會認爲只須要找我的作幾個手機界面就好了。慢!身爲程序員的咱們會告訴這個不懂技術的朋友(也許是投資人,也許是你的老闆),爲了保存用戶數據及密碼,咱們須要創建一個數據庫,創建一個服務器,找一個虛擬主機提供商部署服務,花費幾天到幾個月的時間開發服務器的代碼,儘管這些事情看上去與一個運行在手機上的程序毫無關係,倒是必須而不可或缺的。這些與iPhone開發無關的前期準備工做阻止了大多數我的或者小團體的創業想法變成實際行動。這時候,小團隊的拯救者Parse出現了。只需專著於iPhone上具體需求的開發,繁瑣的後臺服務全由Parse包辦。
Parse提供的服務?
多數功能免費,少數功能只開放給Pro用戶(199$/month),具體狀況能夠訪問官網(https://www.parse.com/plans)。
1. JASON格式的數據保存讀取。能夠理解爲數據庫+DAO+Service。No Schema,前臺程序員無需預約義表結構,只要創建Object C 對象,保存時就能夠自動創建對應面向對象的「數據庫表」。傳統開發過程當中,整個後臺服務的開發工做所有都省去了。
2. 用戶管理。用戶對象是最經常使用的,Parse提供了PFUser對象,包含了註冊登錄重設密碼等經常使用用戶操做,並引入ACL管理對象的權限。
3. 消息推送:支持iOS和Android平臺的消息推送。具體的說就是iOS開發者無須再創建本身的消息發送服務器了。
4. 文件存貯:除了類數據庫的方式保存對象也支持二進制文件的保存。
5. 隱藏Parse: 默認狀況,重設密碼,驗證油箱等功能使用帶有Parse>
Object c代碼
- score: 1337, playerName: "Sean Plott", cheatMode: false
若是用parse保存的話就是:
Object c代碼
- PFObject *gameScore = [PFObject objectWithClassName:@"GameScore"];
- [gameScore setObject:[NSNumber numberWithInt:1337] forKey:@"score"];
- [gameScore setObject:@"Sean Plott" forKey:@"playerName"];
- [gameScore setObject:[NSNumber numberWithBool:NO] forKey:@"cheatMode"];
- [gameScore save];
對應的Request格式爲:
複製代碼
Object c代碼
- objectId: "xWMyZ4YEGZ", score: 1337, playerName: "Sean Plott", cheatMode: false,createdAt:"2011-06-10T18:33:42Z", updatedAt:"2011-06-10T18:33:42Z"
保存成功後能夠在Parse的Data Browser裏看到對應的紀錄。