Live data from Hacker News

A few days of programming on iOS and Android illustrates a vast difference.

plus.google.com

41–50 of 97 posts

Re: A few days of programming on iOS and Android illustrates a vast difference.

#41
post #40

Haven't tried programming Android, but not crazy about objective c. But Apple's documentation is stellar and easy to access.

Agreed. I have no love for Apple and I'm developing directly on my jailbroken iPhone through SSH and even then the documentation is very useful.

Heh. iphone-gcc sucks.

Re: A few days of programming on iOS and Android illustrates a vast difference.

#42
Counterpoint, and like I said on the original post: Within a few days of programming Android I had published a few apps. You just need the App-titude, and the attitude as they say. I'm on day 60 and have done 65 Android apps thus far. Perhaps my live-coding video that was up last week would help? http://www.youtube.com/watch?v=x8bu8nNUZSY&feature=chann...

Re: A few days of programming on iOS and Android illustrates a vast difference.

#43
post #4
post #3

Earlier quoted context omitted.

I'd love to hear a good java book recomendation. Is there a K&R kind of book for java? I also have to say that maybe iOS is bit easier to get started with but have the author come talk to me after doing ten or twenty apps wrangling core data, list view, sprites, physics engines, universal apps and mixing c c++ and objectice-c and tell me that rabbit hole is not pretty damn deep.

Hortsman & Cornell's, two volume "Core Java 1.2". I only read the first. Gosling's "The Java Programming Language". And Josh Bloch's "Effective Java". After that, Java Concurrency in Practice. Langr's "Agile Java" is good for just that. Bloch, Goetz, and Doug Lea have each written excellent books on java concurrency. That's just about all the java books I would want to recommend. Many j-books are trash.

Awesome. Thanks so much for the recommendations everyone.

Re: A few days of programming on iOS and Android illustrates a vast difference.

#44
The only thing I know for sure is it took me about 4 hours to write a concept Android app that used an existing app the market (barcode scanner) which I could interact with via intents. It was free and I can install the APK on devices without using the market. I don't really know what more I could ask for.

Well that's not true, the other thing I know for sure is Objective C makes me dry heave.

Re: A few days of programming on iOS and Android illustrates a vast difference.

#45
post #37

