普段、スマートフォンを使っていて、「こういうアプリがあったらいいのに」と思ったことはないだろうか? きっとだれしも1つや2つ思い浮かぶものがあり、「もし自分で作れたら、今頃大金持ちになっているはずなのに」などと空想を巡らせていることだろう。
プログラミングを全く知らない初心者の方はアプリ作成を難しいものと考えがちだ。しかし実際は、iPhoneアプリを作成するためのXcodeというソフトのstoryboardという機能を使うことで、それほどプログラムを書かずにアプリを作ることができる。本連載では、その方法を具体的にご紹介していこう。
アプリとは? プログラミングとは?
解説に入る前に自己紹介をさせてほしい。筆者は株式会社システムサポートでiPadアプリを制作するエンジニアである。今夏リリース予定の新アプリ「マッププランニング」において、上記のstoryboardを使用している。
マッププランニングは地図上にピンを指し、訪問する予定や目的、訪問履歴などを登録できる営業支援アプリである。地図をベースにさまざまな情報を管理できる点が最大の特徴。もちろん営業マンだけでなく、一度行ったラーメン屋やカフェを記録しておくなど、プライベートでも幅広く利用可能だ。
以下では、同アプリの開発で得た知見を交えながら、主に初級者を対象にstoryboardについて解説していく。storyboardは、初級者でも活用できるものの、応用しやすく、アイデア次第でどんなアプリでも作成できる便利な機能である。きっとお役立ていただけるはずだ。
iPhoneアプリの作り方を解説する前に、アプリに関わる用語を整理していこう。
まず、アプリ(アプリケーションソフトウェア)とは一体何のことか? また、それとよく似た用語としてプログラムがあるが、これらはどう違うのだろうか? すでにご存知の読者も多いかもしれないが、大事なポイントなので改めて説明しておく。
プログラムとはコンピュータが行うべき処理を順序立てて記述したものだ。ソフトウェアとも呼ばれる。例えば、計算するプログラムでは、下図のように、人が与えた問題に対して、順序立てて計算を行い、答えを返す。
アプリケーションソフトウェアはそのプログラムの一種で、ワードのように文書を作成するものや、エクセルのように数値計算など、ある特定の目的のために設計されている。アプリケーションソフトウェアは、アプリケーション、アプリ、APPなどと略されることもある。
アプリを作るためには、プログラミング言語が必要になる。ここでいう「プログラミング」とはプログラムを作成するという意味だ。プログラミング言語とはそれを行うための言語、すなわち、日本人が日本語、アメリカ人が英語で文章を書くのと同じように、プログラムでは、プログラミング言語で記述し、コンピュータとコミュニケーションをとるのである。
iPhoneを動かすiOSとは?
続いて、本連載でターゲットとするiPhoneの仕組みの話を少ししておこう。
iPhoneにはiOSというプログラムが組み込まれている。iOSは、その名の通りOSの一種。WindowsやMac OSなどと同じようなものだと考えればよいだろう。
それではOSとは具体的にどういう役割を果たすものなのか? OSはオペレーションシステム(Operation System)の略で、キーボード入力や画面出力、ディスクやメモリの管理など、多くのアプリケーションから共通して利用される基本的な機能を備えた、コンピュータ全体を管理するソフトウェアだ。
OSの役割については、同じiOSが組み込まれているiPhoneとiPadを想像するとわかりやすいかもしれない。iPhoneとiPadは、ディスプレイの大きさなど、ハードウェアとして異なる部分が多い。仮にアプリ側で直接それらを制御するとなると、iPhoneアプリならiPhone専用のプログラムを、iPadアプリならiPad専用のプログラムを書かなければならない。
しかし、実際は、そうした端末ごとに必要な対応はiOSというプログラムが行ってくれている。同じ命令を受けても、iPhoneアプリのときはこう処理する、iPadアプリのとこはこう処理する、といった具合に、iOSが自動的に処理してくれているのだ。そのため、アプリ作成者は、iPhone/iPadの違いを意識する必要がなく、プログラムを1つ書くだけで済むのである。
iPhoneアプリの開発環境を揃える
知識の説明はこれくらいにして、そろそろ手を動かしていこう。まずはiPhoneアプリ開発に必要な環境を揃える。
iPhoneアプリの作成に必要なものはXcodeだけだ。Mac OSを起動し、AppStoreからXcodeをインストールすれば、すぐに利用が可能だ。下図にXcodeとそれに関連する用語をまとめる。
まずはiPhoneシミュレーターに触れてみよう
アプリを作る前に、サンプルプログラムを使って、iPhoneシミュレーターに触れてみよう。
本稿では米国Apple Inc.のホームページ「iOS Dev Center」の「Sample Code」にあるプログラムを使う。「iOS Dev Center」には会員登録が必要だが、シミュレーターを触るだけならば無料である。以下に、ほんの一例だが、5つのサンプルプログラムを紹介する。
- UICatalog : 画面動作サンプルアプリ
- MoveMe : ボタン移動サンプルアプリ
- DateCell : 時間入力サンプルアプリ
- WorldCities : 地図サンプルアプリ
- MoviePlayer_iPhone : 動画再生サンプルアプリ
例えば、「UICatalog」を動かすなら、ダウンロードした「UICatalog」のフォルダを開き、「UICatalog.xcodeproj」ファイルでダブルクリックする。すると、Xcode が立ち上がり、UICatalog.xcodeprojファイルが表示されるはずだ。もし、Xcodeから進めたいのであれば、「アプリケーション」-「Xcode」からXcodeを立ち上げ、UICatalog.xcodeprojファイルを開けばよい。
XcodeでUICatalog.xcodeprojファイルが表示されたら、左上の三角ボタンを押せとUICatalogが実行される。
XcodeからiPad, iPhoneシミュレーターを起動した例 |
執筆者紹介
福島 賢治(FUKUSHIMA Kenji)
株式会社システムサポート 大阪支店 ビジネス推進課所属。コンシューマ向けゲーム会社を経て、現職。組み込み開発、Web開発やインフラ構築などに携わり、iOS系では自社アプリ「猫と学ぶ旅行英語 Lite(e-messe kanazawa 2011優良企画案賞)」の企画・開発にも携わる。現在は、自社アプリ「マッププランニング」の開発を担当。また、iPadアプリ作成をテーマとした高校生向け教材も作成し、2012年関西大学高等部、2013年岸和田高校へ提供した。