連載
» 2017年04月03日 05時00分 UPDATE

初心者のためのAndroid&Javaで始めるプログラミング入門(1):プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (3/3)

[今泉俊幸,株式会社ビーブレイクシステムズ]
前のページへ 1|2|3       

Androidアプリ開発で使うプログラミング言語「Java」とは

 アプリを開発するための手順についての紹介が終わったので、今度はAndroidアプリで主に利用するプログラミング言語「Java」を紹介しておきます。

 Javaは登場から20年以上使われ続けている歴史あるプログラミング言語です。初めて登場してから何度もバージョンアップが行われ、プログラミングがやりやすいよう改良が行われています。2017年4月現在では、「8」というバージョンが最新のものになっています。今回の連載でも、このJava 8を使った書き方を紹介します。

 また、Javaは汎用的なプログラミング言語であり、スマートフォンアプリ専用のプログラミング言語というわけではありません。パソコン上で動作するメモ帳のようなアプリを作ることもできますし、ショッピングサイトのようにWebブラウザでアクセスするようなページを作ることもできます。

 本連載では、「Javaを使った基本的なプログラミングのやり方」と「Javaを使ったスマートフォンアプリの作り方」の2つを一度に習得できます。

 なお、「JavaScript」という似た名前のプログラミング言語も存在していますが、JavaとJavaScriptは全くの別物なので、調べる際は注意してください。

コラム「Javaの性質?――JVMとWRITE ONCE, RUN ANYWHERE」

 先ほど、「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アプリ開発の基本を学ぶことが目的のため、どちらのアプリも単純な機能しか持ちません。

 しかし、例えば計算機であれば「現実の計算機のようにさらに計算方法を増やしてみる」、おみくじアプリであれば「画像とメッセージを変えて飲み会の罰ゲームアプリに利用する」といったような拡張、工夫をすることで、実用的なアプリにしていくことも可能です。

今回学んだ主な用語と次回予告

 初心者の方は、知らないたくさん用語が出てきて混乱していると思いますので、今後の連載を読む上で覚えておくべき内容を、用語別にまとめておきます。

  • プログラミング言語
    アプリを作るために使う、アプリの処理を記述するための言語
  • ソースコード
    プログラミング言語を使って書かれた指示書
  • Java
    Androidアプリ開発でソースコードを作るために必要なプログラミング言語の1つ。WindowsやmacOSのアプリも作れる
  • コンパイル
    アプリの処理は「OS」に実行してもらうが、OSはソースコードをそのまま解釈できないため、ソースコードをOSが理解できる形式に変換する操作
  • バイナリコード
    OSが理解できる形式になったソースコード
  • パッケージング
    バイナリコードとアプリで利用する画像ファイルなどをまとめて、アプリから画像などを利用できるような状態にすること
  • ビルド
    コンパイルとパッケージングを行い、アプリを実行できる状態にすること
  • 統合開発環境
    アプリ開発に必要な、ソースコードの作成、コンパイル、パッケージングをまとめて操作できるツール
  • Android Studio
    Androidアプリ開発で一般的な統合開発環境

 次回はAndroid Studioのインストール方法と、Android Studio上でアプリを作り、実行する手順を紹介します。

筆者紹介

今泉 俊幸(いまいずみ としゆき)

2011年から、株式会社ビーブレイクシステムズに在籍。

快適に仕事をするためには教育と自動テストこそが大事、という思いを抱き活動中


前のページへ 1|2|3       

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。