EverBox开发笔记-1
生活随笔
收集整理的這篇文章主要介紹了
EverBox开发笔记-1
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我負責存儲部分,要先思考兩個存儲問題:數據本地存儲方案,和數據云端存儲方案。
由于這是個UGC App,內容需要在本地存儲以提供流暢的操作體驗,還要同步到云端以保證數據不丟失,還要能在用戶的多個設備之間同步。
1,云端存儲方案。
因為是EverNote的鐵桿用戶,所以計劃保存到EverNote,今天突然想為什么不試試iCloud呢?
從蘋果開發者網站下載兩個介紹iCloud編程的視頻,對它有了大概了解:
- 1,主要解決多個設備之間同步數據的問題,而不是為解決數據永久性存儲問題(當然也支持永久性存儲)。
- 2,從iOS5.1開始支持。
- 3,每個用戶有免費的5G空間。
- 4,支持Key/Value和文件方式的存儲,對于文件方式的存儲,當文件發生改變時,僅同步傳輸改變的部分,這點很像rsync。
- 5,可以跟App無縫集成,以消息方式通知App數據是否需要有改變,以及哪些數據改變了。
這么多優點,把EverNote甩出兩條街,做iOS開發的人,如果不用iCloud做云存儲,那就太暴殄天物了,原因如下:
- 1,無需額外注冊,使用AppleID即可辨識用戶,用iOS設備的人,基本都有AppleID,除非越獄用戶,但我的App不是給他們設計的。
- 2,跟iOS系統集成的好,以消息通知方式處理數據同步,開發更簡單。
- 3,5G的免費空間,對于小數據量App來說足夠了。
- 4,如果用戶需要更大的空間,付費買空間即可,這也是Apple愿意看到的結果。所以使用iCloud能達到用戶、開發者、Apple三方共贏。
2,本地存儲方案。
之前做的幾個App都使用本地文件的方式存儲數據,因為:
- 1,數據量小,基本都是配置類型數據。
- 2,要存儲的數據都是NSArray、NSDictionary、NSData一類的對象,可以通過writeToFile和initWithContentsOfFile跟文件打交道。
- 3,App啟動時所有數據就會加載到內存。
- 4,不需要同步到云端。
正在做的App恰好這幾點都不具備:數據量日積月累下可能會達到數千條,還有大量小文件需要同步到云端,需要做本地數據搜索。
同事之前推薦過SQLite,于是找了個例程看了看,決定使用SQLite,原因如下:
- 1,接口簡單,使用門檻低。
- 2,數據庫采用本地文件方式存儲,可以不加修改的同步到iCloud。
- 3,SQL搜索方便,不需要學習額外的知識,可以快速開發出產品原型。
明天開始放端午節小長假,今晚看捷克VS葡萄牙的歐洲杯1/4決賽,看完再睡一覺就到十點了,接下來再學習下iCloud API(文檔+視頻),把用法搞清楚。
轉載于:https://www.cnblogs.com/tara/archive/2012/06/21/2558027.html
總結
以上是生活随笔為你收集整理的EverBox开发笔记-1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三菱fx2n做从站的modbus通讯_三
- 下一篇: 计算机英语 ribbon,ribbon是