Live data from Hacker News

An iOS Developer Takes on Android

nfarina.com

51–60 of 119 posts

Re: An iOS Developer Takes on Android

#51

The biggest complaint seems to be that Android is software rendered. As of 3.1 (i think, maybe 3.0) this is no longer an issue as a single line in the manifest will cause Android to automatically accelerate your drawing if possible. I've yet to actually try it though :)

It works pretty well in all the cases i've used it. Its the only way that i have been able to get the new animation class to work smoothly.

It works pretty well... except for software input method (the other name for the touch keyboard).

A simple example: make a webview that scrolls down and ends with a textfield a couple screens below. Activate Hardware acceleration, scroll, touch the textfield, boom, the textfield remains below the keyboard so you don't see what you type. Deactivate hardware acceleration. Do the same test. Boom, the screen pans up and the textfield is visible.

Once you've done this on a xoom, try it on an iconia or whatever other tablet you have.

Enjoy the fun of Honeycomb hardware acceleration.

Re: An iOS Developer Takes on Android

#52
post #49

I hate to be picky about this but in all the time I've been doing iOS development and throughout everything I've ever read I have never seen anything to suggest that iOS using OpenGL for all of it's drawing (simulating a 2D interface in a 3D environment like the article suggests). Drawing is done using the Quartz system and animation is handled by Core Animation (which creates "an illusion of motion").

The OpenGL-nature of iOS was explained to me at WWDC by the head of graphics at Apple. But you can never be sure of anything!

Interesting.

Re: An iOS Developer Takes on Android

#53

Earlier quoted context omitted.

The emulator is very slow indeed, but they talked about it at I/O and they said they will improve it this fall with hardware acceleration (they think lack of it was the biggest issue). Another smaller issue would be that the Android emulator is basically running "ARM hardware" on top of x86 (it's not just a fake simulator like the one for iOS). They're also bringing a new UI builder this fall. They talk about all of…

> Another smaller issue would be that the Android emulator is basically running "ARM hardware" on top of x86 Uh... no shit? That's exactly what the "emulator" part of "ARM emulator" means. > it's not just a fake simulator like the one for iOS It's not a fake simulator, it's a simulator period. There's nothing fake about it.

Why are people down-voting this parent?

The iOS Simulator is specifically refereed to as a simulator NOT an emulator. It simulates the iOS on top of OS X and makes no attempt to be an emulator. It is a decent simulator.

Re: An iOS Developer Takes on Android

#54

I hate to be picky about this but in all the time I've been doing iOS development and throughout everything I've ever read I have never seen anything to suggest that iOS using OpenGL for all of it's drawing (simulating a 2D interface in a 3D environment like the article suggests). Drawing is done using the Quartz system and animation is handled by Core Animation (which creates "an illusion of motion").

Knowing that Quartz on OS X uses OpenGL, I'd assume it also uses it on iOS.

Re: An iOS Developer Takes on Android

#55

I hate to be picky about this but in all the time I've been doing iOS development and throughout everything I've ever read I have never seen anything to suggest that iOS using OpenGL for all of it's drawing (simulating a 2D interface in a 3D environment like the article suggests). Drawing is done using the Quartz system and animation is handled by Core Animation (which creates "an illusion of motion").

No, the author is right. Quartz and Core Animation are built on top of OpenGL.

Re: An iOS Developer Takes on Android

#56

Eclipse is to IntelliJ as Android is to iPhone. Anyone who's used both IntelliJ and Eclipse as IDEs for Java development knows what I'm talking about. Eclipse, like Android, emphasizes "openness" and customizability while IntelliJ, like the iPhone, emphasizes "It Just Works" coherence and integrity. If you like IntelliJ's approach, you might want to try AppCode, a development environment for Objective C made by the m…

I've used IntelliJ for previous projects, but I am definitely going to give Eclipse a spin for the next one.

The Visual Layout Editor seems like too much goodness to miss out on. Jump to 7:17 in this video for a demo: http://www.youtube.com/watch?v=Oq05KqjXTvs

Re: An iOS Developer Takes on Android

#57

What a wonderful approach to development. Skip the ideological critiquing and start shipping some awesome products.. I guess that is really what separates the great developer from the good developer.

Or: How I learned to ignore noisy bloggers and do my job.

Re: An iOS Developer Takes on Android

#58

Earlier quoted context omitted.

The emulator is very slow indeed, but they talked about it at I/O and they said they will improve it this fall with hardware acceleration (they think lack of it was the biggest issue). Another smaller issue would be that the Android emulator is basically running "ARM hardware" on top of x86 (it's not just a fake simulator like the one for iOS). They're also bringing a new UI builder this fall. They talk about all of…

> Another smaller issue would be that the Android emulator is basically running "ARM hardware" on top of x86 Uh... no shit? That's exactly what the "emulator" part of "ARM emulator" means. > it's not just a fake simulator like the one for iOS It's not a fake simulator, it's a simulator period. There's nothing fake about it.

Note what you quoted. He said Android emulator this could be emulating just the OS portion of Android with a jvm that targets x86. Instead they ship an actual ARM emulator and do not emulate Android. From what I understand of iOS development they do it the other way. They compile to x86 and emulate the iOS system calls. They don't emulate an ARM and run the real iOS on it. Therefore the Apple way is a little fake, it is possible for behavior to differ between emulated iOS and real iOS. When you run the android sim there is no possibility of stub vs real OS differences, you are always on the real OS.

edit: Basically it boils down to too little context around the words emulated vs simulated.

Re: An iOS Developer Takes on Android

#59
post #53

Earlier quoted context omitted.

> Another smaller issue would be that the Android emulator is basically running "ARM hardware" on top of x86 Uh... no shit? That's exactly what the "emulator" part of "ARM emulator" means. > it's not just a fake simulator like the one for iOS It's not a fake simulator, it's a simulator period. There's nothing fake about it.

Why are people down-voting this parent? The iOS Simulator is specifically refereed to as a simulator NOT an emulator. It simulates the iOS on top of OS X and makes no attempt to be an emulator. It is a decent simulator.

My guess is people are down voting for tone, and the fact that he didn't even read what he quoted.

Re: An iOS Developer Takes on Android

#60
post #28
post #2

As an iOS developer, this is probably the best comparison between iOS and Android development that I've read. I'm pretty scared of Eclipse and the slow-as-hell emulator doesn't sound fun, but coding layouts that don't involve lots of "how tall is this text for this given width?" calculations is a welcome addition.

I jumped into Android development about a month ago, and after a slow start its really been fun. I hated Eclipse at first, but it gets a lot better with time. The emulator though - don't bother. The author is not exaggerating about several minutes to load. Just buy an Android phone and debug on that, or you'll spend more time cursing at the emulator than coding.

I mostly use real Android devices for developing and debugging. However, another alternative is running Android-x86 in a VirtualBox. (If you aren't trying to test native ARM code, of course.) It's very fast, and I use it sometimes to test different screen resolutions and DPI's.
Post reply on HN