マーリンアームズ サポート   翻訳   コンサル   講座   アプリ   コラム

iPhone SDK アプリケーション開発ガイド Jonathan Zdziarski著 近藤誠監訳  武舎広幸+武舎るみ訳

訳者あとがき

私が「オブジェクト指向」という言葉にはじめて触れたのは、大学院修士課程の学生だったときのことです。当時私はソフトウェア工学を専攻し、「どうしたら分かりやすいプログラムを作れるか」をテーマに研究をしていました。

ある日、専攻する学科の会議室の雑誌棚に置いてあった学会誌をパラパラめくっていて、ひとつの記事に目がとまりました。私の博士課程での指導教官となる米澤明憲先生が書かれた、オブジェクト指向に関する解説記事でした。この世界を、もの(オブジェクト)とその間のメッセージのやりとりで記述するという、きわめて自然で分かりやすい発想に強く引かれたことを覚えています。

しかし、この分かりやすく自然な枠組みを実用的なプログラミング環境として実現するためには、それから四半世紀ほどの時間が必要でした。この間に、少しずつ少しずつ世の中に浸透していったオブジェクト指向という考え方は、今プログラム開発の中核をなす技術として認められ、実践で利用されるようになりました。この本の主題であるiPhone SDKはそのひとつの代表例だと言えるでしょう。

iPhone SDKはすばらしい開発環境です。機能豊富なオブジェクト指向ライブラリとInterface Builderという分かりすいGUI構築ツールを融合した理想的とも言えるプログラミング環境です。すでに2章などの例を試された方も多いと思いますが、Interface BuilderでGUIを作って、少しコードを書くだけで小規模なアプリケーションなら簡単に作れてしまいます。ウェブページを表示したり、ビデオを表示したりといったことも、用意されているライブラリを利用すれば簡単にです。

iPhone SDKの主要言語であるObjective-Cは、これまでもある程度の注目は集めていたものの、C++やC#、Java、Rubyといった他のオブジェクト指向言語に比べると若干影が薄い印象は否めないものでした。しかし、Macintoshだけでなく、iPhone用のアプリケーション開発でも使われることになり、爆発的に利用者が増えています。

この「訳者あとがき」の執筆時点で、ネットではアップルのタブレット型のパソコン(iPhoneが「パソコン」ではないのと同様と、新機器も「パソコン」と呼んでよいものになるのか現時点では不明ですが)がまもなく発表されるのではないかと話題になっています。この「パソコン」が発売されたとき、MacintoshやiPhone/iPodの場合と同じように、XcodeやInterface Builder、それにObjective-Cといった面々がその開発環境の主要登場人物となることに間違いはないでしょう。

iPhone SDKはすばらしい開発環境ではありますが、この環境が提供してくれる巨大なライブラリを使いこなすのが容易でないのも事実です。ひととおり試してはみたけれど、「ライブラリの機能が多すぎてどれをどう使えばよいかさっぱりわからない。まるで富士の樹海に置いてきぼりにされたような気分だ」と思われた方も多いのではないでしょうか。

そんな方におすすめしたいのが、しばらくこの世界と戯れてみることです。わからなくてもよいからその世界と接している時間を長くすることで、無意識のうちに感覚が身についてくるのです(なお、新しい技術の学び方については拙訳書『リファクタリング・ウェットウェア -- 達人プログラマーの思考法と学習法』がとても参考になると思います)。

この本の各章では、まず最初にその章で説明する機能(クラス)に関する説明があり、そのあとでその機能を使った実例が登場します。解説を一度読んだだけでは、まったくピンとこない場合も多いでしょう。例を実行してみても、「動くには動くけど、自分で作るにはどうすればよいかわからない」状態かもしれません。

そこであきらめないでください。新しいことを学ぶには時間が必要なのです。ここであきらめずに、もう一度解説を読んでみてください。今度は「なるほど、そういう仕組みになっているのか」と感心する点が出てくるでしょう。次は、例題を少し変更して、機能を追加してみる。「発展課題」に取り組んでみる。といったように、徐々に徐々に知識を広げていってください。何度か戻って解説を読み直したり、Appleのサイトにあるライブラリの解説を参照したり、検索エンジンでよくわからない概念を検索したりしてみることも必要でしょう。

この本は、プログラミングの入門書ではありません。すでにプログラミングの経験をお持ちの方を対象とした本です。入門書のように図がたくさんあって、手取り足取り教えてくれるものではありません。

そのかわり、詰まっている内容は膨大です。時間をかけて取り組めば、iPhoneアプリケーションの開発に必要な基礎知識が身につき、自分のアプリケーションをどう組み立てればよいかが見えてくるはずです。

最後に、この翻訳版と原著英語版の違いについて触れておきます。原著に掲載されていたすべての例題は訳者と監訳者が最新の開発環境で実際に動かして確認してあります。その上で、一部のものはメッセージなどを日本語化してみました。また、iPhoneやシミュレータでの確認の際に真っ白のアイコンがたくさん並んでしまい整理に困ったので、章を明示したアイコンをアプリケーションに付加しておきました。

付録の2つの章は日本語オリジナルですが、このほかにも、2章にInterface Builderを使ったGUIの構築の例題を加え、原著ではわかりにくかったInterface Builderの使い方について、構成を変更するとともに、必要と思われる説明を付け加えました。この本全体でも、日本の読者の皆さんにとって有用と思われる説明や図、それにプログラム例をいくつか加えてあります。

私たちはこれを機会にこれまで開発してきた翻訳・辞書関連のソフトをiPhoneで動かすためのプロジェクトを開始しました。読者の皆さんも、どうぞこの本を片手にすばらしいアプリケーションをたくさん開発してください。

それでは、次はApp Storeでお目にかかりましょう!

2009年8月
訳者代表 マーリンアームズ株式会社 武舎広幸