Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Another 'Android from the perspective of an iOS developer' Post (kieranmcgrady.com)
28 points by basisword on Sept 14, 2011 | hide | past | favorite | 32 comments


I'm not sure this will be welcomed on hacker news, but its almost laughable to me when people try to dismiss eclipse. Not just to the author, but some of the other comments here. Eclipse is probably one of the most sophisticated software development platforms out there.

Have you used the debugger (emulator or physical device)? How about the integration of DDMS into eclipse? FindBugs? HotSwaping? One IDE for python, php, java ... etc? Code profiling? The list is basically endless.

It is second nature to me, but its confusing how someone coming from xcode could rail against eclipse. Sure, I like using vim sometimes, but compare adding a plugin to eclipse to adding a plugin to vim. Compare the debug capabilities of eclipse to nearly every other debugger I've ever worked with. You can do instruction step by step debugging on a physical device! It integrates with your scm and you project management.

I really think Eclipse gets a bad rap from people who haven't used it since 2004 and base their entire analysis on what their experience was then. But to come to a modern version of Eclipse and compare it to XCode and find eclipse lacking ... i find that suspicious.

Edit: Full disclosure ... Java coder for 6 years, android for 1.5 but have used Xcode enough :)


I used Eclipse daily for the last year and regularly for five or so before that. I've switched to Netbeans in the past (and back because of concerns at work--our build process hates Netbeans) and have been using IntelliJ for the last three months. Since switching to IntelliJ, I've never been happier when working in Java (would still prefer Visual Studio to any of this, though).

IMO, anyway, Eclipse's problem is that it doesn't feel like an IDE. It feels like a framework for making IDEs, and Java's sort of bolted in. The user experience is not good, and worse when using non-Java language. A lot of this can be chalked up to Eclipse being a very early example of this sort of IDE framework design, but there are a lot of warts that have just never been fixed.

It's just not a comfortable environment. Honestly it feels like the developers of the Java ecosystem atop Eclipse went "eh, close enough" at one point and it's stayed there for half a decade. It doesn't feel like anyone spent time looking at how users actually write code, but rather went off how they wrote code and extrapolated it to their userbase.


I have always used IDE's. I was a big fan of Visual Studio when coding on Windows and I love Xcode on the Mac. For me Eclipse tries to do too much. I agree that it is very powerful but that might be the cause of the problem. Just looking the preferences there are hundreds of settings. It is also very slow a buggy for me.

The code completion is incredible though. This is my favourite feature of Eclipse. I particularly like how if I forget to include something it will warn me and do it for me with one click.


As a developer using Visual Studio in my day job for the past six years, I simply cannot get a hold of Eclipse. I have tried repeatedly, and failed because it is so very clunky, slow, and unintuitive. Have recently been playing with IntelliJ, and think I will stick with this for the time being.

However, of course, Visual Studio with Resharper has just spoilt me rotten, can't expect that environment from every IDE.


My experience was otherwise.


of which bit?


The author completely missed the boat when it came to testing. You can just plug-in your real Android handset and run/debug applications as you're developing them. Pressing build immediately sends it over the wire, and in seconds you can see how the app runs on a working phone.

I also found it pretty humorous about the statements related to how much you have to download for Android development, when the 3gb monstrosity that is Xcode exists. It does have the advantage of not needing to get anything other than Xcode, whereas with Android you need to fetch three separate things.

Nitpicky issue, but you seemed to use the word "though" and its variations way too often, often multiple times in the same sentence, or right after one another.

Whole-hearted agreement on the Eclipse bloat. Really wish a better open-source IDE would come into existence. I love vim as much as the next guy, but for whole-stack integrated development like Java you really can't beat the speed of coding that an IDE can give you. I've been dabbling in writing a lean, Chrome-like IDE, but I haven't been able to devote nearly enough time to flesh it out into a real project.


Thanks for the comments. You're right that I didn't mention about testing on a device, I will update the post. The reason I talked about the emulator was because most people will only have one, maybe two, devices. They will need to use the emulator to test different screen sizes and memory configurations.

I wasn't complaining about the size of the Android download. It did come across that way so I have removed that line from the post. Thanks for pointing that out.

Regarding my use of 'though'. Sorry. I tend to use that a lot in speech too so it comes across in my writing. I will try to watch that from now on :)


Try IntelliJ community edition. It fully supports Android development with the exception of a visual layout tool and it's 100x better than Eclipse, IMO. In fact, after working with IntelliJ and then going back to XCode it's amazing how little help XCode gives you with managing your code. Admittedly tooling Java is much easier than C/Obj-C/C++ but after using an IDE with really good refactoring tools I really, really miss them in XCode.


I concur.

I started playing with Android over the weekend. Even though I know Eclipse pretty well, Intellij community edition was way better.


Thanks for the suggestions. I didn't even know a community edition of IntelliJ existed.


It does exist, it is open-source and it is awesome.

It also comes with Android project-types. What is missing when compared to Eclipse is the visual interface builder, but IMHO people can do without that bloat, especially since it is totally unusable IMHO.

Just do your interfaces as you would do HTML-stuff. IDEA does give you code completion for tags and tag attributes. Works fine.


Try Eclim, it runs Eclipse in headless mode and connects it to Vim, letting you use the code inspection & analysis of Eclipise within Vim.


I think the free version of intellij has android support.


> Apple already has your credit card information. They have 750,000,000 peoples credit cards. This makes buying apps simple and almost makes you forget that you are paying for something. It makes impulse purchases easier. Google does not have this luxury.

Yes they do. If you've bought an app on the Android market, they have your credit card and the difference between buying a paid app and getting a free one is an extra click. They also have your credit card if you've bought anything from Google Checkout (which is what processes Android app payments). Impulse purchases are just as easy on both devices.


It's just as easy once you set it up. What I mean is for most people who buy an iOS device Apple already has their credit card details because of iTunes. All they need to do is type in a password to start making purchases. It is less likely that Google has your credit card info and you will have to set that up when you by an Android device. Apple also accept a wider range of card types. One of the most popular cards in the UK is Maestro (a Mastercard debit card). Google Checkout does not accept it which means fewer people using it.


I also think Google should've developed their own IDE. They should control things like this. Heck, they should've bought Sun when they had the chance knowing they are committed to Android. Maybe they still can if Oracle loses the trial with Google and finds out they can't make any real money on Java.

But it might be best for Google to focus on the future. They might want to focus on building tools for something like NativeClient or Dart, and focus more and more on those in Android.

Also, looking forward to the hardware-accelerated and improved version of the emulator, hopefully coming out in the same time with ICS this fall. Because if developing for Honeycomb's 1280x800 resolution was slow, I don't want to know how slow it would be developing for future 1920x1200 and 2560x1600 resolutions in the upcoming Kal-El tablets.

They should also work with Eclipse or something, and make an IDE for ARM-based machines. The emulator would probably work even faster directly on ARM. It might be a year or 2 before we see quad core Cortex A15 machines or machines with Nvidia's ARM-based Project Denver, but we'll get there, so they should make development tools for ARM, too.

They should focus on bringing serious productivity tools to Android, like IDE's and such, so people could really use an ARM Transformer like clamshell as their main computer in the future.


     I also think Google should've developed their own IDE.
     They should control things like this.
I think that would have been pointless, a total time waste and money down the drain.

Eclipse may be bloated, but it is available right now and on all platforms too. It means that I don't have to buy a Mac to develop for Android, which in turn means that the barrier to entry is lower for me. It was also available from the get-go. Apple has spent years on improving XCode. Google just had to release a plugin. Apple spent years building a community of people around XCode. Google just inherited it.

Btw, there are benefits to creating a Java-compatible ecosystem, one of them being that if you don't like Eclipse, you can always switch to IntelliJ IDEA.


I suppose you're right. That's why it's probably best to just look at the future, and create tools for HTML5/Dart/Native Client for Android, since those are lacking now anyway.


Key word here is 'Another'. Just do what you want, and if you put all your eggs in one basket, don't complain if at one point its owner purposefully empties it to put his own eggs inside.


The post author did not reference it, but he may have been following up on this other recent piece: An iOS Developer Takes on Android, http://nfarina.com/post/8239634061/ios-to-android


I was actually just referencing the fact that I've read a lot of these kinds of posts :) I have read that one though and it is very good and well balanced.


I'm not a developer, but after reading this article, it seems to me that Google would be well served by offering a version of the SDK with Eclipse and ADT baked in and auto-configured (and maybe even offer the option to update it same way Chrome does).


That would be nice but setting everything up isn't too difficult if you follow the steps. I think the configuration is different on Windows, Mac, and Linux as well so they would have to offer 3 versions. I don't see them doing it.


I honestly wouldn't describe Eclipse as slow or buggy when I'm doing Java development. This is on a couple year old Thinkpad with maxed-out RAM. Is it worse on OS X? Or with the Android APIs? Or maybe too many plug-ins out of the box?


I'm using it on OS X. My system is a few years old but in comparison to Xcode (which is also pretty buggy) Eclipse is bad. Some of the crashes have been because of Android (for example closing a project while the Android SDK is still loading causes a crash) but I'm not sure of the cause of the other problems.


I have the same experience (no complaints or problems) using it at home on my Ubuntu machine, also with the OpenJDK. When I tried it recently on my Windows 7 machine at work the autosuggest will regularly lock everything up for about 10 seconds and everything's noticeably slower. Not sure if that's the Windows version or the computer - but Visual Studio 2010 runs just fine.


Core Eclipse is (imo) much better than many here seem to believe, but the Android Developer Tools bring back the experience of running Eclipse circa 2003. They're slow, memory hungry, and seemingly hang randomly doing nothing for a very long time, which for standard Java dev doesn't really happen these days.


There was interesting post about speeding up Eclipse recently: http://www.beyondlinux.com/blog/2011/06/25/speed-up-your-ecl...


It has some strange memory caching settings by default. In OSX this makes it slower than it needs to be. I forgot the exact name of the flag, but changing it from the meager 128MB to 512MB speeds it up immensely.


I was learning programming, when people used to code in Pascal, and C++ was a King. There was no PHP, there was no other crazy stuff... And when we heard about Java, everybody laugh... Now. I'm Java/C#/PHP/AS developer... And this is so easy comparing to old times. U have to spend over one year in a IDE, over one year in specific API environment to learn it, learn, how to use it and, most important - to make any evaluation. And... You are complaining because U have different colours in IDE? Because U have to download something, and set some preferences? Or U have to wait for something few minutes? C'mon guys, U are developing apps, U are NOT hairdressing! It must be hard and must be difficult. And if this is very hard, then U can be very proud!!


I didn't complain about the colours in the IDE...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: