

Ask HN: Learning phone development - iPhone or Windows 7 Phone? - oldmanstan

I've put it off for far too long and I've decided I want to learn how to make phone apps. Now, the question is: should I learn for windows phone or iphone?<p>I'm interested in your thoughts on (a) what's easier/quicker to learn, (b) which will be more useful in the future, (c) which will offer a greater chance for earning income, and (d) whatever you thin is good advice...
======
mahmud
Windows 7 is non-existent in the market.

Learn Android, that's where the future is. The iPhone reigns supreme, at least
for 2010, but after that it's an Android world.

iPhone is alright, but it's getting marginalized by Android pretty quickly.
The prickly antics of its owner are not helping either. Steve Jobs is a
visionary whose vision is just a tad bit too imposing.

You can develop for Android without having a phone handset, from any desktop
OS, using any tools you damn like. Best of all, you can sell your software,
any kind of software (that's isn't harmful) to users. On top of that, it's
Free, and actually beautiful, both in appearance and API; the people working
on it are reachable, and very much approachable. Not some corporate head-
honchos locked in a lab. It's worked on by hundreds of companies, employing
thousands of developers.

Android is the best thing to happen to computing in the last 10+ years; it
will have the same impact for mobile computing as "LAMP" for server side, and
"GCC" for systems programming.

~~~
tunaslut
Absolutely agree on Android being the future, but oddly enough the very fact
that you can develop using any tools you like creates a barrier to new
developers. Too many options sometimes mean you spend too much time faffing
about finding the perfect development environment and then jumping from one to
the other. The great thing about iOS is that there really is only one way to
develop for it so you immediately just jump in and start writing software.

~~~
cmontgomeryb
I agree to an extent, but I'm fairly new to the Android platform and I'm still
using the Eclipse+ADT setup described in the official Getting started guide.

I've never been a fan of Eclipse, I used it a while back before moving to
NetBeans for Java work, but for the work I've done so far in Android it works
just fine and for the most part gets the hell out of the way - and when I want
it to get in the way it usually has a wizard to help me out while I'm still
green.

I think this is definitely good for new Droid devs, especially those that are
new to programming in general - the books I've read, the online material I've
read, and the official guides all have used the same development environment.
So my opinion is that althrough you CAN use anything you want, you're guided
towards the Elipse way unless you know what you're doing enough to work how
you want to work.

------
btilly
Over the last few years Microsoft has had a history of late, me too products
that ultimately go nowhere. I see no reason to believe that the Windows Phone
will be an exception. Ignore it.

However you do have a real choice. Do you want to learn the iPhone or Android?
Right now the iPhone has a much better organized marketplace. However Android
is selling faster and is rapidly gaining market share. It is unclear which
will win in the long run. (I personally prefer Android's chances, but it is
close.)

One benefit to Android is that you'll be on a much more standard computing
platform. So if you decide that you want to move out of phones, you'll likely
find C++ and Java to be more employable than Objective C.

My belief is that both will be players for some time. So pick either one and
learn it. If it turns out to be the wrong choice in the long run, you will be
able to switch later. Sure, you'll face a learning curve. But your previous
experience will help.

------
iuguy
If you're used to writing Microsoft compatible software, WP7 will be easier,
iPhone's the same for OSX, Android's probably a bit easier if you're happier
in Linux land but I wouldn't know.

WP7 right now has a small market but isn't flooded with products. You have an
opportunity with Windows Phone 7 to gain first mover advantage with your
product that you won't necessarily have with Android or iPhone.

With iPhone, charging for your product, unless it meets a particular niche is
unlikely to be viable in the long term. If you can make money from in-product
purchases and can promote your product in a crowded market, iPhone is probably
the way to go right now.

Android is gaining popularity and the question with Android isn't just phones
but what else would you run the app on? (e.g. TVs)

Incidentally you have the same question with iPhone (iPad, iPod Touch and a
possible future AppleTV store).

I would recommend that you look at the app you want to make. If you pick
something fairly simple that exists in a niche without too much competition
you can test the water for each. You might need to rewrite code, but you would
be able to reuse algorithms and patterns in a large amount of cases.

------
bignoggins
Disclaimer: I'm a current iphone developer so I'm obviously slightly biased.

(a) quicker/easier: I've programmed in .NET, and I would say Microsoft's
development tools make programming very easy. If you have previous experience
in Java or C#, Windows Phone 7 programming should be easier to pick up.

(b) more useful in the future: debatable but I don't see iOS going away
anytime soon. No harm in learning both.

(c) greater chance for earning income: iPhone, no question. Windows Phone is
definitely an unknown quantity at this point. If you want to make money right
now, iPhone offers by far the largest market.

Regarding Android, while it's true that it is growing in marketshare compared
to iPhone the app store is a bit of a mess. Rampant piracy, poor payment
options, and lack of discoverability means that the App Store is still a much
more attractive market than Android Market, at least for now.

Of course this could all change in the coming years, it's tough to predict the
future. But if I were going to learn mobile programming, I would learn iPhone
first, Android second, Windows third.

------
malandrew
Android or iPhone. Don't touch Windows 7. The media has completely fallen out
of love with Microsoft, so by writing for Windows 7, you have a big strike
against you if your app is the kind that would be eligible for media
attention.

------
gwalker
Depending on what you need to do something like Appcelerator
<http://www.appcelerator.com> might be of some use. Dunno if they are planning
on Windows Phone 7 compatibility.

