可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I have been using Eclipse for Android development and don't have a problem with it (I also use it for Web Service and C++ development under Linux) but I want to give IntelliJ IDEA a go as it appears to have favourable reviews. This is easily possibly now that IDEA 10 has been released with Android support enabled in the Community Edition.
I have looked at IDEA and it looks pretty good to me with the only downside being the lack of UI on .xml file editing (AndroidManifest.xml for example) and the user interface builder provided with ADT 9.0.
Has anyone got experience they can share on IntelliJ IDEA and Android development?
EDIT: Thanks all; I'm sticking with Eclipse as I know it pretty well and it allows me to do pretty much anything (Java-related) I like for free. I shouldn't look a gift horse in the mouth!
回答1:
I have used both, they aren't that different. A lot of it is just what you are used to. Personally, if you aren't having any problems with Eclipse, I would not suggest switching. There are no advantages that are worth the learning curve.
回答2:
The only benefit for me: You code as fast as formula 1 :). Really. If you're used to Resharper in .NET programming, then you will code as fast as in .NET. Even faster.
Bad thing: lack of some Eclipse's tools (browse my questions for details) and it seems that Eclipse's compiler--which you can use from IntelliJ as well--is better. Because of the lack of some tools you are forced to use many 3rd party tools.
The bottom line is: if you don't have problems with Eclipse, then stick to it. I hated Eclipse's slowness and that's why I moved to IntelliJ.
EDIT 23 Jan 2013
IntelliJ has improved a lot. They now have UI visual editor, a great connection to Android SDK and at this moment I can't really think of any feature which Eclipse has and IDEA does not have. What's better, I will say again that IDEA has more features than Eclipse.
EDIT 11 Mar 2014
Again IntelliJ improved. With its visual UI editor for XML layouts and itself being used as the base for Google's Android Studio, its still the best IDE around.
The only flaws for Android developer are IMHO:
it still does not perfectly import dependencies (libraries) so you have to fix things manually
it does not perfectly recognizes other projects (modules) which sometimes you have to add those modules manually
a support for Google Glass does not exist
All this is referring to when importing projects made in Eclipse, which happens very often to anyone working on multiple Android projects.
回答3:
I switched to IDEA for my android development.
- Intellisense actually works
- IDEA is much faster
- The refactoring is nicely done, and the "inspections" catch a lot of places where refactoring would make sense
Things I miss:
- The new Layout viewer from Android 3.0. I always modify the layout xml, but it's nice to be able to switch over and get an idea of what it will look like without running the app. I do load up eclipse for this reason when I do heavy layout editing.
- Hover documentation. In intelliJ, you have to press ctrl+Q to get the javaDoc of an existing method call (vs intellisense popping up as you code).
回答4:
I know eclipse is free, but come on, I don’t know how people actually use this piece of shit to build software. I like open source as much as the next guy, I just like “high quality open source” which may be an oxymoron.
I want to get work done and not fight the tool no matter how free it is.
After 2 years of Android Development on Eclipse I finally give up. I hate it because:
1. Eclipse is slow.
2. Search and autocomplete is poor.
3. Require big among of memory.
4. Crashing and hanging constantly.
5. Correct or incorrect way of closing Eclipse may cause workspace and settings crash.
Eclipse: reminding me every time I use why I normally don't use it. -
Romain Guy
You can check some of interesting IntelliJ IDEA features here
回答5:
Google has introduced new intellij-based IDE for android development (if you dont want to pay for intellij), you can find more info here http://developer.android.com/sdk/installing/studio.html
回答6:
I am interested in this question too. For me, eclipse starts to be slow as more plugins installed: CDT, aptana, pydev, ADT....
IDEA seems like a light-weighted and interesting alternative. For the lacking of layout xml editing, you may do it with http://www.droiddraw.org/, or its desktop version. Pretty amazingly easy after reading the droiddraw tutorials.
I haven't got enough experience with IDEA, so cannot help a lot. Hope more people cast light on this issue.
Thanks,
Frank
回答7:
I think Eclipse has all the features that an IDE should have these days.
But from my point of view it does everything on the wrong way (I am a Visual Studio fan).
After I tried IDEA, I had to realize that it can be customized to act nearly the same as VS, so it IS a very good IDE.
And the version 12 has UI editor for Android.
I can say that try to compare their IntelliSense (or whatever you call it), the debugger (including watches) and the editor. Much more better, smarter, faster for a daily use.
IDEA ultimate is not free, but if you would like to make money with programming I think you can make it easier with professional tools.
I would never pay for Eclipse.
回答8:
As a new IDEA user I found the IDE to be somewhat overwhelming at first. The IDE contains more options than I thought possible and can bring into question - "Just how many checkboxes can you fit on a screen". Once the shock passed and I was able to complete a small project, I'm in love. Sorry Eclipse, but you were kind of flakey and would have unpredictable behavior. IDEA is rock solid.
As a programmer I want rock solid tools and sometimes the phrase "you get what you pay for" is valid.
回答9:
Google's Android Studio is built on top of IDEA, assuming that it will be the "Official" developer tool when it reaches 1.0, it might be worth getting up to speed by learning IDEA.
It also has a "dark" theme built in so you don't have to mess around with Eclipse plugins.
回答10:
Quick comparison
between eclipse 4.3.2 and intellij 13.0.2:
I will refer to intellij idea as I as an abbreviation below (e.g. I12 means intellij idea version 12)
Both are fine .
Pro Intellij are:
Faster compiler mode:(introduced in I12) exactly as with eclipse, now Intellij compiles everything continuously in the background and shows you files that doesn't compile with red zigzag. Exactly as Eclipse but less heavier and more responsive .
Android UI editor: (introduced in I11) even better than the one in eclipse ADT plugin: it shows more properties as android:layout_span ,i.e. Advanced properties that are hidden in Eclipse UI editor forcing you to edit them from Layout XML , can be easily editted from Intellij UI editor. Also while Eclipse UI editor hangs when selecting multiple components then editting one common property , this is extremely fast and easy in Intellij UI editor. It also can show you a preview while editing XML code, which you can't do in eclipse.
Best content assist : it auto completes when you enter next limiter (space or semicolon or brackets or dot ) you don't have to press enter then press the next limiter, exactly as Visual Studio Intellisense. Also Intellij puts most relevant result on top. another feature introduced in I12 is that it searches if matches are available from the middle not from start.
Fast: intellij is much faster than Eclipse. Eclipse 3.8 is slow and Eclipse 4.2 is even slower due some bugs, that were fixed gradually in Eclipse 4.2.1 and 4.2.2 releases .
more stable than eclipse. In Eclipse, A row of Layout properties editor may stick on screen while you scroll, a very bad UI glitch. Also Eclipse x64 crashes very frequently as compared with eclipse x86 or Intellij, may be because of bugs in JDK x64.
Add framework support:( New in I13) a wizard to add framework support
As of intellij 13, it has wizard like (New->Android-> Android Activity) as that in eclipse adt plugin , maybe the only difference is the intellij wizard may force you to a higher minimum SDK version, while eclipse doesn't .
Con Intellij:
Gradle: Android project wizard: (New in I13) when you create an app you can define in a gui wizerd : min sdk , target sdk , icons and theme (all these fills in the gap between eclipse and previous Is) and support mode ( an advantage over eclipse). Although this might be considered an advantage, gradle added so many errors to managing an android project, that intellij became not usable as before in intellij 12. most errors require either changing configuration and updating a maven repo from internet , or navigating to a folder and running a command from terminal.
Doesn't support NDK (Native Development Kit for development in C/C++)
回答11:
I have been using IDEA for professional Android development for almost a year, it is much better than Eclipse because:
- The IDE is much faster and stable
- Excellent interface designer
- Other good enhancements such color picker in XML, creating resource directories and creating String resources.
IDEA is much better for Android development and you will increase your productivity for sure, Google knows this, that is why Android Studio is built on top of IDEA