Android StudioとIntelliJ IDEA CEを比べてみた

いつの間にかIDEAのCommunity Editionをそーとー過小評価してて,自分の中ではJDTより遙かに「できない子」扱いしてたんだけど,実はそんなことなかった。ごめんよ,CE(でも使わないけど。


自分に言い聞かせるために書き残すけど,CEでもこれくらいはできる。

  • Hector爺さん(Inspection&Intention)は居る
  • Analyzeメニューもあって,Data flowやStacktrace分析もできる
  • 対応する言語は少ないけど,Language Injectionもできる
  • HTMLファイルは編集できるけど,JSやCSSはただのテキスト扱い
  • SQLファイルもキーワード補完くらいならできる(DBプラグインないからそれ以上はムリ
  • リファクタリングはUltimate並にできる
  • VCS連係もUltimate並にできる(ITS連係も同様

できないのは,

あたりで,サーバ系やフレームワークサポートはほぼ全滅(できるのはgriffonサポートくらい。そんなわけで,


の「CEは窓から投げろ」は撤回しときます。たぶん,CE使ってる人はわざわざAndroid Studioに移行しなくていいです。...「たぶん」って言ったのは,今手に入る IDEA13 CE EAP 130.555 がどうゆうワケかAndroidプラグインが動かなかったから。(´・ω・`)
IDEA12 CE使えば済むけど,Android Studioの比較はIDEA13とやるのが正当なんだろと(公式にも「IDEA12にバックポートしない」言ってるし。
IntelliJ IDEA and Android Studio FAQ | IntelliJ IDEA Blog


いずれ,IDEA13 CEでもAndroid動くだろうと想定すれば,その辺の評価は前回のUltimate版と遜色なくなるだろうから,今度は「何のために(CEじゃなくて)Android Studio使うんだ?」という疑問がわいてきた。
せっかくなので,IDEA13 CEとAndroid Studio標準プラグインを比較してみた結果がこれ。

Community Edition Android Studio
android
android-designer
ant  
ByteCodeViewer  
  CloudEndpoints
commander
copyright
cvsIntegration  
devkit  
eclipse  
git4idea
github
gradle
Groovy
hg4idea
InspectionGadgets
IntelliLang
IntentionPowerPack
javaFX  
java-i18n
junit
maven
properties
svn4idea
tasks
  tasks-time-tracking
testng  
ToString
uiDesigner  
ui-designer-core
xpath  
xslt-debugger  



これだけ見ると,わざわざAndroid Studio選ぶ理由が分かんなくなるなぁ。大きな違いがCloudEndpointsプラグインとプロジェクトウィザードくらいで,それだったらCE選んでおいたほうが良いんじゃね?と思わなくもなし。
ちなみに,CEは起動用のJREが付いてきてるけどADKは付いてない。Android StudioADKは付いてきてるけど,大人の事情で起動用JREは付いてない。Twitterのタイムラインみてると,この起動用JREが無い故に初期導入がうまく行かずにあきらめた人もちらほら見かけるので,最低限,立ち上がることは保証されてるCEのほうが良くないか?


ただ知名度は圧倒的にAndroid Studio優勢なんで,実はCEでも遜色ないとしてもみんなAndroid Studioを使うんだろうな(今だと,Android StudioもIDEA13 UEもCEも,それぞれびみょーに不都合あってプロジェクト共有できないけどね。いずれ解消されるんでしょ。

Java Day Tokyo 2013でIDEバトルやってきました

https://oj-events.jp/public/application/add/64


血で血を洗う勝者なき闘い!!...なんてことはなく,和気藹々とやりましたよ。
こんな面白い企画に誘って頂き関係者の皆さん(&出張扱いにしてくれた弊社)には感謝です。こんな場所で話せるほどIntelliJがメジャーになったと思うと感慨深いものがありますね。


みんな気付いているけど,これが真実だよね。


そんでもご贔屓のツールについて語るのも聴くのも楽しいんだからしょうがない。:-)


当日モデレータとグルになった広報活動では伝えきれなかった点について若干補足しときます。IntelliJの特徴で伝え損ねたのですが,これの最大の特徴は,これだと思ってます。

基本的なコンセプトは,使う人が 『いろいろ』 知ってる前提でサポートするIDEで、
やりたいことが,よく知らなくても何とかしてくれる系ではないです


EclipseのCtrl+2みたいな「これだけ知ってれば何とかなる」みたいな機能は少なめですし,NetBeansのように「細けぇ事は気にするな」的なお手軽さはありません。「なんでもしてやるから指示しな」「ダメだったら文句言ってやる」となかなかスパルタンなところがあります。(´・ω・`)
裏を返すと,やりたいことがハッキリしてれば,その手順を邪魔しないし,絶妙なアシストをしてくれます。そんなIDEですが,クセが強いのであわない人はあわないだろうな...。


テキストエディタと異なるIDEのメリットについては,きしださんがキレイにまとめてくれました。



FindBugsCheckstyleあたりをうまいこと使えばテキストエディタでも似たような事はできますが,シームレスさに置いてはIDEに軍配があがると思います。テキストエディタより動作が重くなる理由のひとつでもあるんだから,そこは認めとこう。
この手のお節介機能については,IntelliJも負けてないんだけど,頑張りすぎて項目が膨大になり互いに矛盾するものもあって,使いこなすのは結構ちょっと大変。IntelliJ(Hectorおじさん)に指摘されたことを盲目的に信じずに「これは直す」「これはいいや」と取捨選択できないとうっとうしいだけだろな。
24日目 Inspections & Intentions - marsのメモ


ps.
今までほとんどIntelliJユーザに遭遇したことがなかったので行くまで「IntelliJが流行ってるとかガセ」と思ってたら違ってた。東京すごい。
あとtwitterでしかあったことがない皆さま方も実在してた。現実すごい。



(゚Д゚)ハッ!! これが「深淵をのぞく時、深淵もまたこちらをのぞいているのだ。」と言うことか...。