ところで通常、プログラムを作る人は、汎用的な処理を行うプログラム(ルーチン)をライブラリとしてため込んでいます。
同じような動作をするプログラムを何回も書かなくても良いようにするわけです。
これをWIndowsごとやってしまおう、というのがAPIの基本的な考えです。
つまり、Windowsの開発元であるMicrosoftが「ウィンドウってのはこういう形をしてて、こういう動きをするんだよ」というのをライブラリとして提供してくれるわけです。
それを使えば、「こっからここまでの範囲で、こんな感じの絵で、ここにタイトルがあって、ここにアイコンがあって……」とやるべきだったことを、ライブラリに「Windows標準のウィンドウをこっからここの範囲に作ってね」とお願いすればいいんです。
あとは、難しいことは全部他人任せにして、本当に「自分のプログラム」の処理だけを作るのに専念してしまえます。
それから、プログラムサイズのコンパクト化というのがあります。
つまり、APIというものがなかったら、似たような処理をしている部分がそれぞれのプログラムに入っていることになってしまいます。この辺、無駄です。これがさっき言った「無駄」の話。
同じような部分があるんなら、違いだけ残して統一してしまえばいいということです。
やり方は簡単。さっきのアレです。
「Windows君、この辺にウィンドウを描いてくれ、頼んだ」
とすればいい訳です。書き方なんかはWindows一人が中で覚えていればいいだけのこと。僕らが気に病むことではありません。
さて、今回はわかりやすいということでウィンドウとかを引き合いに出して話しましたが、本当はもっと多くのところにAPIは潜んでいます。
画像描画、文字入力、サウンド出力、ネットワーク、その他色々……。
正確には、WindowsはAPIでできた雪だるまって話なんですけどね。
|