Javaの全体像ってこんなかんじ?
JAVAを勉強してても、JAVAを使って何ができるのか、JAVAを分類したときに自分はJAVAのどこの部分を触ってるのかていうのが、はじめてすぐのときは全然わかりませんでした。今でも完全にわかっているわけではないのですが、自分がわかる範囲でJAVAの俯瞰図みたいなものを作ってみました。
- おおまかな分類と説明
- Javaアプリケーション
- Webアプリケーション
- アプレット
- Androidアプリ
- 機械で動くプログラム
- コンパイル
- エディッション
- JSE(Java Standard Edition)
- JEE(Java Enterprise Edition)
- JME(Java Micro Edition)
パソコン上で動くアプリケーションです。
webサーバ上で動くアプリケーションです。
アンドロイドアプリはJavaでプログラムが書かれています。xmlファイルには画面上の配置やデザインなどを指定することが多いです。開発環境としてはAndroidStudioを使うことが多くなっています。Eclipseでも開発自体はできるようですが、AndroidStudioのほうが適しているようです。
エディッションとしてはJMEを使って開発します。機械で動くプログラムは私は作ったことがないのでいまいち私はよくわかっていません。
javaファイルをコンパイルすると、classファイルというのが作られます。しかし、それは一つのクラスからのみなるファイルです。アプリケーションは複数のクラスからなることが多いので、それらのアプリケーションをまとめて、アイコンをダブルクリックしたら開くようにするには、zip形式であるjarファイルなどにまとめます。
正直jarファイル以外の形式は私もよくわかっていません。
jarファイルはjavaの言語を翻訳して動かせるため、JREがないと動きません。よくあるプログラムはexeファイルですが、jarファイルなどからexeに変換することも一定の手順を踏めばできるようです。exeファイルはJREみたいな、動かすのに必要なものは特にないですし、exeのほうが便利なんですが、ちょっとjavaで作ったソフトをexeにするのはめんどくさいようです。
基本的なEditionで、「おおまかな分類と説明」で説明したアプリケーションはだいたいこれで作れます。
webのサーバ用途での大規模システム構築に使われるエディッションらしいです。
家電や電子機器の動作の制御に使われるプログラムみたいです。
Javaのエディッションっていうのは詳しくは私自身ちゃんと理解してないと思うんですが、Javaの開発環境みたいなものだと思っています。JSEが基本となり、JSEが拡張する形でJEEやJMEというのがあるみたいです。JSEとJEE、JMEの違いは、クラスライブラリに何があるか、また、プログラムの作り方などかなと思っています。