目次
Javaとは?
Javaはプログラミング言語の1種です。
Javaは習得したい言語としても人気があり、世界中で期待されている言語と言えます。
Javaが人気な理由
Javaが人気の理由は何といっても「OS依存がないため環境を選ばない」ことでしょう。
Javaの開発コンセプトとして、OS依存のない汎用性ということもあり、プラットフォームを選ばないことが急速にJavaを普及させる要因となりました。
このような理由から、Javaはスマホアプリだけではなく、交通システムや銀行システムなど様々な用途で開発が進められています。
【関連記事】
▶︎【Java】大人気の開発言語”Java”とは?概要~使い方まで初心者にもわかりやすく解説。
Javaアプリケーションの5つの種類
前章で、Javaは拡張性のある言語であることから、さまざまな場面で使われていることをお話ししました。
開発言語にJavaを使用して作成したアプリケーションのことを「Javaアプリケーション」といい、Javaアプリケーションは大きく5つの種類に分けられます。
- デスクトップアプリ
- コンソールアプリ
- Webアプリ
- Androidアプリ
- 組み込み系プログラム
ここではJavaアプリケーションの5つの種類について見ていきましょう。
デスクトップアプリ
デスクトップアプリは、GUI(Graphical User Interface)とも呼ばれます。
デスクトップにアプリケーションをダウンロードすることで利用できるアプリです。
Javaの場合、Swing・JavaFX というAPIクラスライブラリを使うことで、テキストフォームやボタンといったパーツを配置して作成できます。
Javaのデスクトップアプリでは「OpenOffice」が有名どころでしょう。
コンソールアプリ
コンソールアプリは、CUI(Character User Interface)とも呼ばれます。
コンソールアプリは、コンソールウィンドウにコマンドを直接入力し、処理を行っていくシンプルなプログラムツールです。
Javaのコンソールアプリには、デバッグオプションがたくさん用意されているので、アプリのデバッグ作業が簡単にできるのも特徴です。
例えば、下記のようなプログラムもコンソールアプリと言えます。
■記述例 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("1から9の数字を入力してください"); int number = sc.nextInt(); System.out.println("入力した値の倍数は " + number * 2 + " です。" ); } } ■実行結果 1から9の数字を入力してください 3 入力した値の倍数は 6 です。
Webアプリ
Webアプリは、Web上で動くアプリケーションを指し、Webサーバーに配置してユーザーからの受けた要求を処理して実行します。
また、Webサーバー上で働くJavaアプリケーションを「Java Servlet」といい、Java Servletは多くのWebサイトで使われているのも特徴です。
Webアプリを開発するには、Javaの知識に加えて下記のスキルも必要になるでしょう。
- HTML / CSS
- HTTP リクエスト
- アプリケーションサーバー
Webアプリについては、下記の記事でも詳しく解説していますので、参考にしてみてください。
【関連記事】
▶︎【Java】Webアプリケーションとは?開発環境の設定からサンプルコードまで紹介!
Androidアプリ
Androidアプリは、Javaを用いて製作されたものが数多くあります。
Androidアプリの作成には、「Android Studio」という開発支援ツールがよく使われており、Android Studioを利用することでJavaのAndroidアプリ開発を円滑に行えるでしょう。
近年では、「Kotlin」というプログラミング言語がAndroidアプリの主流です。
組み込み系プログラム
組み込み系プログラムとは、冷蔵庫や洗濯機、エアコンなど家庭にある電子機器に組み込まれているプログラムのことです。
アプリとは少し系統が異なりますが、身近なものにもJavaが利用されているのが分かります。
Javaアプリケーションの例(サンプル)を紹介
Javaを利用して作られたアプリには、下記のようなものが挙げられます。
- Evernote
- マインクラフト(ゲーム)
- 楽天
- OpenOffice
- Eclipse
- ドコモのiモード
- Blu-rayプレーヤー
- みずほ銀行のシステム
Javaアプリケーションの作り方・手順
Javaアプリを作る手順は、下記のように進みます。
- 要件定義
- 設計
- プログラミング
- テスト
- リリース
順番に説明します。
要件定義
「どんなことをアプリで実現したいか」この部分を考えるところから開発は始めます。
アプリケーションを製作する場合は、企画段階のアイデア出しが必要です。
一方、開発業務を請け負う場合には、クライアントの希望に対して「どのような機能が必要か」要件をまとめるところから着手します。
クライアント側で具体的なシステムのイメージや、必要な機能を理解していない場合も考えられるので、相手の要望を漏らさずに認識合わせをしっかりと行うのが大切です。
設計
アプリの設計をはじめ、開発期間や開発者人数、使用ツールについても詳細を設計書に記します。
アプリの出来栄えはこの設計段階で決まるといっても過言ではなく、開発期間のほとんどを設計で費やすことが多いです。
プロジェクトによっては「プログラム設計」と呼ばれる段階も用意されており、実装するプログラムの内容を日本語で書き起こした設計書を作成します。
そして、プログラミングは設計で作成した仕様書に基づいて行われます。
プログラミング
いよいよJavaでのプログラミングを行います。
多くのプロジェクトでは、開発者人数が一番多くなる工程ですね。
プログラマーの仕事として思い浮かべられる作業がこの段階で、ソースコードを記述するぼがメイン作業になります。
テスト
作成したコード・プログラムが、設計書通りに動作するのかテストします。
テストには、「単体テスト」や「結合テスト」「システムテスト」など様々な種類が存在し、必要に応じたテストを実施します。
テスト中に不具合・バグが見つかった場合は、実装工程や設計工程に戻り、システムが正しく動作するまで何度もやり直しすることになります。
リリース
すべてのテストのを合格して、Javaアプリケーションはデプロイされます。
なお、公開後にもバグや不具合は発見されることが多いため、定期的なメンテナンスが必要でしょう。
Javaアプリ練習サイトのおすすめ
ここでは、Javaアプリの開発をしたいと思っている人におすすめの練習サイトを紹介します。
- ドットインストール
- Progate
- paizaラーニング
- コードガールこれくしょん
ドットインストール
ドットインストールは、無料で様々なプログラミング言語を学べる学習サイトです。
Javaであれば、基礎内容を43回の動画(3分)によって学べます。
Java初心者にぴったりの学習サイトです。
Progate
Progateは、オンラインでプログラミングが学べるサービスです。
Java以外にもHTML/CSSやRubyなど、様々な言語を初心者でも学びやすい学習環境を用意して提供しています。
環境構築なしでJavaの基礎を無料でしっかりと学べるのでおすすめできるサイトです。
paizaラーニング
paizaラーニングは、オンラインでプログラミング学習ができるサイトです。
Javaはもちろん、PHP、Ruby、Python、JavaScript、HTML/CSS、SQL、など多数の言語学習から、Webアプリ開発入門、ITエンジニアのキャリア入門などのレッスンも用意されているのが特徴。
動画レッスンを見て、レッスン内容を実際に手を動かしてプログラミングすることで理解を深め、練習問題を解いて応用力をきたえられます。
わからない部分は、担当の現役エンジニアに質問することでアドバイスももらえますよ。
コードガールこれくしょん
コードガールこれくしょんは、paizaが公開しているプログラミング学習ゲームコンテンツ。
ナビゲーターと一緒にプログラミング問題を解き、「コードガール」を集めながらストーリーを進めていくのが特徴です。
JavaをはじめとするPHP、Ruby、Python、C、C++、C#、JavaScriptに対応しています。
ゲーム内では、プログラミングを学びながらクエスト報酬やログインボーナス・ミッションクリア等の各種特典として手に入る「コイン」や「ダイヤ」を使って、ガチャでさまざまな「コードガール」を収集できるゲーム性があります。
ゲームが好きな人であれば、ゲームを楽しみながらプログラミングも学べるのでぴったりでしょう。
Javaアプリ開発におすすめの本
ここでは、javaアプリ開発をしたい方におすすめの本を紹介します。
- やさしいJava
- スッキリわかるJava入門
- ゼロからわかる Java超入門
- 新わかりやすいJava入門編
- スッキリわかる サーブレット&JSP入門
- 独習Javaサーバサイド編
- わかりやすい Java EE ウェブシステム入門
- はじめてのANDROIDアプリ作成 JAVA入門
- 基礎&応用力をしっかり育成! Androidアプリ開発の教科書 なんちゃって開発者にならないための実践ハンズオン
- 新人君! RPGの世界でJavaを学ぼう
- 15歳からはじめるJAVAわくわくゲームプログラミング教室
- ゲーム作りで学ぶJavaプログラミング入門
やさしいJava
やさしいJavaは、初めてプログラミングをするときに挫折しがちな「概念」を非常にわかりやすく解説した本です。
新卒研修でプログラミングを初めて勉強する人の多くが、購入して学習を進めています。
とくに「オブジェクト指向」については概念を理解するまでに時間がかかりますので、オブジェクト指向の理解にもとても役立つ本と言えるでしょう。
スッキリわかるJava入門
スッキリわかるJava入門は、Javaの疑問点をわかりやすく解説されており、Java入門書の決定版として非常に人気の本です。
Javaの基礎からオブジェクト指向までしっかり対応しており、豊富なイラストと丁寧な解説で、Javaプログラミングを楽しく学べる構成になっています。
筆者も愛用しており、Javaの理解を深めるのにもおすすめできますね。
ゼロからわかる Java超入門
ゼロからわかる Java超入門は、プログラムの入力と実行を手を動かしながら進めていく形式になっており、Javaプログラミングを自然に習得できる本です。
解説文章のがわかりやすく理解しやすいため、挫折しないで最後まで取り組みやすいでしょう。
新わかりやすいJava入門編
新わかりやすいJava入門編は、プログラミング基礎からしっかり解説しているため、プログラミング未経験者でも安心して学習を進められる本です。
ただし、入門編として位置づけられた参考書であるため、他の本と比べて学習範囲を絞っているのが人によってはマイナスに感じるかもしれません。
スッキリわかる サーブレット&JSP入門
スッキリわかる サーブレット&JSP入門は、Java学習で評判のあるスッキリ分かるシリーズのJSP入門本です。
本書では、WEBの仕組みから本格的なアプリの開発・設計までを学べます。
スッキリわかるJava入門同様に、ストーリー仕立てでJavaアプリ開発の知識を理解しやすいため、Javaを使用したWEBアプリの基本を勉強した方に最適です。
独習Javaサーバサイド編
独習Javaサーバサイド編は、Javaのサーバサイドの知識の基礎と言える「JSP」を中心に、独習シリーズらしい体系だった内容が解説された本です。
本書の中には難しい内容も含まれていますが、Javaアプリを開発したい方にとっては充実した内容であるのが人気の理由となっています。
わかりやすい Java EE ウェブシステム入門
わかりやすい Java EE ウェブシステム入門は、業務システムで採用されることの多い「JavaEE」の理解を深めるための本です。
本書だけでも、広くサービス作成の知識を身につけられるでしょう。
WEBシステムの作成手順が親切に記述されているため、Javaアプリ開発初心者にもおすすめできる本と言えます。
はじめてのANDROIDアプリ作成 JAVA入門
はじめてのANDROIDアプリ作成 JAVA入門は、プログラミングが未経験な人のためのAndroidアプリ作成の本です。
本書の学習を進めていくことで、最終的にはAndroidで動く簡単なサンプルプログラムを開発できます。
基礎&応用力をしっかり育成! Androidアプリ開発の教科書 なんちゃって開発者にならないための実践ハンズオン
基礎&応用力をしっかり育成! Androidアプリ開発の教科書 なんちゃって開発者にならないための実践ハンズオンは、Java学習者を対象としてサンプルプログラムを製作しながら、Androidアプリ開発に必要な基礎知識やテクニックが学べる本です。
本書だけで、Androidアプリの開発基礎力を身につけ、体系的にテクニックを習得できます。
新人君! RPGの世界でJavaを学ぼう
新人君! RPGの世界でJavaを学ぼうは、会話形式・ストーリー仕立てで進んでいくJavaゲーム開発の本です。
実際に動くものを作りながらJavaのゲーム開発を覚えていくので、飽きずに学習できるでしょう。
ただし、実際にゲームを作りながら学んでいく仕様なため、プログラム未経験や初心者の方には少し難しく感じる場合があります。
そのため、Javaの概要を知った上で勉強を進めるとより効率的と言えます。
15歳からはじめるJAVAわくわくゲームプログラミング教室
15歳からはじめるJAVAわくわくゲームプログラミング教室は、2005年に発売されたものの改訂版で、Javaでのゲーム開発をイラストやソースコードの色分けをした上で解説された本です。
弾幕系シューティングをサンプルに、実際に手を動かしながらゲーム開発ができます。
ゲーム作りで学ぶJavaプログラミング入門
ゲーム作りで学ぶJavaプログラミング入門は、簡単なゲーム制作を通してJava開発スキルが学べる本です。
例えば、おみくじゲームやじゃんけんゲーム、スロットマシーンなどの成果物が作れます。
いろんなな実装パターンを12週間で手を動かしながら進めていくので、飽きずに学べる内容になっています。