カテゴリー : 2014年 5月9日

Eclipseに対する不満のいくつかの解消


昨日の記事「Xcode使いがEclipseにぶちまける10の不満」に対して、コメントやTwitterなどで色々教えていただきました。また、hd 4.0さんはエントリも書いていただきました。ありがとうございました。これで、いくつかの不満は解消されました。

「1. メソッドの一覧表示および絞り込み検索」について

MacではCmd + Oでポップアップが表示される、と。これだよ!これが使いたかったんだよ!

eclipse_popup

テキストフィールドに入力する事で絞り込みもできる。これは前方一致のみなのかな。部分一致だったらもっと好みだったんだけど。

「2. 補完入力」について

Ctrl + Spaceでいつでも補完入力できるよ、と。これはさすがに、検索したらいろいろでてきました。Mac環境では、Spotlightのショートカットとぶつかるので、気をつけろと。

「4. シミュレータ」について

スナップショットを活用しろ、またはGenymotionを使え、と。まだ試してないですが、やってみようと思います。やっぱりみんな、純正のものは遅いと思ってたんですよね。あー、よかった。

「5. Subversionとの統合」について

Subversiveプラグインをインストールしろ、と。これもまだ試していないですが、やってみようと思います。

「6. エディタの2画面表示」について

エディタのタブをドラッグすることで分割表示ができる、と。なるほど。

eclipse_divide

単純にエディタを並べるだけで、特に連携とかはしないってことですね。まぁ、並べるだけでも使い手はあります。

Android Studioを使え

もうEclipseは古くて今後はAndroid Studioになるからそっちを使え、と。そうなんですね。developer.android.comに行って、Developer ToolsのDownloadでいちばん目立つものをクリックしていったら、Android Developer ToolsとEclipseがインストールされたので、これかと思ってました。次のプロジェクト作るときは、Android Studioを使ってみようと思います。またいくつかの不満が解消されますように。

7、8、9は?

「7. インスペクタ」「8. 操作をアニメーションで確認する」「9. スタックトレースを見やすく表示する」に関しては、反応がなかったですね。そもそも、これらは不満に思っていない、ってことなんですかね?

なんとなく、どう言われるかは予想できるんですよ。インスペクタに関しては、layoutファイルなんかは直接XMLを編集するから、別に凝ったプロパティ画面はいらない。操作のアニメーションでの確認は、一度動きを理解できれば必要ない。スタックトレースは、見れているんだから問題ない。

ただね。私が個人的に、Eclipseに対してどうしても我慢できないのは、この点なんですよ。色々挙げた不満のうち、メソッドの絞り込み検索や、補完入力などに関しては、機能としてないわきゃないんですよ。単に私の調べ方が悪いだけで、あるに決まってんですよ、機能は。

「機能(Feature)」と「見た目(Appearance)」

何が言いたいかっていうと、ソースコードを編集するエディタとしての「機能(Feature)」は十分にある。機能の数だけ数えたら、XcodeよりEclipseの方が上でしょう。でも、編集内容や結果の「見せ方(Appearance)」に関しては、ぜんぜんなっちゃいない。というか、より良い見せ方を考える事を放棄しようとしているんじゃないかと。むしろ、そんなこと考えるのは恥である、とすら考えているのではないかと。開発環境なんだから、素早くコードを編集できればそれでいいじゃないかと。

それに対してXcodeは、バージョンアップするたびに派手なユーザインタフェースを導入して、おいおい開発環境のくせにここまで凝っていいのかよ、って思わせるんですよ。でも、それが「使い物」になるんですよ。Inteface Builderでのレイアウト、Core Dataモデリング、Subversionのdiff表示、XcodeではないですがInstrumentsのプロファイリングなんかを使ってプログラミングすると、冗談抜きで素のテキストエディタのみでやるよりも50倍くらい速いんですよ。

Eclipseはほぼテキストエディタのみだし、レイアウトのGraphical Layout編集は、まぁ正直に言ってお粗末なものです。コマンドラインアプリ作るならいいけど、スマートフォンアプリをこれで作るのかぁ、と思うとげんなりします。8割くらいユーザインタフェース関連のコーディングでしょ。Android Studioだとましになっているのかな。

完成品とガレージキット

Twitterであった反応の中で、

これは今の私の気持ちにピッタリくる、と思ったのはこのつぶやきでした。

Xcodeは塗装完成品で、Eclipseはガレージキットである、と。つまり、Eclipseはそのまま使うものではなく、プラグインをどんどん導入して自分なりの環境を構築していくところに価値がある、ということなんでしょう。これはLinuxの文化ですよね。Android開発も、その気質を受け継ぐところがあるかな?

私の個人的な気持ちは、プラグイン拡張を前提とした場合、足りない機能をその都度補えるのは確かに良い面と言えるでしょう。だけど、ほとんどの場合、それは一貫性、使いやすさ、美しさを損なうものです。それが、構造的に宿命的に、いらつかせるのです。

良い悪いではなく、好き嫌いで言えば、モノリシックな美しさの方が好きだよ、私は。