JavaのIDE
長らくJava案件に関わってきたのですが、旧態依然とした金融系SIerでは古いEclipseを利用していました。
2016年時点では、Ganymede, 2020年現在はLunaを利用しています。
が、しかしあまりにも古いのでもっと新しいもん使おうぜ!と提案したいと思い改めて調べてみることにしました。
Eclipse
Eclipse(エクリプス・イクリプス)はJavaの統合開発環境です。
高機能のオープンソースソフトウェアであり、幅広く利用されています。
特徴
Eclipseは以前はバージョンを宇宙・神話に関する名前が利用されていました。(エンジニア厨二問題)
1.0から3.1まではネームがなかったですが、2006年に3.2がリリースされたときはCallistoというコードネームが設定され以降は2018年の4.9まではコードネームが続きます。
なお私が利用した経験があるのは3.4のGanymedeと4.4のLunaですね。古い!
現在の最新バージョンは4.14です。
Eclipseにはプラグインが利用できます。このプラグインによる拡張性が高く、様々な機能を後から追加できます。(何でもかんでも入れるとたまにバグりますが)
例えばソースコードをレビューするCheckStyle、バグチェック用のFindBugsなどもあります。
またバージョン管理システムとの連携が可能でCVS, Subversion, Gitなどでソースコード管理も可能。Antビルド🐜も利用できます。
エディット機能としてもリファクタリングやコード編集支援など便利な要素があります。しかし最近は機能追加に伴って重いと感じることが多くなってきました。開発用でない通常PCでは利用に耐えられないことがたまにあります。
(仕事用PCは2020年2月時点で、Windows7, メモリ4G, CPU core i3 で結構ギリギリ)
Net Beans
Oracleが提供するオープンソースの統合開発環境です。Eclipse同様Javaで作られています。なお初めからOracleが提供していたわけではなく、サンマイクロシステムズを買収された結果Oracle社のものとなっている。
特徴
最新のバージョンは2019年11月時点で11.2です。
NetBeansは多言語に対応しており、日本語などプラグインを入れなくても多くの言語をインストール直後から利用可能。
Eclipseほどではないですが、いくつかの言語に対応しています。
他Eclipseと比較するとシェア・多機能性・プラグインなどややEclipseに劣りますが、
ビルドもApache Ant🐜ビルドが標準となっている。
バージョン管理ではCVS, SubversionのほかMercurialが利用可能
IntelliJ
最近人気を帯びているのがチェコに本社があるJetBrains社が開発する統合開発環境のIntelliJ。
特徴
IntelliJは2019年3月が最新のバージョンです。
勿論無償版(評価版)のIDEも用意されていますが、以下のような違いが挙げられます。
・対応言語がJavaプラットフォーム上のみ(PHP, Python, Rubyなどは対象外)
・Web系非対応。HTML、JavaScriptやWebフレームワークなど利用不可
・JavaEE非対応
・データベース非対応。SQL非対応
・UMLデザイナ非搭載
・モバイル系はAndroidのみ(Adboe AIR非対応)
・アジャイル開発系非対応
色々あげると、評価版はWeb系開発などに一切向きませんね。。。Spring Bootなど使う場合はおのずとIntelliJのUltimet Editionが上がると思います。
IntelliJを利用する場合、年額で初年度57,400円、月額払いなら5,740円となります。
ALL Products Pack(すべてのデスクトップ製品含む)場合は74,700円となります。
継続利用すると年度ごとに少し安くなるシステムです。
また、Eclipseと比較して軽量とのことです。早速インストールしてみたので使ってみたい。。。
VSCode
IDEではないのですが、近年人気が高まっているエディタです。
このVSCodeに対して、EXtensionPackを追加することでIDE化することができます。
他JDK, mavenなどを設定して簡易的にIDEのように使うことができるようです。
現在の主流
人気度で行くと、IntelliJ IDEA, Eclipse, NetBeansの順と思われます。
IntelliJは、有償パッケージとして非常に高性能でありJavaの開発用IDEとしてはおそらく一番の人気を誇ります。
ただ、完全無料で利用できるIDEに焦点を絞った場合はEclipseに軍配が上がると思います。Net BeansはEclipseと比較して使い勝手に大きな違いはないと思うので無難なチョイスはEclipseになると思います。
銀行案件でIntelliJを導入しましょう!と言いたかったのですがUltimet EditionでないとSQLなどが利用できず業務利用に耐えられそうにないですね。。。
有償ということがネックで無償のEclipseでいいじゃんとバッサリ切られそうです。SESだと、利益を上げるためにいかにコストを抑えるか?が重要なってくるので。
ひとまずは個人でIntelliJとSpring Bootで簡単なアプリ作ってみようかなぁ
参考
【Java IDE】Eclipse, IntelliJ, NetBeans 3大 Java IDEを比較(2017年版)
https://ja.wikipedia.org/wiki/Eclipse_(%E7%B5%B1%E5%90%88%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83)