ソフトウェア開発キット

SDKは、特定のプログラミング言語へのインターフェイスに使用される再利用可能な関数のデバイス上のライブラリの形式で、アプリケーションプログラミングインターフェイス(API)の形式をとることができます。特定の組み込みシステムと通信できるハードウェア固有のツールと同じくらい複雑です。一般的なツールには、デバッグ機能やその他のユーティリティが含まれ、多くの場合、統合開発環境(IDE)で提供されます。 SDKには、サンプルソフトウェアやテクニカルノート、ドキュメント、主要な参考資料のポイントを明確にするためのチュートリアルが含まれている場合があります。

SDKには、以下で開発することを目的としたソフトウェアの構築に適さないライセンスが含まれていることがよくあります。互換性のないライセンス。たとえば、プロプライエタリSDKは一般にフリーソフトウェア開発と互換性がありませんが、GPLライセンスのSDKは法的な理由でプロプライエタリソフトウェア開発と互換性がない可能性があります。ただし、GNU劣等一般公衆利用許諾契約書(LGPL)に基づいて構築されたSDKは、通常、プロプライエタリ開発に使用できます。基盤となるテクノロジーが新しい場合、SDKにハードウェアが含まれる場合があります。たとえば、AirTagの2012 NFC SDKには、必要なハードウェアスタックの支払い半分と読み取り半分の両方が含まれていました。

平均的なAndroidモバイルアプリは15.6の個別のSDKを実装し、ゲームアプリは平均17.5の異なるSDKを実装しています。 Androidモバイルアプリで最も人気のあるSDKカテゴリは、分析と広告です。

SDKは安全ではない可能性があります(アプリ内に実装されているが、個別のコードを実行しているため)。悪意のあるSDK(正直な意図があるかどうかに関係なく)ユーザーのデータプライバシーを侵害したり、アプリのパフォーマンスを低下させたり、アプリをGooglePlayやAppStoreから禁止したりすることもあります。新しいテクノロジーにより、アプリ開発者はクライアントSDKをリアルタイムで制御および監視できます。

特定のシステムまたはサブシステムのSDKのプロバイダーは、ソフトウェアではなく、より具体的な用語に置き換えることがあります。たとえば、MicrosoftとCitrixはどちらも、デバイスドライバーを開発するためのドライバー開発キット(DDK)を提供しています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です