ソフトウェア開発キット(SDK)は、(通常は)ハードウェアプラットフォーム、オペレーティングシステム(OS)、またはプログラミング言語の製造元が提供するツールのセットです。 SDKは、開発者がそのプラットフォーム、システム、またはプログラミング言語に固有のアプリケーションを作成するのに役立ちます。自分で組み立てるために購入したドレッサーの部品に同梱されているビニール袋のようなものだと考えてください。あなたは仕事を成し遂げるために必要なものを持っています、そしてキットに含まれるものはメーカーごとに異なります。
通常、基本的なSDKには、コンパイラ、デバッガ、およびアプリケーションプログラミングインターフェイス(API)が含まれますが、次のいずれかを含めることもできます。
- ドキュメント
- ライブラリ
- 編集者
- ランタイム/開発環境
- テスト/分析ツール
- ドライバー
- ネットワークプロトコル
優れたSDKは、開発者がその特定の製品のアプリを作成するときに必要と思われるコンポーネントを提供します。一部のSDKには、開発者ができるだけ早く開始できるように、例または基本的なテストプロジェクトも含まれています。
ソフトウェア開発キットの例としては、Java開発キット(JDK)、Windows 7 SDK、MacOがあります。 X SDK、およびiPhoneSDK。具体的な例として、KubernetesオペレーターSDKは、独自のKubernetesオペレーターの開発に役立ちます。これには、高レベルのAPI、スキャフォールディングとコード生成のためのツール、および一般的なオペレーターのユースケースをカバーする拡張機能が含まれています。
ほとんどのSDKには、ソーステキストレベルで新しいアプリやプロジェクトを接続するためのAPIが含まれています。また、多くの場合、サンプルコードが含まれています。これは、開発者が基本的なプログラムを構築する方法を学ぶのに役立つサンプルプログラムとライブラリを提供します。そこから、より複雑なアプリの開発に進むことができます。
一部のSDKには、APIの使用方法に関するドキュメント、チュートリアル、FAQ、サンプルグラフィックが含まれています。これは、開発者が新しいSDKの使用方法を習得するのに時間がかかる場合があるためです。このため、直感的なプログラミングインターフェイス(またはより広範なドキュメント)は、開発者が競合他社のオプションではなく、ある会社の特定のプログラムを使用するように促すのに役立ちます。
同様に、SDKは会社にとって優れた方法です。開発者に製品を紹介し、プラットフォームまたはOSを使用してアプリを作成するように促します。このため、ほとんどのSDKは無料で使用できます。開発者は、SDKをダウンロードして、すぐにプログラミングを開始できます。
考慮すべき点
一部のSDKには、使用する前に承認および提出する必要のあるルールまたは合意がある場合があります(特に、アルファ段階またはベータ段階の新製品の場合)。一般に公開されていない(オープンソースではない)アルゴリズムを備えたソフトウェアの場合。 SDKはライセンス契約の対象となる場合もあるため、作成されたソフトウェアが互換性のないライセンスでリリースされることはありません。
開発者は、使用を開始するSDKを選択する際に、これらのことを考慮する必要があります。例:
- プロプライエタリライセンスを持つSDKは、オープンソースソフトウェアの開発と互換性がありません。
- General Public License(GPL)を持つSDKは、次の場合には機能しません。プロプライエタリアプリの開発
- プロプライエタリコード要素を持つプロジェクトの劣等一般公衆利用許諾契約書(LGPL)を回避するための警告があります。
Red Hatを選択する理由
オープンソースアプリケーションは、SDKで新しい設計や機能拡張のコーディングが可能であるため、アマチュアや専門家によって継続的に開発されています。その後、コミュニティの他のメンバーと共有されます。
Red Hatは、アプリケーション開発において最高のツール、ソリューション、およびサービスを統合し、それをオープンソースの方法で行います。アプリをビルドするためのプラットフォーム(Red Hat OpenShift)、アプリをビルドするためのランタイム環境(Red Hat Runtimes)、またはアプリケーションの開発、テスト、デプロイに必要なすべてのツールを備えた開発環境(Red Hat OpenShift)を探しているかどうか。 Red Hat CodeReady Studio)、RedHatがカバーしています。