Java入門必要なものまとめ|フレームワーク、ライブラリ、ツール等

IT
スポンサーリンク

Javaの開発と言っても、各種ミドルウェアやフレームワーク、ライブラリ、ツールなどが豊富にあり選択に悩むことは少なくないと思います。
そこでJavaを始められる方がこんなものを使うんだ!と少しでも全体図をイメージできればと思い作成しました。

関連記事も随時追加していきます。

Apache HTTP Server

世界中でもっとも多く使われているWebサーバソフトウェアであり、大規模な商用サイト、自宅サーバーまで広く利用されている。
重たい処理でも自身でこなしていく。HTTP特化型サーバー。
プレーヤー的存在。
https://httpd.apache.org/

Apache Tomcat

Java ServletやJSPを処理するオープンソースのアプリケーションサーバー。
静的なコンテンツのHTTPサーバーとしても使えるため単体でも用いることができる。また、Apache Tomcat以外のHTTPサーバーがHTTPリクエストを受け、必要に応じてサーブレットコンテナにリクエストを渡すという構成でHTTPサーバーと連携することもできる。
http://tomcat.apache.org/

nginx

Apacheで処理しきれないという背景を元に開発された異なる設計思想のサーバー。
早く処理するために作られているので、自身では処理をせず、他に割り振ることを得意としている。
マネージャーのようなイメージかと。
https://nginx.org/en/

Oracle WebLogic Server

分散Javaアプリケーションの開発、運用、管理を目的として開発された高い拡張性をもつアプリケーション・サーバー。
Oracleが開発・販売する、商用Java EE対応のアプリケーションサーバー。
http://www.oracle.com/technetwork/jp/middleware/weblogic/overview/index.html

WebSphere Application Server

IBMによって提供されているWebアプリケーションサーバーの名称、あるいは、同製品を中核とする一連の製品の総称。
IBMが開発・販売する、Java EE対応のアプリケーションサーバー。
https://www.ibm.com/cloud-computing/jp/ja/websphere/

IDE[Integrated Development Environment](統合開発環境)

Eclipse

Javaで最も普及しているオープンソースのIDE。Pluginを追加することにより、さまざまな機能を追加できることが特徴。
https://www.eclipse.org/

NetBeans

Oracleが中心としたコミュニティで開発されている統合開発環境(IDE)。
プロジェクト管理機能や入力支援機能を備えたIDE。
Java・JavaScript・PHP・Ruby等様々な言語い対応している。
特徴の一つにGUIエディタ(Project Matisse)がある。
日本語サイト⇨https://ja.netbeans.org/
https://netbeans.org/

JavaAPI

Java SE(Java Platform,Standard Edition)

多くのJavaプラットフォームプログラムで役立つJava APIの集合体である。
Java SEでは標準的な機能のみが定められており、サーバ向けの機能についてはJava SEを拡張したJava EEにて定義されている。

Java EE(Java Platform,Enterprise Edition)

Javaの企業用機能セット。JavaSEにサーバ関係のライブラリなどを追加したもので、ベースはJavaSEそのもの。
JavaEE SDKは、JavaSE+JavaEE用ライブラリ+標準JavaEEサーバ+各種ドキュメントからなる。

Java ME(Java Platform,Micro Edition)

Java Platform Java ME (Java Platform, Micro Edition) 組み込み向けの機能セット Java SE のサブセット+組み込み向けAPI。

JavaFX

Swingに代わる Java仮想マシン上で動作するリッチインターネットアプリケーション (RIA) のGUIライブラリ。Java SE 7 Update 2以降に標準搭載されている。

Framework(フレームワーク)

JSF(JavaServer Faces)

JavaベースのWebアプリケーションフレームワーク。
Javaの拡張機能「Java EE(Java Platform,Enterprise Edition)」の仕様に採用されている。

Spring Framework

Javaプラットフォーム向けのオープンソースアプリケーションフレームワーク。
Java Platform、Enterprise Edition上にWebベースのアプリケーションを構築するための拡張が多く用意されている。
http://spring.io/

DataBase(データベース)

H2 Database

Javaプラットフォーム上で動き、組み込み、クライアント・サーバーモードでも動作する、高速・軽量なデータベース。

Test(テスト)

JUnit

Javaでユニットテストの自動化を行うためのフレームワーク。

log(ログ)

Logback

log4jの開発者が作った後継的な実装ライブラリ。

log4j2

log4jの最新バージョン。1.x系に比べ機能向上、機能追加が行われたライブラリ。

Library(ライブラリ)

Jackson

JavaオブジェクトとJSONの相互変換を行う高機能なライブラリ。

Gson

JavaオブジェクトとJSONの相互変換をシンプルに行うライブラリ。

Guava

Googleによって開発された、ユーティリティライブラリ。
単純なユーティリティとしての機能だけでなく関数型プログラミング、Immutable Collection、キャッシュ、ハッシュなどをサポートする。

Twitter4J

JavaでTwitterを扱うためのライブラリ。

ZXing

様々なバーコード形式に対応したのデコード・エンコードライブラリ。

Commons Lang

Javaのjava.langパッケージを拡張するライブラリ。

Commons IO

Javaのjava.ioパッケージを拡張するライブラリ。

Build Tool(ビルドツール)

Gradle

AntとMavenのいい部分を組み合わせたGroovyで記述するビルドツール。

Maven

プロジェクト情報の一元管理、統一したビルドプロセスの提供、依存ライブラリの管理、 プラグイン拡張などによりプロジェクト管理を行うビルドツール。
Maven

合わせて読みたいhttps://otoshimtoshi.com/it/buildtool-curation/

ビルドツールまとめ|Maven&Gradleの使い方

JVM(Java Virtual Machine言語

Scala

オブジェクト指向言語と関数型言語の特徴を統合したマルチパラダイムのプログラミング言語。

Groovy

Javaの資産を利用可能でDSLなどの開発が得意なスクリプト言語。

IT
スポンサーリンク
『ベーシックインカムでセミリタイア!』を目指す20代のブログ