Google Android Studio Vs. Eclipse: Which Fits Your Needs?
Nerval's Lobster writes "Google's Android Studio is a development tool for Android based on the IntelliJ IDEA platform, one that managed to attract a lot of hype when it rolled out in mid-2013. Roughly a year later, the platform is still in 'early access preview,' and work on it is ongoing. Eclipse, on the other hand, is the granddaddy of IDEs; although it doesn't offer native Android support, it does have some nice tools to help you build Android applications—one such tool is the Google Plugin for Eclipse, made by Google. Developer and editor Jeff Cogswell compares Eclipse and its Google-made Google Plugin with Google's own Android Studio, developed with the help of the people who make IntelliJ IDEA. His verdict? Eclipse is beginning to show its age, especially when it comes to Android development, while Android Studio offers some noted benefits. 'Android Studio is still in preview mode, without an official release, even if that preview is in pretty fine shape—its status certainly shouldn't prevent you from using it, at least in my opinion,' he writes. Do you agree?"
I haven't done Android development, but IntelliJ IDEA has been ahead of Eclipse for ages, so this isn't surprising.
Eclipse was a good IDE (relative to others) for a brief period of time early in its life, give or take 10 years ago (i think?), and that was it. Everyone else quickly caught up, Visual Studio was brought up to speed (with plugins at least), IDEA came into the spotlight, and the only reason Eclipse was still popular was because it was a) it was free, b) people learnt it in school, c) people didn't even realize there was better IDEs out there for Java (and other non-Microsoft languages).
What's wrong with notepad?
Get free satoshi (Bitcoin) and Dogecoins
With a very biased verdict. Giving Android Studio the edge because of Gradle support? That's great- if you want to use gradle. I don't. I don't even know what it is- before Android Studio came out I'd never heard of it. And I have better things to do than play with build tools unless it offers a huge advantage- which it doesn't. The fact its impossible to use Android Studio without switching is a negative, not a positive as Eclipse supports both. The edge here should go to Eclipse for giving you choice between build systems.
UI? The UI that you know is better than one you don't- always. If I have to spend even an hour finding new options, that's an hour I'll probably never make back. Eclipse has lots of flaws, but I'm used to those. The real advantage here is Eclipse if you know it, or draw if you don't.
Basically his argument seems to boil down to he likes new shiny stuff. No thanks.
I still have more fans than freaks. WTF is wrong with you people?
Am I the only person who has written several Android apps (on more than 1x10^6 devices) with ant, my favorite editor, and my own custom tools? I find any IDE maddeningly limiting.
The eclipse "export" to gradle function barely works. Importing an eclipse project into Android Studio doesn't really work either. If you create a build.gradle file, that gets you further along, but things in Android Studio still behave funny especially with identifying the "modules." In the end, if you're looking at migrating I strongly recommend just creating a new project and copying your source and resource files into the latest android file structure and gradle build system.
I liked it better than Eclipse, no separate Android SDK installation/package manager to maintain. I just download and it worked. The UI is a little nicer.
However it doesn't solve my big complaints about Android IDEs in general:
1) Native code development still sucks. It sucks less on Eclipse (as in it exists at all on Eclipse), but it's a pain to set up, a pain to use, and a pain to debug. I actually just gave up on it attaching the debugger, and starting adding logging to me native code. Seriously Google, if you want me to start taking Android seriously for developing big performance sensitive things, some decent tools for C/C++ development would be good.
2) The build system... I don't know what's up with Android Studio defining it's own project format, and then on top of that adding a build system with build system files beneath it. I still have projects that open and build, but tell me the build system is set up wrong. The one thing I like about Xcode is the project and the build manifest are the same file. I'm not maintaining a project that then manages some Gradle config or something. I mean, if I want to I can add an external build system to Xcode. But most of the time I don't need that level of build management. If Android really wants to go the external build system route, just automatically generate the stuff I need every time I hit build so I don't have to worry about checking it in to source control. I don't care if it's spinning an Gradle config off just as long as I don't have to see it and worry about it. If I want to manually grab a Gradle config to throw at some other build system, make it optional.
3) The analyzer tools compared to the iOS toolchain just aren't anywhere near good enough. The data the tools do give back out is presented poorly compared to Apple's Instruments tool, and I've never gotten the tools working for native code, which is usually where I spend the most time caring about performance.
4) This isn't as much a complaint about the tools as much as Android, but Android is just behind in general on performance toolkits. Apple has a great NEON optimized toolkit in Accelerate for DSP and image work. There is no equivalent on Android, although 5 years in, a few open source projects are finally starting up around putting together a NEON accelerated library of functions.
5) x86 Android Emulator with native GPU support. It exists, but it's usually not as well maintained. There are some third party tools trying to fill that gap, but c'mon guys. That's a basic necessity. An ARM based emulator is great for simulating actual ARM calls, but most of the time I'd rather be in the x86 emulator.
I've been an Android developer for 3 years, I've used eclipse extensively as well as Android Studio extensively. Android Studio kicks the pants off of Eclipse. The simple truth you don't realize how painful and terrible the whole Eclipse experience is until you've switched. It solved a ton of my pain points and I would never consider going back. All of my projects have been converted to Gradle, and the savings I receive from that build system are remarkable. It has its own pain points (mostly due to being a pre-1.0 release. Builds break from update-to-update, weird issues arise trying to go from eclipse to Android Studio. Gradle doesn't fully support native. So there are definitely use cases where Eclipse is still a necessary evil. But if you can go the route of Android Studio do it, you'll thank me later.
I've found it runs much faster if you emulate an x86 processor and enable host GPU support.
I am sure the three other people who use Netbeans feel the same way...
I'm sure they do, too, given how much better it is than Eclipse...
"If God created us in his own image, we have more than reciprocated"