【全部俺】JavaのIDE、どれを使う?【3大IDE頂上決戦】
2015年現在では、おそらく以下の3つのいずれかだと思います。
(ちなみに、僕自身が使った経験がほとんどないので、VimやEmacsなどのエディタは今回のスコープから除外しますm( )m)
僕自身は、社会人になってからJavaを学び始め、新人研修はサクラエディタで受講し、それ以降はしばらく数年はEclipseのみを使っていました。
NetBeans歴は2年くらい、IntelliJ IDEA歴は1年くらいで、どのIDEも普段使いにはほぼ問題ない、というくらいのレベルです。
逆に言えば、どれもまだまだ使いこなせてないんじゃないかとも自分では思っています(^^;
その程度のレベルの僕ですが、現時点でどのような見解を持っているのか、それぞれのIDEの特徴を比較しつつ説明したいと思います。
Eclipse
良い点
- プラグインが豊富
- 様々な開発環境に対応可能
- 日本語化が容易
- 日本語情報も豊富、使っている人が多いのでノウハウが蓄積されている
なにがしかのフレームワークだったりAPサーバーだったりをサポートするプラグインは、三大IDEの中では真っ先に作られる印象です。
うーん?
- 他のIDEと比較すると、補完能力が弱い
- やや動きが重い
あくまで僕の感覚ですが、メモリ使用量はほぼ同じでも、IntelliJの方が軽快に動作する印象です。あまりスペックが高くないPCだと、その傾向が顕著です。
NetBeans
良い点
僕はJava EEをやりだした時はEclipseを使っていて、研修のコンテンツもすべてEclipseで作っていました。しかし、今一つやり辛さを感じていたので、全てNetBeansに置き換えました。もちろん最初は慣れませんでしたが、ものの数日で感覚は掴めました。
うーん?
- プラグインが少ない
- 多様な環境には対応できていない
例えば、Spring Bootをサポートするプラグインは、僕の知る限りありません。また、8.1が出るまでは、WildFly連携も不安定な感じでした。GlassFishなどのOracle製品との相性は良いです。
IntelliJ IDEA
良い点
- 補完が至る所で効く
- 何か書いた後のカーソル位置が「ここ!」というところに来てくれる
- JavaScriptサポート機能も強い
一言で言うと「コーディングがとても快適!」です。この点は、EclipseやNetBeansとは大きな差があります。
うーん?
- ぜんぶ英語(今のところ日本語化は不可能)
- コーディング以外の手順はやや複雑
- 基本的に有償
英語であることを差し引いても、使い方の手順を身に付けるには時間がかかりました。4カ月くらいでようやっと慣れたかな?という感じでした。
あと、三大IDEの中で唯一有償です。無償バージョンもあるのですが、これはAPサーバー連携やらHTML/JavaScriptやらのWeb開発機能が付いていません。
で、結局どれを使う?
いま僕は、これらのIDEを使い分けています。
Eclipseは研修用です。既存の研修コンテンツがEclipseプロジェクトが多いのと、受講者の方が慣れているという理由です。あと、前述の通りNetBeansはWildFly対応が今一つな感じがするので、Java EEでもWildFlyを使う時はEclipseです。
NetBeansは、Maven/GlassFish/JavaDB/JSF/JPAを使いたい時用です。
上記以外ではIntelliJ IDEAです。Gradleを使う時や、Java EEでもJPAを使わない(Domaなど)場合はIntelliJです。あとはSpringの場合もIntelliJです。
まとめ
どのIDEもそれぞれ良いところがあり、でも特定の環境だとやり辛さを感じたりで、まだどれか1つに統一できていないのが、僕の現状です。
ただ、もともとはEclipse一辺倒だった自分自身の反省なのですが、「食わず嫌い」ではもったいないと思います。
上述の通りEclipseにはEclipseの良さがあり、否定するつもりはありません。ただ、NetBeansやIntelliJ IDEAも良いIDEであり、少しずつつまみ食いしながら知っていって、その上で自分の感覚や開発環境などに応じて、ひとりひとりのベストなIDEを選べばいいんじゃないかというのが、僕の意見です!
この記事を読んだ方の「ベストなIDE」選びの一助になれば嬉しいです。