プログラミング未経験者のための「iPhoneアプリの作り方」 (1) iPhoneアプリの仕組みを学ぶ

写真拡大

普段、スマートフォンを使っていて、「こういうアプリがあったらいいのに」と思ったことはないだろうか? きっとだれしも1つや2つ思い浮かぶものがあり、「もし自分で作れたら、今頃大金持ちになっているはずなのに」などと空想を巡らせていることだろう。

プログラミングを全く知らない初心者の方はアプリ作成を難しいものと考えがちだ。しかし実際は、iPhoneアプリを作成するためのXcodeというソフトのstoryboardという機能を使うことで、それほどプログラムを書かずにアプリを作ることができる。本連載では、その方法を具体的にご紹介していこう。

解説に入る前に自己紹介をさせてほしい。筆者は株式会社システムサポートでiPadアプリを制作するエンジニアである。今夏リリース予定の新アプリ「マッププランニング」において、上記のstoryboardを使用している。

マッププランニングは地図上にピンを指し、訪問する予定や目的、訪問履歴などを登録できる営業支援アプリである。地図をベースにさまざまな情報を管理できる点が最大の特徴。もちろん営業マンだけでなく、一度行ったラーメン屋やカフェを記録しておくなど、プライベートでも幅広く利用可能だ。

以下では、同アプリの開発で得た知見を交えながら、主に初級者を対象にstoryboardについて解説していく。storyboardは、初級者でも活用できるものの、応用しやすく、アイデア次第でどんなアプリでも作成できる便利な機能である。きっとお役立ていただけるはずだ。

iPhoneアプリの作り方を解説する前に、アプリに関わる用語を整理していこう。

まず、アプリ(アプリケーションソフトウェア)とは一体何のことか? また、それとよく似た用語としてプログラムがあるが、これらはどう違うのだろうか? すでにご存知の読者も多いかもしれないが、大事なポイントなので改めて説明しておく。

プログラムとはコンピュータが行うべき処理を順序立てて記述したものだ。ソフトウェアとも呼ばれる。例えば、計算するプログラムでは、下図のように、人が与えた問題に対して、順序立てて計算を行い、答えを返す。

アプリケーションソフトウェアはそのプログラムの一種で、ワードのように文書を作成するものや、エクセルのように数値計算など、ある特定の目的のために設計されている。アプリケーションソフトウェアは、アプリケーション、アプリ、APPなどと略されることもある。

アプリを作るためには、プログラミング言語が必要になる。ここでいう「プログラミング」とはプログラムを作成するという意味だ。プログラミング言語とはそれを行うための言語、すなわち、日本人が日本語、アメリカ人が英語で文章を書くのと同じように、プログラムでは、プログラミング言語で記述し、コンピュータとコミュニケーションをとるのである。

続いて、本連載でターゲットとするiPhoneの仕組みの話を少ししておこう。

iPhoneにはiOSというプログラムが組み込まれている。iOSは、その名の通りOSの一種。WindowsやMac OSなどと同じようなものだと考えればよいだろう。

それではOSとは具体的にどういう役割を果たすものなのか? OSはオペレーションシステム(Operation System)の略で、キーボード入力や画面出力、ディスクやメモリの管理など、多くのアプリケーションから共通して利用される基本的な機能を備えた、コンピュータ全体を管理するソフトウェアだ。

OSの役割については、同じiOSが組み込まれているiPhoneとiPadを想像するとわかりやすいかもしれない。iPhoneとiPadは、ディスプレイの大きさなど、ハードウェアとして異なる部分が多い。仮にアプリ側で直接それらを制御するとなると、iPhoneアプリならiPhone専用のプログラムを、iPadアプリならiPad専用のプログラムを書かなければならない。