【開発を始める前に】あなたは知ってる?Java SE と Java EEの違い
本日からJavaの再学習を始めました。
新卒からかれこれ6年近く扱っていた言語ですが、子供二人分の育休ブランクが4年近くあります。
学習内容の定着のために、はてなブログで内容を共有していきます。
将来自分が見返した時や、同じようにプログラミングを学習している方々の参考になれば幸いです。
Java SE、Java EE、Java MEってそもそも何?
この3つ、そもそも何かというと、Javaを使ってアプリケーション開発を行う際に必要なものをまるっと纏めたもの、すなわちAPIである。
ちなみにAPI(Application Programing Interface)とは、アプリケーションがOSやWeb上の機能を活用するための橋渡し(Interface)を行ってくれるもののこと。
似たような言葉にライブラリがあるが、ライブラリはアプリケーション内に組み込んで使用するもの。
一方のAPIはアプリケーション外にあり、アプリケーションはそれを使わせてもらう形になる。
では、それぞれの違いは?
Java SE(旧称:J2SE)
Java Pratform, Standard Editionの略称で、これが標準APIである。
おなじみ "Hello World" を出力する System out println も この中に含まれる。
これがないと始まらないってくらい基本のものだ。
Java EE(旧称:J2EE)
Java Pratform, Enterprise Editionの略称で、JavaSEにサーバーサイドの機能を追加したもの。WebサイトやWebアプリケーションを開発する際にはこちらが必要だ。
※Java SEは2018年に Jakarta EE に名称が変更になった。
Java ME(旧称:J2ME)
Java Pratform, Micro Editionの略称で、JavaSEに携帯情報端末やデジタル家電、車載機器などの機能を追加したもの。
…個人的には一番なじみがなく、使われる場もピンと来ない。
APIさえあれば、Javaの開発ができるの?
答えはNo。Javaの開発を行うには下記4つが必須だからだ。
(Java APIは、先述したJava SE, Java EE, Java MEにあたる。)
JDKは便利なバリューセット
4つも準備するなんて面倒くさい、と思ったあなたに朗報。
Java API、コンパイラ、Java VMの3つを纏めたセット(JDK)が用意されているのだ。
※ちなみにJREっていうセットもあるけど、これにはコンパイラが含まれていないので要注意。
最新バージョンはこちら(2023年1月現在)
ORACLE公式サイトによると、(※LTSに限っては)Java SE17 が最新とのこと。
もちろん便利な JDK17 もすでに用意されているので、Javaの開発を始めよう!と思った方は公式サイトからインストールする端末にあったものをダウンロードしよう。
さいごに
本日はこのへんで。お読みいただきありがとうございました。
次回は何について書こうかな~。