アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » DEVELOPER STAGE » 連載 » 目指せ!iPhoneアプリ開発エキスパート » 第1回 プログラマのためのiPhone基本仕様の紹介

目指せ!iPhoneアプリ開発エキスパート

第1回 プログラマのためのiPhone基本仕様の紹介

今回から始まった「目指せ!iPhoneアプリ開発エキスパート」。iPhoneアプリ開発について解説します。第1回目は,iPhoneアプリ開発をするうえで最初に知っておきたい基礎知識を中心にお届けします。

アプリ開発者から見るiPhoneの特色

iPhoneはときおり「革新的なデバイスである」などという表現とともに紹介されることがあります。その言葉が表す通り,単なる「iPod付き携帯電話」にとどまらず,iPhoneは魅力的な特徴がたくさんあります。ここではアプリ開発者が特に意識するであろうiPhoneの特色を見てみましょう。

  • 携帯電話にはあたりまえの方向ボタンや数字キーがない
  • アプリ内で使われるボタンやスイッチなどのパーツが統一されている

限られたボタンしかない代わりに,本体のほぼ全面をタッチパネルとしたiPhoneでは,アプリ開発者は従来のようにボタンの種類や数に制約を受けることなくインターフェースを設計することができます。好きなときに,好きな形のボタンを,好きな場所に配置することができるのです。またボタンだけでなく,スイッチやスライダーといったタッチパネルにはもってこいのパーツも利用することができるようになったのです。

ボタンをはじめとするこれらユーザが操作するパーツは,あらかじめ用意されているものから選択することができます。もちろんこれらを使わずに,独自の形状,独自の操作ができるパーツを自分で作ることもできます。しかし,あらかじめ用意されている標準のパーツを活用することによって,統一感のあるユーザインターフェースを作ることができるだけでなく,ユーザーは操作に戸惑うことなく慣れ親しんだパーツを直感的に使うことができる,というわけです。

iPhoneアプリを作るために必要なもの

なにはともあれ,まずはアプリを作るための道具が必要です。次のものを用意します。

  • Mac本体(インテルのCPUを搭載したもの)
  • Mac OS X v10.5(Leopard)以降

たったのこれだけ。開発に必要なソフトウェアは,アップルから無償で提供されています。つまり,そこそこ新しいMacがあればすぐにでも開発ができるというわけです(※1)。この他,iPhone 3GまたはiPod touch本体があると,作ったアプリを実際にインストールして動かすことができます(※2)。ただし,初代iPod touchで開発を行うためには,本体バージョン2.0以降へのソフトウェアアップデート(有償)が必要です。

※1)
iPhoneのデバイスに依存する機能(カメラや加速度センサー,GPSなど)を実際に動作させるためにはiPhone 3G本体が必要です。
※2)
作成したアプリを本体にインストールして動作させるには,iPhoneデベロッパプログラムへの登録(有料)が必要です。

Cocoa TouchとXcode

Cocoa Touch

冒頭で述べたように,iPhoneアプリの開発環境では画面を構成するためのいくつかのパーツがあらかじめ用意されています。実際の作業では,これらのパーツを画面上に配置し,それぞれのボタンが押されたり,文字が入力されたりした場合の処理を記述していきます。これを実現するのが「Cocoa Touch」と呼ばれるアプリケーションフレームワークです。iPhoneアプリ開発者は,Cocoa Touchを利用することにより,デバイスの特性や画面描画の仕組みを意識することなく,洗練されたインターフェースを画面上に簡単に構築することができるのです。

また,Cocoa Touchを使うことでiPhoneに備わる以下のような機能をアプリから簡単に利用できます。

カメラで写真を撮影
アプリからカメラを起動して,その場で写真を撮影して使うこともできます。またすでにカメラで撮影している写真やiPhoneに保存されている画像を使うことができます。
現在位置を取得
iPhoneは現在位置を取得する方法として,GPS,無線LAN,基地局の3つを使用します。アプリからはこれらを意識することなく,最適な方法で現在位置を取得することができます。

Xcode

Cocoa Touchを理解することは,iPhone開発を始める上でとても重要です。しかしながら,開発を進めていくうえでこのCocoa Touchの存在を強く意識することはありません。まるで矛盾しているように思えますが,その秘密を解く鍵は「Xcode」というツールが握っています。

XcodeはMac OS Xに付属する無償のソフトウェア開発環境で,iPhoneアプリの開発もこれを使って行います。画面上にボタンを配置したりアクションを設定したりする「Interface Builder」や,開発中のアプリをMac上で動作させるための「iPhone シミュレータ」もこれに含まれます。つまり,XcodeひとつでiPhoneアプリ開発のすべてが完結する,というわけです。

Xcodeを使ったiPhoneアプリ開発中の様子。画面構成をパーツを組み合わせて作っていく

