2009年08月16日

My First iPhone Application

何だか周囲の人々がケータイアプリを熱心に使っているのを見て(彼らは株取引のアプリを使っているので熱心なのは当然なのだが)、自分もケータイアプリに興味をもった。ところが俺は高機能と汎用性を無意味に追求した結果、なぜかソフトバンクX02HTとウィルコムAdvanced/03というWindows Mobileケータイを2台もっているので、普通のケータイアプリが実行できないのであった。とりあえず昔Java言語のビジネスをやっていた時代に自分でも勉強したのを思い出して、自分のキャリアであるソフトバンクの開発者向けサイトから開発キットとドキュメントをダウンロードした。

しかし、どうせなら戦後のポン引き並みとはいえ少しは英語もできるし外資系企業に勤務していた経験を活かして、世界を相手に商売をしようと思い付き、頭の中は日銭がチャリンチャリン入ってきてハワイに移住し、朝だけプログラミングし、午後からは海や山でワイルドに遊ぶ自分をリアルに想像しながら、すでにMacBook購入時に取得済みのAppleIDでAppleの開発者向けサイトにアクセスし、iPhone開発キットをダウンロードして愛用の(Thinkpad X31と一緒に使っているので、正確には「併用の」というべきか)MacBookにインストールした。そしてアップル社から配布されているドキュメントや、オンラインの技術者向けサイトにある記事、海外の情報その他をいくつか集めて、まずは最初のアプリを作ってみた。

といっても、開発ツールがよくできているので、まずはテンプレートを選び、土台を定義し、次にInterface BuilderというGUIエディタと部品ライブラリ(「Tools」→「Library」)を開いて、ビジュアル開発ツールでお馴染みのGUIコンポーネントをペタペタと配置していけば基本デザインはできる。その次にInspectorという機能で各コンポーネントのプロパティを設定し、その後にIdentity Inspectorという機能で、各コンポーネントの変数(アウトレット、つまり差し込み口という名称だ)とその依存関係、そしてどのコンポーネントに対するアクションがあれば処理をするか関数を定義すればよい。その時点コンパイルすると、iPhoneシミュレータが起動し、何の動作もできないがとりあえずInterface Builderで先ほど定義したとおりの画面が表示された。このエミュレータ(シミュレータという名称だが)はとりあえずSafariも動作するのがちょっとかわいい。まあMacBookでフルブラウジングできるので、用途はないのだが、いまもこの文章をシミュレータ上のSafariで推敲している。

次に開発ツールXcodeのメイン画面から先ほどの変数や動作が定義されたソースコードを開く。C言語は19才くらいからちょこちょこ勉強しているが、いまだにGUIプログラムをスクラッチで書けるレベルでなく、ましてApple社で使われているObjective-Cなんて邪教の呪文のように見えてしまう。それでもヘッダファイル(拡張子.h)に先ほど定義した変数が3つ並んでいたり、実装ファイル(拡張子.m)の中にはアクションが書かれていた。何となくオブジェクト指向でいうところのプロパティとメソッドの表現の仕方が見えて、ちょっと安心した。

ところが、俺の悪い癖で、プログラミングを自習するときに教材で説明されているサンプルに少しアレンジを加えるのだが、元の事例との整合性が分からなくなってしまった。それでも、あるマニアの篤志家が提供してくれた事例を見つつ、何となくこのカギ括弧の中でアウトレットから値を受け取っているとか、関数が値を返すアウトプットはC言語のものなので微かに見覚えがあったとかで、何とか適当に例文の変数や構文を修正した。

そしてコンパイルするとエラーが1個出てしまった。ろくに言語仕様を知らないプログラミング言語でどうやってデバッグすればいいのか一瞬焦ったが、冷静にコードを見るとコピー&ペーストの際に閉じ括弧を余分に1つ加えていたのが分かってホッとした。そして入力した数字をドルとユーロに変換するという簡易通貨計算機ができたのであった。

ということで、まずは基本構造とツールの操作の初歩的な知識は身に付いたが、これから世界中の方に楽しんでいただけるものを作るまでには、けっこうな精進が必要なように思われる。とはいえ開発ツールがよくできているので、他のシステムに比べればずいぶん道は短いはずではあるのだが。
posted by 物欲三等兵 at 21:12| 東京 晴れ| Comment(0) | TrackBack(0) | 感動(自分だけの楽しみ) | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/125837427
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック