Live data from Hacker News

An iOS Developer Takes on Android

nfarina.com

91–100 of 119 posts

Re: An iOS Developer Takes on Android

#91
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.

If your scared of Eclipse spend some time with IBM WebSphere Developer workstation (Eclipse underneath, smothered with 10,000 "best in class plugins)[NOT an exaggeration]. Eclipse seems downright zippy in comparison!

Full disclosure... I develop using Eclipse every day.

Re: An iOS Developer Takes on Android

#92

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 more you know:

UIViews are basically event-handling abstractions above CALayers, which in turn are a relatively thin abstraction above common OpenGL actions. Core Animation simply manipulates these layers in the hierarchy, of which there are three per view: model, presentation, and render. The model is the one you interact with. When you change the location of a view, it changes the model, which is then reflected in the presentation. When you animate, it tweens from the beginning state to the end state. Fun fact: when you start a new animation and start it from the current screen state, it uses the presentation layer, instead of the model layer. If you don't start the animation from the current state, this is why you might see jerking - it tweens from the model layer instead of the presentation layer.

The render layer, the last of the three, is rendered by the render server, which is hardware accelerated, and shown to you. Fun fact: CALayer's renderInContext runs on the CPU, whereas UIGetScreenImage uses the render server, which is why it's so much faster - it runs on the GPU.

Re: An iOS Developer Takes on Android

#93
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.

While the emulator may be slow, it's got a lot more features than the iOS simulator. The Android emulator, for instance, has built in support for GPX tracks for the GPS, very useful for location-based functionality. There's an iOS lib for it but it's not quite the same.

Re: An iOS Developer Takes on Android

#94
post #71
post #28

Earlier quoted context omitted.

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.

Just start the emulator op in the morning. There is no reason to shot it down when you go back to coding.

I was going to ask whether there was a problem with your 'u' key, but you used it in "you". I'm confused.

Re: An iOS Developer Takes on Android

#95
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.

He's right about eclipse. After you learn it the productivity boost is tremendous. I'm sure lots of dev environments are like this.

Re: An iOS Developer Takes on Android

#97
post #86
post #69

Earlier quoted context omitted.

Depends -- with that attitude we would still have assembler.

That's a fair point, but if your goal is to create something that people will pay for, targeting a popular platform with an infrastructure based around Java, what will having an opinion about Java buy you? Very little. You can like it, or you can not like it, but you'll have to use it anyway, so your time would be better spent thinking about something other than how much you like it or (as is probably more likely...)…

I don't think that's true.

- Python - Ruby - Ruby on Rails - Django - Coffeescript - Node.js

Were all results of people challenging the status quo of language/platform capability. Developing new languages/frameworks/platforms is NOT unproductive, and has proved very successful in the past.

While java may not be a good excuse to avoid android, it's certainly a good excuse to improve upon the stack (as another commenter suggested, strapping Scala to it would probably be a huge productivity win).

Alas the OP took a pragmatic approach and just built the product. That's fine, but it isn't "better" than someone who (rightly) thinks java is junk and attempts to improve it.

Re: An iOS Developer Takes on Android

#98
iOS developer here. Releasing first android version of my app this week. Even though I didn't do the coding, I've taken a look at the code and done quite a bit of testing. The part about animations is totally true. Animations are much faster and smoother on my iPod 3rd Gen than the equivalent animation on a Droid Incredible, which has much better hardware! We've tried to optimize as much as possible, but we are realizing that there is just no way to match the iOS version's speed and responsiveness.

Re: An iOS Developer Takes on Android

#100

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…

It's funny that he wrote off all the other IDEs in favour of Eclipse which requires more setup than to do Android development than IDEA does. Even if I didn't hate Eclipse it'd be hard to argue with "1. Install IntelliJ, 2. write your code".
Post reply on HN