Xcodeを使ったiPhoneアプリ開発中の様子。画面構成をパーツを組み合わせて作っていく

基本は配置されるパーツとアクションのマッピング

Cocoa Touchに話を戻しましょう。Cocoa Touchの基本は,iPhoneの画面上に配置されるパーツとそれに結び付けられたアクションです。ボタンが押されたらどういう文字を表示するのか,文字入力エリアに数字が入力されたらどういう計算をするのか,そういったユーザの操作を検出して何かの機能を呼び出す仕組みを,ハードウェアやOSなどの難しい仕組みを意識することなくXcode上のドラッグアンドドロップ操作で組み立てることができます。このようなとても直感的なアプリ開発環境を支えているのがCocoa Touchの存在であると言えます。

ここで述べた以外にも,Cocoa Touchで実現できる魅力的な機能は山ほどあります。まるで宝探しのようにこれらの機能を探していく感覚は,iPhoneアプリ開発の楽しみの1つと言えるでしょう。

Objective-Cという言語

パーツとそれに紐づくアクションを選択したら,次はアクションの中身,すなわちiPhoneにどういう動作をさせるのかをプログラミングしなければなりません。ここで登場するのが,Objective-Cというプログラミング言語です。iPhoneの開発には基本的にこのObjective-Cを用います。

新しいプログラミング言語に触れるには,それなりの勇気が必要かもしれません。しかし,Objective-CはC言語の拡張であるがゆえにC言語と共通している部分が多く,さらにCocoa Touchにおいて自分の手で書く必要のあるコードは限定的で,とても簡単なものです。過去にC言語やそれに似たプログラミング言語に触れたことがある方ならば,最初はすんなりと入っていけることでしょう。より詳細なObjective-Cの言語仕様を学ぶことは,それなりにiPhoneアプリ開発の経験を積んでからでも遅くはありません。

いざ,iPhoneアプリへの第一歩

道具さえ揃ってしまえば,何もおそれることはありません。無料で提供されている開発ツールを使えば,とても簡単にiPhoneアプリを作ることができると同時に,iPhoneのフレームワークであるCocoa Touchや,開発言語であるObjective-Cを学ぶことができます。

まずは手のひらサイズのデバイスで,自分で作ったアプリが動く楽しさを味わってみて下さい。iPhoneアプリ開発をこれから初める人に必要なものは,知識ではなくiPhoneアプリを作ることの楽しさを実感すること,そしてアプリ作者のちょっとしたアイデアとセンスなのです。

著者プロフィール

皮(かわ)

1980年宮崎県生まれ。納豆好き。

アイフォーンの皮:http://mixi.jp/view_community.pl?id=3531790

トラックバック

コメント

  • おそばせながら、これから始めようかと思います。

    いままではC++で業務用のWindowsアプリを作っていたのですがiPhoneにであってiPhoneアプリの楽しさを感じました。
    何時しか自分で作ってみたくなったのですが、まずはMaxから用意しないと・・・
    開発環境としてMacBookでも大丈夫ですか?

    Commented : #1  aokawa (2009/07/02, 08:34)

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

読むウェブ ~本とインタラクション

ディスプレイで読む活字とそのインタラクション(interaction:相互作用)について,最新Webを紹介しながら読み解いていく。

いま,見ておきたいウェブサイト

この連載では,国内外の最新のウェブサイトを隔週更新で取り上げ,これら最新サイトの特徴や素晴らしい部分を,さまざまな角度から解説していきます。

Windows phoneアプリケーション開発入門

Windows Marcketplace for Mobileがサービス開始され,作成したアプリケーションを個人でも世界をターゲットに公開できる環境が整ってきました。これを機にWindows phoneアプリケーションの開発をしてみませんか?

ここは知っておくべき!Windows Server 2008技術TIPS

5年ぶりのサーバOSとなったWindows Server 2008が出荷されて早2年。2009年にはR2が出荷され,再び注目を集めています。発売前から実施したトレーニングによって感じた,インフラエンジニアの方々に知っておいていただきたい機能を中心にご紹介します。

キーパーソンが見るWeb業界

本連載はWeb Site Expert/gihyo.jpとの連動企画です。阿部淳也, 長谷川敦士, 森田雄のお三方による,Web業界をテーマにした座談会です。

きたみりゅうじの聞かせて珍プレー

ソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。みなさんからの投稿もお待ちしてます!

ActionScript 3.0で始めるオブジェクト指向スクリプティング

野中文雄氏が,簡単なスクリプトは書いたことがあるという初級者を対象に,ActionScript 3.0の基本からクラス定義までを解説します。

まだ間に合う「ITパスポート」受験対策 原山先生の短期合格塾

この連載では,4月18日のITパスポート試験の受験に向けて,短い期間で効率良く受験対策を行う方法や,確実に得点するための裏ワザなどを伝授していきます。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス