About
About Objective-C Dev Guide
 
Cocoaフレームワークを使ったプログラミング

実際にプログラミングを始める前に、まずは「Cocoaとは何か?」を知っておく必要があります。この章では
・Cocoaとは何か?
・プログラミング言語であるObjective-Cとの関係
・フレームワークとは何か?
以上の3点を中心にプログラミング言語としてのObjective-C、フレームワークとしてのCocoaの位置づけについて解説します。

Cocoaって何?
Macでは、Cocoaを使ってプログラミングを行うことは既にご存知だと思います。では、一概にCocoaといってもその正体は何でしょうか?一言で言うとCocoaとは数あるアプリケーションフレームワークのひとつです。単にフレームワークと呼ぶことが多いですね。プログラミングを行っていく上で、アプリケーションの基礎的な部分、たとえば今開いているブラウザの「閉じる」ボタンを押した時の処理は、Cocoaが提供しているフレームワーク機能の内の一つです。


ウィンドウの基礎的な部分はCocoaフレームワークが提供している

ウィンドウそのものも、実はCocoaフレームワークによって定義されています。このような機能はどのようなアプリケーションでも必ず必要です。しかし、それを実装するための処理を毎回記述していくのはとても効率が悪いですよね。OSの標準構造を定義・実装するのにフレームワークという概念を採用することで、プログラマーの負担を減らすと同時に、アプリケーションを使うユーザはアプリケーションごとに異なる操作を強いられることなく操作を行えるのです。

ちなみに、フレームワークが存在する意図は基礎的な機能の提供だけではなく、GUI【グラフィカルユーザインターフェース】環境の統一といった意味合いもあります。たとえば、MacOSXになって一気に変わったGUI環境、とてもグラフィカルですよね。実はこのデザインそのものも、Cocoaフレームワークによって定義されています。OS9時代はCocoaではなくCarbonフレームワークが採用されていましたので、OS9とOSXの間では、GUI環境が異なります。OSXになり新しく採用されたフレームワーク、それがCocoaです。

APIとメソッドの話
先ほど、Cocoaフレームワークによってプログラムの骨組みが既にコーティングされているといいました。では、このフレームワークの機能はどのように使えばいいのでしょうか?

フレームワークの機能を使うには、API【アプリケーションプログラムインターフェース】を使います。プログラム内ではAPIという、Cocoaフレームワークの機能を呼び出すための窓口が用意されており、アプリケーションのソース内ではこのAPIの窓口(実態はメソッドです。後で詳しく解説します)に必要な値を渡してやることで、Cocoaフレームワークに処理をお願いします。この繰り返しが、「Cocoaフレームワークを使ったプログラミング」ということになります。


APIに必要な処理を渡すことで、Cocoaの機能を呼び出せる

メソッドとは
プログラミングでは、何らかのアクションが発生したときの処理を記述していく必要があります。こういった処理を行うものをメソッドと呼んでいます。メソッドにその処理に必要な数値【引数】を渡すことで、Cocoaの機能を呼び出し、その数値に基づいた処理を行ってくれます。また、その処理によって何らかの答えが返ってくる場合、メソッドから返ってくる値のことを【返り値】といいます。先ほどAPIの正体はメソッドと言いました。APIとは、Cocoaフレームワークの様々な機能を呼び出すために必要なメソッドの集合体と考えるとわかりやすいかもしれません。


メソッドに引数を指定することで、その答えとなる返り値を得る

ただし、この図のように必ずしも返り値が返ってくるとは限りません。単にウィンドウのサイズを設定したい時などは、縦幅、横幅といった値(引数)をメソッドを使って渡してあげればいいだけなので、返り値は特に必要ありませんよね。Cocoaを使ったプログラミングでは、このようなメソッドの集合体であるAPIを使いこなす必要があります。

Objective-C
フレームワークもAPIも、その実体はプログラムです。これらに採用されているプログラミング言語がObjective-Cであり、Macで動くアプリケーションを作るには、このObjective-C言語を使ってコーティングしていくことになります。ちなみにこのObjective-C言語は、従来のC言語をベースに作成されている為、C言語の文法を知っておく必要があります。逆に言えば、C言語がそのまま使えるということになりますので、Objective-CだけでなくC言語も学んでおけば、プログラミングの自由度はおのずと広がるはずです。

ここでは、Cocoaフレームワークを使ったプログラミング方法を学びました。次の章ではオブジェクト指向について、もっと詳しく解説したいと思います。

無料でダウンロードできるApple社純正統合開発ツール(IDE)
 
inserted by FC2 system