Javaで何ができる?Javaで開発されたアプリのご紹介

皆さん、Javaという名前は聞いたことがありますか?きっと聞いたことはあるけど、何に使われているのか知らない、という方が多いのではないでしょうか?プログラムを利用するだけなら特に知る必要はありませんが、これからプログラム開発の分野に進もうと思っているのであれば、知っておいたほうがよいでしょう。 本稿では、Javaが何に活用されているのかをご紹介いたします。

Javaとは?


Javaとは、プログラム開発言語の一種です。かつてこの業界でスタンダードだったC言語をベースとして考案された、オブジェクト指向言語です。Javaの最大のメリットは、動作するプラットフォームを選ばないことです。Javaは仮想マシン(VM:Virtual Machine)上で動くため、このVMが各プラットフォーム用に用意されていれば、パソコンでも大型サーバでもスマートフォンでも動きます。また、Javaを取り巻く環境は基本的にオープンソースで、Javaのコンパイラや開発用のツールなどは、基本的にすべて無料で入手できます。

元々はSun Microsystems社が開発した言語ですが、その後Oracle社に合併吸収されたため、現在ではOracle社が管理しています。Javaはシステム開発業界のデファクトスタンダードとなっており、開発求人の半分はJavaというくらいの人気ぶりです。

JavaとWebシステム


Webシステムとは、ブラウザ上で動作するシステムのことです。今では当たり前になりましたが、一昔前までは、システムはパソコンにインストールして使うしかありませんでした。こうしたシステムは、バージョンアップに手間がかかり、運用がとてもしにくいものでした。一方Webシステムは、パソコンには何もインストールする必要がないため、パソコン側の管理が不要で、とても運用がしやすいシステムです。

このWebシステムの開発には、様々なプログラミング言語が使用できます。代表的なものは、Javaをはじめ、PHPやRuby、Perl、Python、C#などです。中でもJavaは、Javaが登場した当初からWebシステム開発に使われてきた経緯もあり、一番メジャーな開発言語と言えます。
Javaで開発されたWebシステムで有名なものは、Twitterや楽天サイトなどです。Javaは、Webシステムの中でも大規模なシステム開発に用いられる傾向があります。

Javaと組込みシステム


Javaは元々、組込みシステムの開発を想定して作られた言語です。JavaはVMさえあれば、どんなプラットフォームでも動作するので、組込みシステムの開発ととても相性が良いのです。現在でも、実行速度が求められている場合や、ハードウェアを直接操作する必要がある場合はC/C++言語が使われていますが、その他のほとんどの場合はJavaが使われています。身近なところではBlu-rayプレイヤーやカーナビなどです。今後、IoT(Internet of Things)が盛んになって、あらゆる物がインターネットにつながるようになれば、Javaによる組込み系開発の需要は、さらに高まるでしょう。

Javaと商用システム


企業内で使われる基幹業務システムは、大昔は汎用機という大型コンピュータで構築されていました。その後、コンピュータの発達とともに、より小型で安価なコンピュータにシステムを移行する動きが活発になりました。これをダウンサイジングと言います。ダウンサイジングされたシステムは、業務用のパソコンから直接サーバに情報の問い合わせを行い、データをもらうスタイルが主流でした。このスタイルはクライアントサーバ型と呼ばれていました。その結果、パソコンに導入したプログラムのバージョンアップなど、パソコン側の管理がとても大変になってきたため、システムをWebで構築する動きが加速しました。Webシステムなら、パソコンにはブラウザさえあれば良く、パソコン側を管理する必要がないからです。

Javaは、こうした基幹システムのWeb化の潮流に上手く乗って、システム開発のスタンダードとなりました。こうした基幹システムの構築は、往々にして大規模開発となります。Webシステムを開発できる言語は他にも多数あるのですが、Javaほど大規模開発に向いた言語はありません。Javaは、こうした大規模開発用のフレームワークも充実しており、現在では各開発会社ともJava開発のノウハウを蓄積しているため、今後も商用システムは、ますますJavaで開発されていくことでしょう。

まとめ

本稿では、Javaで何ができるのか、について、様々な角度からご紹介しました。Javaが登場して約20年になりますが、その間、非常にたくさんのシステムがJavaで構築されてきました。それに伴い、Javaの言語仕様も、Javaを取り巻く環境もどんどん進化していて、今後もJavaは発展していくと予想されます。Javaは大規模なシステム構築に向いており、また、組込み系の開発も得意なことから、その利用範囲はますます広がっていくでしょう。

関連記事

ページ上部へ戻る