SDKとは?~ソフトウェア開発環境を作るためのツールセット~|データ分析用語を解説

AUTHOR :   ギックス

本記事は、株式会社ギックスの運営していた分析情報サイト graffe/グラーフ より移設されました(2019/7/1)

ソフトウェア開発するための最初の作業はSDKの入手から

Windows95が発売された20年前は、ソフトウェア開発は、高価な開発ソフトウェアを購入し、一部の限られた開発者が行うものでした。しかし、現代のスマホアプリに代表されるソフトウェア開発は、SDKの無料配布により、一般の開発経験が浅い人達でも行えるようになりました。今回は、このSDKについて解説したいと思います。

SDKとは

SDKは、「Software Development Kit(ソフトウェア開発キット)」の略です。SDKについて、IT用語辞典の内容を転記します。

SDKとは、あるシステムに対応したソフトウェアを開発するために必要なプログラムや文書などをひとまとめにしたパッケージのこと。システムの開発元や販売元が希望する開発者に配布あるいは販売する。近年ではインターネットを通じてダウンロードできるようWebサイトで公開されることが多い。
出所:IT用語辞典

要するに、SDKは、ソフトウェア開発を希望する人に配布する開発ツールキットです。かつて、SONYプレイステーション(PlayStation)が、ゲーム開発用のSDKとして、ソフトウェアとゲーム機を販売していた事もありました。現在は、一般的なSDKの殆どは、インターネットを通して、無償で配布されています。

Android SDKについて

代表的なSDKとして、AndroidのSDKがあります。Android OSが搭載されたスマホのアプリを開発する場合、始めに開発言語の基礎となるJava言語のSDK(通称、JDK)をORACLEのサイトから入手し、開発用のパソコンにインストールします。その後、Android SDKをAndroidのサイトから入手し、インストールします。また、開発画面として、Eclipseという統合開発環境が必要になります。
Android SDKには、Andoridの電話機能やカメラ機能などを操作する機能や、画面を構成するボタンやテキストボックスなどのパーツが関数として用意されています。これによって、ある程度のJava言語の開発スキルがあれば、Androidの細かい仕組みを知らなくても簡単にスマホアプリを開発できるようになっています。
また、エミュレーターと呼ばれる仮想のAndroidスマホ環境を作るツールもSDKの中に含まれています。これによって、Windowsパソコンなどで様々なAndroid OSのバージョンや画面サイズの動作確認を行うことができます。

SDKの狙いはサービスやソフトウェア、OSを普及させるため

いくら素晴らしいサービスやソフトウェア、OSがあっても、それを使うソフトウェアが存在しないと使い勝手が悪く、普及しません。
例えば、Androidスマホ(Android OS)の場合、Android SDKに開発に必要な優れた関数やツールを無償で提供することによって、多くの人がソフトウェアを開発し、そのソフトウェアを目的でAndroidスマホを購入する人が増え、その結果、Android OSが普及します。
また、クラウドシステムの覇者であるAmazonのクラウドシステム(AWS)は、優れたクラウドサービスをインターネット上に提供すると同時に、これらのサービスを操作する「AWS SDK」を様々な開発言語用に提供することのよって、Windows、UNIX、スマホなどの幅広い環境で簡単にクラウドサービスを利用できるようになっています。
データ分析用語:索引

SERVICE