アプリを開発するための手順についての紹介が終わったので、今度はAndroidアプリで主に利用するプログラミング言語「Java」を紹介しておきます。
Javaは登場から20年以上使われ続けている歴史あるプログラミング言語です。初めて登場してから何度もバージョンアップが行われ、プログラミングがやりやすいよう改良が行われています。2017年4月現在では、「8」というバージョンが最新のものになっています。今回の連載でも、このJava 8を使った書き方を紹介します。
また、Javaは汎用的なプログラミング言語であり、スマートフォンアプリ専用のプログラミング言語というわけではありません。パソコン上で動作するメモ帳のようなアプリを作ることもできますし、ショッピングサイトのようにWebブラウザでアクセスするようなページを作ることもできます。
本連載では、「Javaを使った基本的なプログラミングのやり方」と「Javaを使ったスマートフォンアプリの作り方」の2つを一度に習得できます。
なお、「JavaScript」という似た名前のプログラミング言語も存在していますが、JavaとJavaScriptは全くの別物なので、調べる際は注意してください。
先ほど、「OSの上でアプリを実行するためには、コンパイルという作業でソースコードをOSが理解できる機械語の形式にする」と説明しましたが、実はJavaはコンパイルを行うと機械語ではなく、「Javaバイトコード」と呼ばれる形式のファイルを作成します。そして、Javaで作ったアプリを実行する際は、「Java仮想マシン」(JVM、Java Virtual Machine)と呼ばれるツールが「Javaバイトコード」を「機械語」に変換してアプリを実行します。
なぜ、このように2段階に分けているのでしょうか。これはOSによって解釈できる機械語が違うからです。もしコンパイルを行って機械語のバイナリコードを作成する場合、Windows用、iOS用など対応するOSの分だけアプリ開発者がビルドを行わなければいけません。
しかし、間にJava仮想マシンを挟むことにより、アプリ開発者は一度だけビルドをすればよく、後はJava仮想マシンがOSごとの違いを吸収してくれるようになっています。Javaのこの性質は「Write once, Run Anywhere」と呼ばれています。例えば、先に紹介したAndroid StudioはJavaで作られており、基本的には同じ機能がWindowsとmacOSで動かせます。
とはいえ厳密には、iOSにはJVMが搭載されていなかったり、AndroidアプリとWindowsのJVM上で動くアプリは、プログラミングの作法が違ったりと、「Write once, Run Anywhere」が実現できているとはいえません。性質というよりも、理想といった方がいいかもしれませんね。JavaはJVM上で動くということは覚えておきましょう。
最後に、本連載で開発するアプリを紹介しておきます。本連載では「計算機アプリ」と「おみくじアプリ」の開発を通じて、「Javaを使った基本的なプログラミングのやり方」と「Javaを使ったスマートフォンアプリの作り方」を習得していきます。
計算機アプリでは、「ユーザーに2つの値を入力してもらい、対応する計算のボタンを押すと、それらの値を使った四則演算の結果を表示する」処理を作成します。
おみくじアプリでは、「『おみくじを引く』ボタンを押すたびに『大吉』『吉』『小吉』などの画像と、対応するメッセージをランダムに表示する」処理を作成します。
本連載では、プログラミングとAndroidアプリ開発の基本を学ぶことが目的のため、どちらのアプリも単純な機能しか持ちません。
しかし、例えば計算機であれば「現実の計算機のようにさらに計算方法を増やしてみる」、おみくじアプリであれば「画像とメッセージを変えて飲み会の罰ゲームアプリに利用する」といったような拡張、工夫をすることで、実用的なアプリにしていくことも可能です。
初心者の方は、知らないたくさん用語が出てきて混乱していると思いますので、今後の連載を読む上で覚えておくべき内容を、用語別にまとめておきます。
次回はAndroid Studioのインストール方法と、Android Studio上でアプリを作り、実行する手順を紹介します。
Copyright © ITmedia, Inc. All Rights Reserved.