どうも、C++が最も得意なプログラマです。
仕事の関係でJavaを扱うことになったのですが、Javaに関しては全くの未経験ですので、今回からJavaについて学んでいこうかと思います。
【Java基礎】Java未経験から習得を目指す 基礎知識編2
1. Javaを習得する
前回はJavaの特徴をいくつか挙げながら紹介しました。
今回はJavaが実際にどのような開発現場で使用されている言語であるのかを中心にまとめてご紹介していきますのでよろしくお願いします。
2. Javaで開発できるもの
Javaを使用して開発を行えるものは非常に多岐に渡ります。
いくつか挙げてみましょう。
・Webサービス開発
・Webアプリケーション開発
・PC向けアプリケーション開発
・Androidアプリケーション開発
・基幹システム開発
・組込みシステム開発
・ソフトウェア開発
・IoT開発
・その他
2-1. Webサービス開発
JavaはWebサービス開発において多く採用されています。
Webサービスの中でも特に大規模なサービスになってくると、「スピード」と「堅牢性」が求められてきます。
Javaと特徴として「ほかのプログラミング言語に比べて処理速度が速い」という点と「セキュリティ面の信頼性が高い」という点を前回ご紹介しましたが、この特徴が大規模なWebサービスの開発に非常に向いている理由のひとつです。
実際にJavaを利用して開発されているWebサービスとしては、SNSとして世界中で利用されている「Twitter」や、Webブラウザ上でドキュメントの作成や管理を行うサービスである「Evernote」などが、開発言語のひとつとしてJavaを採用しています。
2-2. Webアプリケーション開発
Webアプリケーションとは、サーバー上で動作するアプリケーションのことです。
インターネットを介して利用することが可能であり、Webブラウザから操作を行うことができます。
そのWebアプリケーション開発においてもJavaは多く用いられています。
先ほど紹介したWebサービスと似通ってくるジャンルではありますが、イメージとしてはWebサービスは「システム同士を繋ぐようなものを含めた、全般的な幅広いサービス」であり、Webアプリケーションは「人が使用することを前提としているもの」と言われます。
ここは企業によって言葉の定義が異なるなど、境界線があいまいなところもあります。
具体的なWebアプリケーションの例としては「楽天市場」や「紀伊国屋書店オンラインショップ」といったインターネットショッピングのアプリケーションなどになります。
2-3. PC向けアプリケーション開発
PCアプリケーションの一部にもJavaが採用されていることがあります。
Javaを利用することで、WindowsやMac、Linuxといった利用環境のプラットフォームに左右されずに実行、動作を行うプログラムの開発が可能です。
そのため、PC向けのアプリケーション開発においてもJavaは非常に有用なプログラミング言語であるといえます。
具体的にJavaを利用して開発されているPC向けアプリケーションの実例としては、無料でWordやExcelなどのオフィスソフトのような動作を行う事ができる「OpenOffice」や、世界中で人気を博して今では教育現場での導入も行われていたりするゲームの「MineCraft」のJavaエディションなどがJavaでの開発が行われています。
2-4. Androidアプリケーション開発
Androidアプリケーションの開発を行えるプログラミング言語はKotlin、C言語、Rubyなどがありますが、Javaでも開発も選択肢のひとつとして人気です。
アプリケーションの市場調査会社Appfiguresによると、Androidは300万を超えるアプリケーションが登録されているとのことです。
Javaを利用して様々なジャンルのAndroidアプリケーションを開発することが可能です。
数が多すぎて実例を紹介することが難しいですが、スマートフォン向けのアプリケーションはゲームや便利ツールなどのジャンルを問わず存在していますので、スマートフォン向けのアプリケーション開発に興味のある人はJavaでの開発も検討してみてください。
2-5. 基幹システム開発
基幹システムとは、業務の根幹を支えるためのシステムのことです。
人、物、お金などの管理を行うようなシステムであり、業務を行うために絶対に必要不可欠なシステムです。
Javaはセキュリティ面の信頼性が高いため、基幹システムの開発に使われることがあります。
銀行や証券会社のような、非常に高いレベルのセキュリティが求められる会社のシステムの開発にもJavaが用いられることがある、という点からもJavanoセキュリティ面のレベルの高さがうかがえると思います。
2-6. ソフトウェア開発
ソフトウェアといっても非常に幅広いものであり、簡単に言うとコンピューターを動作させるらめの命令が書かれたものです。
対義語としてハードウェアと呼ばれるものが存在しますが、ハードウェアとはパソコンやスマートフォン、マウスやプリンターといった目に見えて実際に触れるようなものを指します。
それらを制御したり、便利に使ったりするためのプログラムがソフトウェアと呼ばれます。
ここまで紹介したPC向けのアプリケーションやAndroidアプリケーションもソフトウェアの一種です。
Javaではそのような数多く幅広いソフトウェアの開発でしばしば用いられています。
2-7. IoT開発
IoTとは、あらゆるものをインターネットに接続して便利に使えるようにする技術のことです。
IoTの実例としては「スマートスピーカーを使った家電の操作、コントロール」「紛失防止の電子タグ」、「ペットの状況を見る見守りモニターに餌やり機能を追加したモニター」、「利用状況により利用者の安否確認を行うことができる電気ポット」、「バスの運行状況把握」などです。
日常生活を快適に行ったり、家族の安全を守るような仕組みであったり、様々なものが生み出されています。
IoTの分野は現在伸びてきている分野であり、JavaはIoTの開発に適しているプログラミング言語です。
実際のIoTの開発現場でもJavaが多く使われています。
そのため、これからJava技術者の需要が高まることも予想されており、将来性に期待ができる点が魅力的です。
2-8. その他
Javaで開発されているものの中でも面白いと感じたものをいくつか紹介します。
Javaは3D描画ライブラリを利用することで3DCGのソフトウェアも開発可能です。
映像作品である「ファインディングニモ」や「トイストーリー」などはJavaを使って開発されているそうです。
また、すべてのBlu-rayディスクプレイヤーにはJavaが使用されています。
高度なメニューやネットワーク機能の実現のために、「Blu-ray Java(BD-J)」という技術が採用されており、現在発売されているすべてのプレイヤーに搭載が義務付けられています。
3. まとめ
今回はJavaでできることを実例を挙げながら紹介しました。
本当に幅広く、また将来性のあるプログラミング言語であるということが分かりました。
現在の需要も多く、また伸びしろもあるということで、ぜひ習得を目指したい言語ですね。
次回からはJavaで開発を行うための環境整備を行っていく予定ですのでよろしくお願いします。