iOSの構造は4つの階層でできている
iOSプラットフォームは、ハードウェアと画面上で動作するアプリの仲を取り持つ仲介役としての役割を果たしているわけです。つまり、ハードウェアと開発したアプリが直接やり取りすることはほぼ無いということを意味します。その役割をシステムインターフェースとしてのiOSが果たしてくれるわけです。このおかげで、ハードウェアの能力が異なるデバイス上でも開発アプリが容易に動くことができたりするわけですね。
これを容易にしてくれるiOSプラットフォームの構造は階層化されており、Cocoa Touch、Media、Core Service、Core OSの4つのレイヤから構成されています。
上図のApplicationの下、レイヤ(層)の最上位にある「Cocoa Touch」の機能を主に使用してアプリの開発は行なわれます。「Cocoa Touch」より下位のレイヤ群は階層の段階で下になればなるほどよりハードに近い複雑な機能を持っています。上位になればなるほど下位レベルの構造をオブジェクト化してより分かりやすくしています。ということで、下位構造のMedia、Core Service、Core OSも、高度な機能が必要な場合には必要になるでしょうが、多くは最上位のCocoa Touchにおいてアプリ開発は行なわれるということですね。
各レイヤの概要
- Cocoa Touch iOSアプリケーションを作成するための主要なフレームワークが含まれています。最上位レイヤーで、ビューやiPhoneアプリを開発する上で必須の機能を実装。iPhone/iPadの特徴、マルチタッチや、その他アプリケーションの基盤技術もこのレイヤーで実装。
- Media グラフィック、ビデオなど、Audio・Visualの機能に対応するレイヤです。
- Core Service アプリケーションから使用可能なサービスが実装されいる。「Media」、「Cocoa Touch」といった上位レイヤーに実装されている機能も、「Core Service」の機能を利用し実装されている。
- Core OS スレッド、ネットワーク、ファイルシステム、メモリ処理等のOSが持つ基本的な機能を持つ。ドックコネクタに接続した外部デバイスのサポート、セキュリティ関連の機能もこの下位層で実装することができる。
マルチタッチ機能の制御、加速度センサ、View hierarchy、言語サポート、カメラ、iAd、Game Kit、Address Book UI、Map Kitなどの各コンポーネントを実装している。
OpenAL、オーディオと録音、ビデオフォーマットおよびイメージフォーマットのサポート、Quartz、 Image I/O、Core Animation、Core Audio、Core Text、Core MIDI、OpenGL ES、AirPlayなどの各コンポーネントを実装している。
ネットワークサポート、アドレスブック、SQLite データベース、Core Foundation、Core Location、Grand Central Dispatch、In-App Purchaseの各コンポーネントを実装している。
TCP/IP、ソケット、パワーマネージメント、アクセサリの制御、スレッド、セキュリティ、ファイルシステムの各コンポーネントを実装している。
関連記事 -iOSアプリ開発事始
- #01:iPhoneアプリ開発に必要なもの
- #02:Apple Developerに開発者登録
- #03:Xcodeのダウンロード・インストール
- #04:iOSシミュレータのキーボードを日本語モードに設定する
- #05:そうだ、iOSアプリの動作メカニズムについて知っておこう!
- #06:「Xcode」はじめにざっくり理解しておこう!
- #07:「Xcode」のワークスペースの機能構成をざっくり学んじゃいましょう!
- #08:iOSアプリ開発の第1歩!Objective-Cでプログラム入門の定番「Hello World!」表示プログラム
- iOSアプリ開発事始09:GitHubライブラリ「EGOTableViewPullRefresh」を実際にサンプルプログラムに実装してみました!
0 件のコメント:
コメントを投稿