Share to: share facebook share twitter share wa share telegram print page

 

ソフトウェア開発キット

初代PlayStationのSDK一式

ソフトウェア開発キット(ソフトウェアかいはつキット、英語: Software Development KitSDK)は一般に、特定のソフトウェアパッケージ、ソフトウェアフレームワークハードウェアプラットフォーム、コンピュータシステム、オペレーティングシステムゲーム機などのためのアプリケーションを作成するためにソフトウェア技術者が使用する開発ツールのセットを意味する。

概要

ソフトウェア開発キットは、APIとして特定のプログラミング言語用のインタフェースを定義したファイル群という形式のような簡単なものである場合もあるし、何らかの組み込みシステムと通信するための特殊なハードウェアやプロトコル仕様を含む場合もある。一般的なツールとしては、コンパイラリンカデバッガ、その他のユーティリティソフトウェアなどのツール類が含まれる。SDKが統合開発環境にバンドルされていることもある。SDKには、サンプルコードやサポートのための技術ノートなどの何らかの文書が含まれていることが多い。

ソフトウェア技術者は、一般に開発対象としているシステムの開発者からSDKを受け取る。SDKを直接インターネットからダウンロードすることも多い。開発者がそのシステムやプログラミング言語を使うことを促進するため、SDKは無料で配布されることが多い。時にはSDKがマーケティングのツールとして利用されることもある。例えば、ある製品上で動作するプログラムを開発して販売したいと考える人々は、プログラムを開発・テストするために対象製品を買うことになるが、対応するSDKが無料で配布されていれば、製品購入のハードルが下がる可能性が高くなる。

SDKは、何らかのライセンスが設定されており、そのライセンスと非互換なライセンスでソフトウェアを開発しようとした場合に困った事態が発生する。例えば、プロプライエタリなSDKは自由ソフトウェアの開発には不適である。また、GPLのSDKはプロプライエタリなソフトウェア開発に向かない可能性がある。LGPLのSDKは一般にプロプライエタリな開発でも安全と言える。[独自研究?]

オペレーティングシステムへのアドオン形式のSDK(例えばMac OS用のQuickTime)は、アドオンソフトウェア自身を含んでいることがある(再配布の必要がないにしても、開発目的で使用するために含むことがある)。少なくとも立ち上げ時点でシステム構成をOSに問い合わせてアドオンの有無を調べるようなアプリケーションを作成することも可能であり、そうすると興味深い状況が発生する。通常であれば、アドオンがなければ実行が失敗するだけだが、アドオン無しでも機能を限定してある程度動作するようなアプリケーションをひとつのバイナリで作成することは不可能ではない。すなわち、アドオンをインストールしていない(ライセンスを持っていない)システム上で、そのアドオンのSDKを使ったアプリケーションが(機能を使っていないとは言え)動作しているわけであり、ライセンス上の扱いが焦点になる。

特定のシステムやサブシステムのためのSDK提供者は、「ソフトウェア」という用語の代わりに別の用語を使用することもある。例えば、PalmSourcePalm OS開発キット(Palm OS Development Kit、PDK)を提供している。

マイクロソフトは以前デバイスドライバ開発のためのSDKをDriver Development Kit (DDK) という名称で提供していたが、これはのちにWindows Driver Kit (WDK) に置き換えられた。

Appleユーザー空間で動作するデバイスドライバ開発のためにSystem ExtensionとDriverKitを用意している[1]

上位レベルのウィジェット・ツールキットアプリケーションフレームワークは、一般的に各プラットフォーム用のSDKに用意されている下位レベルのAPIを利用して実装される。これらは通例SDKには分類されないが、公式にサポートされる上位レベルAPIとしてSDKの中に含まれていることもある。

実例

脚注

関連項目

Kembali kehalaman sebelumnya


Index: pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve 
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9