Further Android impressions
Been reading the official Android developer documentation. The Notepad Tutorial is the most complex introductory step-by-step tutorial they offer. Going through it I can say a few things that I find pretty cool, mostly about Eclipse.
- The “Organize Imports” command is awesome.
- I like to type things out manually and format code my own way. So that the Eclipse IDE wants to format things its way, wants to code-complete, and keyboard shortcuts aren’t fully the same as true Mac editing? Well… it’s getting on my nerves. But I’m trying to remember that “ok, when I open a brace/bracket/parenthesis, it’ll close it automatically and also indent to the next level”. So I just have to try to stop typing so much.
- When you get a compiler error, that it attempts to suggest fixes and you can just pick from the list? That’s kinda cool.
- Bring up a contextual menu in source code, Source, Override/Implement Methods…and then you can just pick inherited methods to override and a template is inserted? That’s cool.
- I don’t like how not-seemless all the work is. This is certainly where Apple has things down. You see, in the Apple world all parts of the toolchain work together. The language makes things go. To help the language make things go, the library provides a base NSObject that (almost) everything descends from, and also provides design patterns for everyone to follow. These patterns then are implemented by the tools, so things like Interface Builder allow you to just click and connect everything. The entire toolchain is integrated and supports the greater developer paradigm, so things are smooth. But here in this Android world? Not so much. There’s still a lot of manual hooking of things together, from the layout XML to the code to make everything go. But I will say, the trick with the generated “R” class is a pretty slick way to try to blend this all together. I just wish the editing process was a little more smooth.
- I’m curious why Eclipse is sooooo slow with things like opening files. I mean, I’ve got an 8-core Intel Mac Pro with 10 GB of RAM. There shouldn’t be such pauses just to do simple operations like opening and closing files.
All in all, it seems that Eclipse strives to help you out as much as possible. I like that. Sometimes I wish it wasn’t so helpful, but I reckon that’s probably because I’m not used to it. The real test will be spending a long time in this world then switching back to say Xcode and seeing what I miss and then hate about Xcode lacking.
I went to the bookstore and got the Pro Android 2 book. Of the various “How to program Android” books out there right now, this seems like it has potential to be the best one, not only in terms of how the book itself is put together, but the breadth and depth of topics covered.
The more I work in this, the cooler it is. Yeah, I also see more of the rough and painful edges, but yeah.. this is neat.
I did realize one thing tho. I don’t like looking at Android. There’s a grace and elegance that Apple brings to everything it does. They care about the design down to the last pixel. Looking at Android GUI? It feels like I’m thrown back to 8-bit Atari games. Not really, but that’s the only analogue I can think of to describe it. It just doesn’t look as graceful nor sexy as iOS or anything Apple does.