Counterpoint: I just began developing my first Android app a few days ago, a turn-based strategy game. I've only had an Android device for a month or so so the platform is relatively new to me, and I didn't even know Java (although, to be fair, I knew C# fairly well a couple years ago, which is arguably the same thing plus type inference.) In a few days, with relatively few problems, I was able to build an app and I'…

Just a word of advice on Android, polish your app really well before launch. The Android Market comment system is relentless. If you don't have a smashingly nice app out of the gate, you'll probably get a couple 1-star "sucks"/"rubbish" reviews before you can finish your post-launch exhale.

This is interesting because I, having no knowledge of the Android market but a lot of knowledge of development in general, would give the exact opposite advice! In general I think it's agreed that the best thing to do is release, and then tweak.

If the Android Market punishes people that do this then I think that's a very real problem with the market that will directly lead to poorer quality software.

Re: A few days of programming on iOS and Android illustrates a vast difference.

#46

My problem with Android development is that, being a non-Java developer, I never knew when to use the Android SDK or the Java SDK or the Apache stuff for certain tasks. For example, networking. Googling online for solutions, I don't know if any of the Java code I find is Android compatible.

> being a non-Java developer

I'm a Java developer and I don't know, either. I suspect the expertise you're looking for might be described as an "Android developer" ;)

Re: A few days of programming on iOS and Android illustrates a vast difference.

#47
post #45
post #37

Earlier quoted context omitted.

Just a word of advice on Android, polish your app really well before launch. The Android Market comment system is relentless. If you don't have a smashingly nice app out of the gate, you'll probably get a couple 1-star "sucks"/"rubbish" reviews before you can finish your post-launch exhale.

This is interesting because I, having no knowledge of the Android market but a lot of knowledge of development in general, would give the exact opposite advice! In general I think it's agreed that the best thing to do is release, and then tweak. If the Android Market punishes people that do this then I think that's a very real problem with the market that will directly lead to poorer quality software.

The release and tweak model works well for web apps -- today. Because there is no real review model for web apps.

Mobile apps are a lot more like movies. Opening weekend means a LOT. If you are weak out the gate, you'll have bad reviews. When you update, no one will care, because not many people will buy the updated app because of all the one-star reviews.

The only time this doesn't apply is if you a huge built in userbase like Facebook, where even with bad reviews, people will still get the updated version of the app.

Re: A few days of programming on iOS and Android illustrates a vast difference.

#48

Counterpoint: I just began developing my first Android app a few days ago, a turn-based strategy game. I've only had an Android device for a month or so so the platform is relatively new to me, and I didn't even know Java (although, to be fair, I knew C# fairly well a couple years ago, which is arguably the same thing plus type inference.) In a few days, with relatively few problems, I was able to build an app and I'…

I prefer using and making software for iOS over Android but I think you're right. Cocoa programming requires a lot of up front knowledge about their design patterns and tools. It's no small undertaking for someone to learn about KVO, delegate pattern (so simple but confuses people for some reason, I think it's the name), MVC, and then add actions and outlets, resizing masks, and all the other unique things to Xcode/IB that people have to learn.

Once you know Cocoa and Xcode iOS development is faster and more fun than Android development but it's no small learning curve. It's worth it for the fast turnaround of using the simulator compared to Android where both the emulator and device are slow, you're looking at 5-10x as long to launch your app compared to the iOS simulator. Plus ObjC > Java if you ask me, but I'm a masochist who likes both C and dynamic languages. Individual statements are verbose in Cocoa but I'd have to look at how much boilerplate is caused by the Java straight jacket to speculate on which is ultimately more verbose.

You also have to be willing to put with some crusty stuff. Nothing compared to OS X programming but it still feels old next to Java's APIs. Two good examples are string manipulation and interacting w/ the filesystem, so verbose on iOS but pretty good in Java.

Re: A few days of programming on iOS and Android illustrates a vast difference.

#49
I worked on an Android app for about 2 months together with some experienced Android developers. Most things, like displaying dialogs, storing things to the Db, etc. worked quite well and I really came to like intents. However, I completely agree with the authors criticism of the implementation of asynchronous calls. We implemented in app purchase functionality for our app and it was a huge pain. Google provides lots of documentation around this. However it's very convoluted and looking at their example IAP app makes you wonder if they had some contest going on to achieve the highest number Gang of 4 design patterns per lines of code. That massively distracted from what the example was supposed to teach you. We ended up spending around 2 weeks to get a solidly tested implementation of IAP working and get all edge cases covered. My main complaint about this is, that we weren't doing anything fancy and 99% of the code we had to write was not specific to our application. Something that just takes our vendor information and one callback for the success case and one for the error case would have totally done the job. I am sure there are hundreds of dev teams out there writing the exact same code as we did. Many of those probably are not testing their code or even just copying Google's example, without understanding what's going on. This is a huge waste of everyone's resources and will probably lead to many buggy apps. I understand that Google wants to allow for the flexibility to cover 99.9% of all use cases. However, they could still have offered a simple library method for the 99% case and have allowed the other 1% to write their own thing. Now everyone has to write their own solution. I hope someone will open source their IAP solution. If not, I actually might do it, since it's just crazy right now.

Re: A few days of programming on iOS and Android illustrates a vast difference.

#50
So of all the things which might be singled out as "over-engineered" in the Android developer kit, he singles out the mechanism of _message passing_ as worthy of the propeller beanie?

That's confusing to me. Message passing is one of the simplest actionable metaphors we have in the world of programming. I'm new to android development, but they seemed pretty straightforward to me.

Post reply on HN