2008-11-24 37 views

回答

7

它們並非真正相互排斥。它更多的是一個連續統,但系統背後的發展哲學往往傾向於一端或另一端。

基本上位在電線上說,通信協議是很簡單的,它可以經由一些相對簡單的(或甚至非正式)規範來描述外部開發。這意味着服務可以以各種不可預見的方式使用,服務消費者不需要是官方支持的平臺。

在另一方面,公司以單片產品像蘋果和微軟選擇另一種理念,這是建立一個完整的端至端SDK的奢侈品。理論上講,通過抽象出底層協議的複雜性,同時釋放產品來完成更復雜的事情,並減少開發人員的錯誤,從而使開發人員的生活更輕鬆。當然,還有一些東西,它們仍然會穿過電線,並且它們可以被反向設計。然而,這會比使用被設計爲可以理解的協議困難得多(數量級),特別是如果故意混淆或加密以便爲商業利益服務。

10

假設客戶端C需要跟服務S由供應商提供的V.如果所有你是一個SDK,那麼你必須的客戶端C以交談S.另外安裝廠商五世的SDK軟件另一方面,如果供應商V文件究竟如何談服務S降到位的水平,那麼你可以在客戶端C編寫自己的軟件,以直接對話的服務S.

+2

所以... SDK爲您提供了一個翻譯和比特 - 上的線給你羅塞塔石碑? – Fry 2008-11-24 04:44:50

1

他們不必是相互只是提供服務的任何人都會將重點放在SDK或有線協議上,作爲他們面向公衆的面向客戶的承諾界面。你可以有提供這兩種服務的服務,並讓你的客戶選擇哪一個關注,但這可能是一種奢侈。

3

雖然在某些情況下有助於瞭解什麼是在位級別特別是用於故障排除回事,用供應商的SDK可能是最好的辦法,以您的集成從任何未來的變化隔離的供應商可能使他們的消息結構體。

這並不是說在獲取最新的SDK等方面不會有任何不便,但至少如果供應商做好了自己的工作,則不必擔心更改代碼,只是使用他們的新SDK。

例如,我們曾與一家名爲ISD的公司合作,專門從事付款切換產品。我們編碼到他們的SDK。雖然他們的產品經歷了一些版本控制,但我們最需要做的是更新客戶端計算機上的DLL。該DLL保留相同的公共接口。

1

如果你去SDK的路線,這是非常重要的,也沒有提供關於電線規格的位,如發生在this story