iPhoneアプリ作成日誌 <2.iOSの構造と開発ツール>
iPhoneアプリを作成するにあたり、日々の勉強を綴っていきたい次第です。ちなみに、このサイトは「学術系」であり、断じて「プログラム系」ではありません。
■iOSの構造 -レイヤー構造-
さて、テキストを読んだかぎり、まず押さえておくべきはレイヤー構造だと感じました。だって、ネットワーク系でもTCP/IPのレイヤー構造って、超大切じゃん? だから、これを理解しているか否かで、今後の開発の際の思考が変わってくるものだと、考えてます。
構造は全部で4つ。上位がユーザ・インターフェースであり、下位にいくほどハード・インターフェースになります。簡単にいうと、上位がアプリ単体の機能、下位が複数アプリで共有して使う機能、ですね。
1.Cocoa Touchレイヤー
グラフィカル・ユーザ・インターフェースを実現するUIKitフレームワークと、基本的な処理を行うFoundationフレームワークなどから構成。アプリケーションやイベント処理だけでなく、iOSならではの加速度センサーや内蔵カメラ、フォトライブラリなどもこのレイヤーです。
2.Mediaレイヤー
2Dおよび3Dグラフィックス、アニメーション、オーディオやビデオのフレームワークです。再生だけでなく、録音の処理も担当します。
3.Core Servicesレイヤー
アドレスブックや現在地情報、セキュリティ、SQLiteなど汎用データを様々なアプリケーションで利用できるよう、提供するレイヤーです。つまり、この幅が広ければ広いほど、アプリ間で情報共有できる項目が多いのかな、と思います。あと、ネットワークのプロトコル処理もこのレイヤーです。
4.Core OSレイヤー
Machカーネルやドライバ、メモリ割り当て、ファイルシステム、演算処理、DNSサービスなどがこのレイヤーです。巷では「iOSのアプリではメモリ管理が・・・」という言葉を聞きますが、各アプリでこのレイヤーに属するメモリを制御する必要がある、ということでしょうか?
■開発基本ツール -iOS SDK-
iOSについて基本をおさえたところで、開発のために必要なツールを確認しましょう。
1.Apple Developer ※サイトはこちら
アップルの開発者向け、総合サイトです。iOSだけでなくMacアプリ、Safariアドオンの開発についてもリンクしています。
トップページは日本語なのですが、各開発ページへ入ると全て英語。表紙と中身が違うなんて、なんか、不愉快です(`ヘ´)
このサイトから開発ツールである後述の「iOS SDK」がダウンロードできるほか、Apple IDでログインすると、iOSの最新情報や、サンプルコード、膨大な量のライブラリを閲覧できます。暇があれば読むべきなんでしょうが、それができないからこそ、エッセンスの詰まった参考書を買うわけですな。
2.iOS Developer Program ※サイトはこちら
開発したアプリをiPhoneで動かしたり、App Storeで配布or販売したりするのに必要なアカウントです。一般人は年間$99、企業はまた別契約になります。実機でテストしたい以上、購入は必要不可欠です。
上記のApple Developerのサイトから辿り着けます。
3.iOS SDK(iOS Software Development Kit)
Apple特製の開発キットです。Apple Developerで無償ダウンロードできますが、Mac OS X 10.5 Leopard以降じゃないと動きません。ボクはiMac、しかもLionなので問題なしです。
このキットのなかには4つのツールがあります。メインは、Xcode。それをサポートするかたちで、残りのツールを使うみたいですね。
●Xcode・・・プロジェクト管理やソースコード編集、デバッガなどの統合開発ツール。プログラミングはコレで行います。
●Interface Builder・・・GUIの手法でユーザ・インターフェースをデザインするツールです。
●iPhone Simulator・・・Mac上でのシミュレータです。
●Instruments・・・パフォーマンス解析ツールです。
以上、今週のお勉強でした。次回から、Xcodeを実際に使ってみた感想に入りたいと思います。なお、このサイトは学術系サイト「シリア語.net」です。






