SDK詳解


SDk詳細介紹

SDK是Software Development Kit 的縮寫,翻譯過來-軟件開發工具包。這個解釋覆蓋面相當廣泛,簡單來說:輔助開發某一類軟件的相關文檔、范例和工具的集合都可以稱作是sdk。

SDk被開發出來是為了減少程序員工作量,比如微信支付SDK,支付寶支付SDK是能夠實現支付功能,出售給其他公司使用,那么就將支付功能封裝成SDK賣給其他公司,供其他公司調用,其他公司如果想要使用軟件開發出的某功能,直接付錢,在軟件中嵌入第三方的sdk,就能成功使用了。

其實SDK都是類似公共服務的東西,都代表的是一種封裝。

SDK的封裝是在客戶端層面的一個library(也叫做“包”或者“庫”),這個library提供一些客戶端API接口,類似於已經寫好了的函數,你只需要調用它就好了。SDK暴露出來的接口都是和語言相關的,如果SDK是用Java寫的,就需要用Java去調用那個函數;如果是SDK是用Objective-C寫的,就需要用Objective-C去調用那個函數。

SDK的缺點

缺點一:

SDK的不便性在於,他和App一樣,是需要升級的,比如修復某些bug,就需要讓所有用了舊SDK的商戶在更新自己產品的時候采用新的SDK。

但是SDK的升級是做不到強制性的,所以SDK提供方的人就很痛苦,因為需要向下兼容很多個版本,有的時候會直接通知死都不升級的消費者商家說:“老版本的我不支持了,要用的趕緊升級!”強勢的SDK提供方,比如Facebook,會提前一年和你說某個SDK一年后不支持了。但實際上,就算給了一年的時間,很多消費者廠商還是很難完全更新他們使用的SDK,因為有時候采用了舊版本SDK的App的用戶數目太大,總有一些量的用戶並不願意升級。

缺點二:

因為SDK是完全封裝好的,提供的是一個二進制的包,使用SDK的消費者廠商完全不知道他的實現細節。

有時候使用一些小廠開發的SDK非常有風險,如果其中有一些“手腳”,消費者是不知道的。上次有個做廣告變現的小廠開發了一款可以幫助變現的SDK,變現方式是用了他的SDK之后,彈一個廣告給用戶,如果有用戶點廣告后會得到廣告提成。但是這個小廠接廣告的模式是直接下載apk,根據規定是不能直接繞開Google Play去下載apk,Google因為這個原因,把所有集成了這個SDK的App全都下架了。 
所以,如果SDK的提供方做了一些違反政策的事情,就會把完全不知情的你牽連,所以很多人不願意集成小廠的SDK,只願意集成Facebook,Google之類大廠的SDK。

缺點三:

理論上,SDK提供方可以做到,知曉消費者廠商的用戶規模。

因為消費者廠商的用戶也算是提供方的用戶,所以如果SDK提供方在實現中加入一些數據上報的動作,技術上來說是完全ok的。而用戶規模、用戶數據等都是非常隱私的東西,消費者廠商肯定是不想被別人知曉的。

簡單點來說

SDK對指定功能的實現是完全隱藏的,只需要調用接口函數,傳進去特定的值即可實現提供商制定好的功能。

 

 

 

 

 

 

 

 

 

 

有什么寫的不足的地方,希望大家多多補充,上述僅是我的一些經驗


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM