Another 'Android from the perspective of an iOS developer' Post
kieranmcgrady.com
kieranmcgrady.com
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 :)
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.
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.
However, of course, Visual Studio with Resharper has just spoilt me rotten, can't expect that environment from every IDE.
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.
I started playing with Android over the weekend. Even though I know Eclipse pretty well, Intellij community edition was way better.
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.
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 :)
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.
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.