

Another 'Android from the perspective of an iOS developer' Post - k-mcgrady
http://www.kieranmcgrady.com/blog/2011/9/12/another-android-from-the-perspective-of-an-ios-developer-pos.html

======
campnic
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 :)

~~~
tim_iles
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.

~~~
hello_moto
My experience was otherwise.

~~~
tim_iles
of which bit?

------
Pewpewarrows
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.

~~~
cageface
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.

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

~~~
bad_user
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.

------
haldean
> 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.

~~~
k-mcgrady
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.

------
nextparadigms
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.

~~~
bad_user

         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.

~~~
nextparadigms
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.

------
martinpannier
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.

~~~
ableal
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>

~~~
k-mcgrady
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.

------
RexRollman
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).

~~~
k-mcgrady
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.

------
smackfu
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?

~~~
k-mcgrady
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.

------
m3rv
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!!

~~~
k-mcgrady
I didn't complain about the colours in the IDE...

