4

私が知る限り、SDK と API は完全には異なりますが、SDK は実装ツールであり、API はより多くのインターフェイスです。

SDK は、一連のツール、ヘルパー クラス (API へのアクセスを簡素化する追加コードなど)、特定の言語バインディング、およびユーザーが API を開発して使用するのに役立つサンプル コードを提供する場合があります。一般に、一連の機能を公開する単一の API を使用し、その API にアクセスするための複数の SDK を使用できます。API 用の SDK が常に存在するとは限りませんが、SDK が提供されていると役立ちます。

データにアクセスするための REST API を開発しているという要件があります。私の推奨事項は、REST API の上に SDK を作成することです。

API の設計に過度の負担をかけてはなりません。必要なものの多くはクライアント側にあり、その負担を SDK にプッシュできます。SDK は、開発者が API 操作を呼び出すためにアプリで使用するプラットフォーム固有のコードを提供できます。つまり、API をきれいに保つことができます。

他のアーキテクトの 1 人は、REST API の上に SDK を開発することに興味がなく、SDK が追加のオーバーヘッドになると感じています。

私はちょうどこのフォーラムからさまざまな考えを得ることを考えました...提案、フィードバック、アイデアは本当に役に立ちます..

ありがとう、
バラニ

4

1 に答える 1

5

おっと...頭字語の時間です!

SDK は通常、REST やその他の Web サービス API へのアクセスを容易にする単なるラッパー クラスと関数です。プログラマーが使用するインターフェイスを提供するため、それら自体が API です。クライアントに curl やその他の Web リクエストを直接実行させて Web API をヒットさせる代わりに、それを抽象化できます。

SDK を構築している場合はクールですが、コア Web API はクリーンで理解しやすく、それ自体のメリットに基づいている必要があります。

クライアント層がRESTサービスに直接アクセス/消費できないか、実際の開発スタッフがいない場合を除き、私はSDKの大ファンではありません. たとえば、ドロップイン コードが必要で、Facebook の「いいね」ボタンよりも複雑なものを作成するのが難しい Web マーケターをターゲットにしている場合です。SDK は、特に異なるプラットフォーム間で、現在および将来、作成および維持するためのオーバーヘッドを追加します。余分な時間を REST API の改善に投資してください。

于 2012-11-29T18:46:34.873 に答える