iPhoneアプリがつくりたいの(前哨戦)

iPhoneアプリがつくりたいがために購入したMacBookで本格的にプログラミングをしていこうとやっと決意できた。もうかれこれ2ヶ月くらい放置してたわけなんだが、kenmazが公開していたiPhoneアプリになにげにレビューが大量についていたことと、そのレビュー情報を組み入れてアプリがアップデートされていたのをみて、「ぷち世界デビューおめでとう」と思ったことにある。


とりあえず俺はMacはど素人だったんで、Macプログラミングの入門書である「たのしいCocoaプログラミング」を購入。iPhoneのOSは、組み込み用に最適化されていはいるものの基本はMac OS Xであり、CocoaをベースとしたCocoa touchとObjective-Cによるプログラミングが基本となる。よってMacアプリを作るのもiPhoneアプリを作るのも出始めはそれほど変わらない。それとこの本は、iPhone SDKが公開された2008/7を受けて改訂版を出しているので、一応iPhoneアプリをつくる入門書としても使えるように意識されている。


たのしいCocoaプログラミング[Leopard対応版]

たのしいCocoaプログラミング[Leopard対応版]


この本をさらっと読んで気になったところをピックアップ。

  • Macアプリ用のIDE統合開発環境)はXCodeしかねえ。
  • 今はCocoaだが、昔はCarbonっていうフレームワークを使っていた。過去アプリの互換性を保つために残してはあるが、古いAPIはDeprecatedされつつある。(.NetFrameworkとWin32みたいなものかね)
  • Objective-Cは、JavaPythonRubyと相性がよくて、ブリッジ(ラッパー)が作成されている・・・が、JavaLeopardからはサポート打ち切りだってさ。Rubyは逆にLeopardから標準搭載。(時代はやはりRubyですか)
  • Objective-C 2.0が2007年に登場。ランタイムにガベージコレクションが搭載された。iPhoneObjective-C 2.0なんだけど、ガベージコレクションはついてない!(ぉぃ!)
  • Objective-Cはマイナーだ!本がない!あっても1冊!しかもほとんどCocoa専用言語!それ以外は期待できない!(言い切るなよw)
  • ビルド = コンパイル + リンク + バンドル・・・バンドル!?バンドルは実行ファイル+画像等のリソース+画面レイアウト情報などを纏め上げる作業。これによって.appのアプリができるらしい。
  • コンパイル - コンパイラ, リンク - リンカ, バンドル - バンドラ? いいえ、そんな用語ありません。
  • Objective-Cってヘッダとソースが必要。ファイルの拡張子は.m


むやみに作る前に読んどいてよかったって感じかな。読むだけでも目新しい情報がでてきておもしろかった。
で・・・本を読み進めていったらHello worldまで表示できたと。
作るにあたって、GUIデザインをするためのInterface Builderの操作は圧巻したが、これも癖があるなぁ。Objective-Cもすごい癖があるし。慣れるまではちょっと時間かかりそうね。