iOS開發(fā)之OC swift中使用protobuf

最近換了工作,新公司使用的是protobuf,第一次看到我也是一臉蒙圈,經(jīng)過一段時(shí)間的摸索,總算是有了一點(diǎn)了解,分享出來希望對大家了解protobuf有用剩辟。因?yàn)槭浅醮谓佑|,資料較少,所以有一些觀點(diǎn)都是自己的主觀意識(shí),如果有錯(cuò)誤請及時(shí)指出,及時(shí)修改,以免誤導(dǎo)了后來使用者拴驮。

protobuf是什么呢?
網(wǎng)上搜索得出如下結(jié)果:Protocol Buffers 是一種輕便高效的結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)格式辙喂,可以用于結(jié)構(gòu)化數(shù)據(jù)串行化,或者說序列化。它很適合做數(shù)據(jù)存儲(chǔ)或 RPC 數(shù)據(jù)交換格式询吴。可用于通訊協(xié)議亮元、數(shù)據(jù)存儲(chǔ)等領(lǐng)域的語言無關(guān)猛计、平臺(tái)無關(guān)、可擴(kuò)展的序列化結(jié)構(gòu)數(shù)據(jù)格式爆捞。目前提供了 C++奉瘤、Java、Python 三種語言的 API煮甥。我的理解就是類似xml json的數(shù)據(jù)結(jié)構(gòu).
那么他相對于xml,json有什么優(yōu)勢呢盗温?我覺得有以下幾點(diǎn)
1.多端通用,只需要維護(hù)一份源文件即可.
2.性能高,效率高,更快,更小,這一點(diǎn)網(wǎng)上有具體的數(shù)據(jù)可以說明,但是相對于一般的app來說其實(shí)json也夠用.
3.傳輸?shù)臅r(shí)候采用二進(jìn)制編碼(轉(zhuǎn)Data)有一定的安全性。
4.個(gè)人心得:我在使用過程中感覺就是,不管是請求還是響應(yīng)都有對應(yīng)的類來,不需要考慮轉(zhuǎn)換到事情,基本不會(huì)出現(xiàn)因?yàn)閿?shù)據(jù)閃退的情況,而且數(shù)據(jù)解析使用比較簡單,不需要考慮這一塊的,只管使用成肘。比較不爽的就是每次修改一點(diǎn)就要全部編譯,因?yàn)槲募幸灿幸恍┫嗷ヒ貌恢朗欠袷俏宜镜膯栴}.后續(xù)熟悉了來解決卖局。

那么在iOS開發(fā)中如何使用protobuf?
1.首先不管語言,都要在電腦上安裝protobuf的編譯器,需要注意的時(shí)候 最好是跟后端約定好版本,我是用的是3.0.0.手動(dòng)安裝,
鏈接如下https://link.jianshu.com/?t=https%3A%2F%2Fgithub.com%2Fgoogle%2Fprotobuf%2Freleases
2.其次根據(jù)語言 在項(xiàng)目中使用不同的protobuf支持庫,
OC項(xiàng)目中,因?yàn)槭抢享?xiàng)目所以是直接手動(dòng)拖入的。
swift項(xiàng)目中 推薦cocopods 使用protobufswift.是蘋果官方出的github鏈接如下
https://github.com/apple/swift-protobuf
3.根據(jù)不同的pb文件編譯出來自己語言所需要的文件
這一步我們是后端定義好pb文件,然后我們拿到之后根據(jù)使用的語言編譯成不同的,直接拉到項(xiàng)目中使用.如果是自己項(xiàng)目內(nèi)使用可以參考如下文章http://www.reibang.com/p/16a7c1e68945 有完整的安裝使用說明.

基本的使用就都在上面了,因?yàn)橐彩堑谝淮谓佑|,所以很多東西不是很懂,現(xiàn)在分享出來的也是自己接觸過程中的一些資料.下一篇文章會(huì)有protobuf如何配合網(wǎng)絡(luò)請求使用双霍。文章鏈接如下http://www.reibang.com/p/346b3cf4a55c

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末砚偶,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子洒闸,更是在濱河造成了極大的恐慌染坯,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顷蟀,死亡現(xiàn)場離奇詭異酒请,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)鸣个,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門羞反,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人囤萤,你說我怎么就攤上這事昼窗。” “怎么了涛舍?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵澄惊,是天一觀的道長。 經(jīng)常有香客問我,道長掸驱,這世上最難降的妖魔是什么肛搬? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮毕贼,結(jié)果婚禮上温赔,老公的妹妹穿的比我還像新娘。我一直安慰自己鬼癣,他們只是感情好陶贼,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著待秃,像睡著了一般拜秧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上章郁,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天枉氮,我揣著相機(jī)與錄音,去河邊找鬼驱犹。 笑死嘲恍,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的雄驹。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼淹辞,長吁一口氣:“原來是場噩夢啊……” “哼医舆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起象缀,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對情侶失蹤蔬将,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后央星,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霞怀,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年莉给,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了毙石。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡颓遏,死狀恐怖徐矩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情叁幢,我是刑警寧澤滤灯,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響鳞骤,放射性物質(zhì)發(fā)生泄漏窒百。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一豫尽、第九天 我趴在偏房一處隱蔽的房頂上張望篙梢。 院中可真熱鬧,春花似錦拂募、人聲如沸庭猩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔼水。三九已至,卻和暖如春录肯,著一層夾襖步出監(jiān)牢的瞬間趴腋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國打工论咏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留优炬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓厅贪,卻偏偏與公主長得像蠢护,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子养涮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344