閑談Android SDK開發(fā)

這段時間接手了**魔盒的支付模塊和供三方應(yīng)用調(diào)用的支付SDK模塊,這才發(fā)現(xiàn)SDK開發(fā)跟應(yīng)用版本開發(fā)的理念不太相同。無線應(yīng)用產(chǎn)品捷绑,版本更新越快越新可能就越開心儡蔓,說明業(yè)務(wù)以及產(chǎn)品在不斷發(fā)展满哪、優(yōu)化和改進;然而對于SDK來說,發(fā)布新版本的心情卻是復(fù)雜的,開心又心塞... ... 開心的是有新功能卧须,但是更多的是多版本維護帶來的各種壓力和成本,SDK一個版本的生命周期不可能像應(yīng)用那么短,而且它帶來的問題影響也會更加長久花嘶,接入方不可能輕易更換SDK版本笋籽,新功能要考慮到使用舊版SDK應(yīng)用的適配性,因此要更加謹慎和慎重椭员。

總的說來车海,一個好的SDK需要具備以下三個特性:

一、輕便且易擴展的SDK API

接入API一定要簡單隘击!要簡單容劳!要簡單!重要的事情說三遍闸度!對于SDK的客戶端開發(fā),雖然你可以任性地在不同版本隨意的優(yōu)化入?yún)⒁约罢{(diào)用方式并且不會招致什么大問題蚜印。但是這對于接入SDK的開發(fā)來說莺禁,絕對是噩夢一般的存在。理想的SDK接入過程一定是非痴常“順滑”的哟冬,哪怕不開文檔只看接口,也能順利接入忆绰,這才是一個設(shè)計良好的SDK浩峡。反之當SDK接入、更新的成本超過甚至逼近開發(fā)直接對接的成本時错敢,這個SDK其實是失敗的翰灾,而且也失去了應(yīng)有的意義。

SDK也是一個產(chǎn)品稚茅,但是又有其特殊性:API一般說來要有一定的持久性和穩(wěn)定性纸淮,因此需要在設(shè)計初期考慮到產(chǎn)品后期的業(yè)務(wù)發(fā)展趨勢,提前留好接口的相關(guān)業(yè)務(wù)擴展參數(shù)亚享。

二咽块、已接入應(yīng)用適配問題

保證已接入應(yīng)用適配問題的關(guān)鍵在于兩點:一個是極簡集成、一個是分層設(shè)計欺税。極簡集成顧名思義就是把SDK做薄侈沪,只做最基本的業(yè)務(wù)參數(shù)傳遞和通道建立;分層設(shè)計則將SDK和業(yè)務(wù)核心模塊區(qū)分了開來晚凿,這樣可以讓核心業(yè)務(wù)不受SDK版本的限制亭罪。

我所負責的**魔盒支付模塊基本架構(gòu)如下圖所示:

支付架構(gòu)圖

采用這樣的架構(gòu)模式,業(yè)務(wù)方只需要在引入SDK jar包后加入短短幾行代碼歼秽,就可以把支付功能托付給支付核心模塊來做皆撩,在不改變API的情況下,底層業(yè)務(wù)的更新可以直接供上層使用,無須再次接入新的SDK扛吞。

三呻惕、穩(wěn)定性保障

SDK以及相關(guān)核心業(yè)務(wù)的穩(wěn)定性也是至關(guān)重要,主要需要關(guān)注以下幾點:

1滥比、安全機制亚脆;

2、線程管理盲泛;

3濒持、用戶界面友好性;

4寺滚、內(nèi)存使用情況柑营;

5、CPU占用情況村视。

最后就是SDK的版本控制官套,個人覺得最好的版本狀態(tài)是有三條分支:穩(wěn)定版、開發(fā)版以及定制版蚁孔。穩(wěn)定版用于大面積的推廣奶赔;開發(fā)版用于一些急于使用新功能的應(yīng)用試用。穩(wěn)定版本和開發(fā)版本的存在是為了提高SDK的版本質(zhì)量杠氢,同時結(jié)合版本發(fā)布的一些策略站刑,降低SDK版本質(zhì)量對使用者的影響以及SDK的bug的影響范圍。



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鼻百,一起剝皮案震驚了整個濱河市绞旅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌温艇,老刑警劉巖玻靡,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異中贝,居然都是意外死亡囤捻,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進店門邻寿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蝎土,“玉大人,你說我怎么就攤上這事绣否√苎模” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵蒜撮,是天一觀的道長暴构。 經(jīng)常有香客問我跪呈,道長,這世上最難降的妖魔是什么取逾? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任耗绿,我火速辦了婚禮,結(jié)果婚禮上砾隅,老公的妹妹穿的比我還像新娘误阻。我一直安慰自己,他們只是感情好晴埂,可當我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布究反。 她就那樣靜靜地躺著,像睡著了一般儒洛。 火紅的嫁衣襯著肌膚如雪精耐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天琅锻,我揣著相機與錄音卦停,去河邊找鬼。 笑死浅浮,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的捷枯。 我是一名探鬼主播滚秩,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼淮捆!你這毒婦竟也來了郁油?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤攀痊,失蹤者是張志新(化名)和其女友劉穎桐腌,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體苟径,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡案站,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了棘街。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蟆盐。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖遭殉,靈堂內(nèi)的尸體忽然破棺而出石挂,到底是詐尸還是另有隱情,我是刑警寧澤险污,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布痹愚,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏拯腮。R本人自食惡果不足惜窖式,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望疾瓮。 院中可真熱鬧脖镀,春花似錦、人聲如沸狼电。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肩碟。三九已至强窖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間削祈,已是汗流浹背翅溺。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留髓抑,地道東北人咙崎。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像吨拍,于是被迫代替她去往敵國和親褪猛。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,264評論 25 707
  • From:郭霖 前言 目前更多開發(fā)者熱衷于應(yīng)用開發(fā),極少數(shù)的開發(fā)者才有機會從事SDK開發(fā)工作,而市面上關(guān)于SDK開...
    胡二囧閱讀 1,031評論 3 7
  • 自從前段時間離職后,因為個人的事情一直沒有選擇再工作,也導(dǎo)致原有的文章并沒有按時產(chǎn)出.最近個人的事情整理的也差不多...
    涅槃1992閱讀 5,489評論 18 61
  • 今天我到學(xué)校老師說把我們的書包放下羹饰,拿掃帚和小土簸箕跟著老是走伊滋,到了操場,老師讓楊尚峰把我們分成三組掃落葉队秩,老師說...
    賢惠的煎蛋餅閱讀 647評論 0 1
  • 課文 Dentists always ask questions when it is impossible fo...
    SheBang_閱讀 930評論 0 0