Live data from Hacker News

Developing on WP7 vs Android vs iPhone

blog.edwinevans.me

11–20 of 46 posts

Re: Developing on WP7 vs Android vs iPhone

#11

I have developed for Android, and recently started developing WP7. So far, I prefer the development environment and tools for WP7. Silverlight + Blend studio allows for quick and beautiful apps, and XNA studio does much of the work necessary to get the frame updating and rendering working. So far I am impressed with WP7.

I don't think enough people bring up the advantage Expression Blend brings to the table. It's like being able to design your UI in Photoshop

(Say what you will about Microsoft the one thing you have to give them credit for is the amount of money they spend to create developer tools)

Things might change once Adobe gets Flash up to speed on Android but until then Blend is by far the most powerful UI environment available for any mobile device.

Re: Developing on WP7 vs Android vs iPhone

#12
post #2

"Objective-C sucks" is just silly. If you know and like C#, of course you'll like developing for WP7 more. Weird that he talks about null references in Objective-C but you can send all kinds of messages to nil and you'll be fine. Not so in C#/Java.

I meant it doesn't complain when sending a message to a nil object though this is probably not what you intended and makes tracking down bugs harder... or maybe I just have C++ mindset.

Re: Developing on WP7 vs Android vs iPhone

#13
post #10

Summary: The author is a long-time Windows developer and extremely familiar with Visual Studio. He likes the WP7 development environment best. He can deal with Eclipse for Android, but he finds iOS development with Xcode counterintuitive. I'm not sure the author is really distinguishing between his personal tastes and the actual characteristics of each platform. But his personal tastes are shared by an enormous numbe…

But his personal tastes are shared by an enormous number of Windows developers, so based on his blog post, I imagine that WP7 will succeed with in-house corporate developers. Interesting.

I'm not sure that's true. To answer that question you'd have to compare WP7 development to MonoTouch. There's no doubt the WP7 development system is more refined but MonoTouch allows you to use C# and a .net like environment while at the same time letting your staff keep the iPhones they already love.

Re: Developing on WP7 vs Android vs iPhone

#14

I have developed for Android, and recently started developing WP7. So far, I prefer the development environment and tools for WP7. Silverlight + Blend studio allows for quick and beautiful apps, and XNA studio does much of the work necessary to get the frame updating and rendering working. So far I am impressed with WP7.

I don't think enough people bring up the advantage Expression Blend brings to the table. It's like being able to design your UI in Photoshop (Say what you will about Microsoft the one thing you have to give them credit for is the amount of money they spend to create developer tools) Things might change once Adobe gets Flash up to speed on Android but until then Blend is by far the most powerful UI environment availab…

Yes, most people don't even know that Expression Blend exists. The first time I used it to customize my UI in Silverlight, I was blown away how quick and painless it was. To simply change the look of a button in Android, I had to spend far too long creating .9png files or w/e they are called.

Re: Developing on WP7 vs Android vs iPhone

#15
post #6

My experiences with Android and iOS dev has been pretty bad. Android has unbelievably crappy tools. Mac iOS dev tools are beautiful and extremely slick, however I couldn't figure them out. Objective-C is a huge blocking issue for me. Recently been using Titanium Mobile which I'm starting to really like. It makes iPhone dev really nice. With Android dev though you still have to deal with the crappy tools provided by G…

What's so hard about objective-c? If you stay mostly-in-objc, it's not much different than ruby/python -- it's just method calls with named parameters. If you use any framework in ruby, you're probably already doing something similar since many method calls take in a hash where you pass in options. Everything else after learning the syntax is just learning the api.

I think because kids nowadays never learned C/C++ like us old timers. Manual memory management trips them up. Obj-C's "weird" object oriented syntax becomes a non-issue in 2 hrs of coding, so it has to be the manual memory management and API design that are the issue.

UIKit and Cocoa are, admittedly, pretty unorthodox compared to pretty much a lot of UI frameworks out there. That and Interface Builder being a separate app were the biggest obstacles for me learning iOS programming.

Re: Developing on WP7 vs Android vs iPhone

#16

My experiences with Android and iOS dev has been pretty bad. Android has unbelievably crappy tools. Mac iOS dev tools are beautiful and extremely slick, however I couldn't figure them out. Objective-C is a huge blocking issue for me. Recently been using Titanium Mobile which I'm starting to really like. It makes iPhone dev really nice. With Android dev though you still have to deal with the crappy tools provided by G…

"Mac iOS dev tools are beautiful and extremely slick"

And yet have features found in SlickEdit circa 1992.

Twenty fucking years later I'd expect my IDE to a bit smarter. It might look beautiful (to you) but its brain dead.

Re: Developing on WP7 vs Android vs iPhone

#17
This is total shallow flaimbait.

As a C#/Ruby developer I embarked on the somewhat painful journey of learning Objective-C a few weeks ago. I got my first personal app written to control my Denon 3808 remote.

Admittedly it would have taken me a fraction of the time in either C# or Java ... square bracket central is something that is hard to get used to.

However, I find the whole experience of developing on iOS very well documented ... this is not COM development with MFC, it is much more approachable. It is a pleasure to have a language that has its roots in Smalltalk and having a fairly comprehensive yet-not-gigantic set of support classes is great. Objective C delegates are nice, the evented style it offers is nice. Auto release pools take away a lot of the pain of memory management. I am sure that after a few months of development in Objective C I would be quite productive. However I still prefer C#. Also, I prefer Ruby over C#.

When I first learned WPF a few years ago I could not believe the bloat of the base library, it took weeks to really understand how all the XAML stuff works, building custom controls was tricky business.

Today, Silverlight (which has its roots in WPF) is much more polished. As far as I can see if you use the toolkit and controls that ship with WP7 development is quite seamless. However, my understanding is that the iOS set of APIs are more comprehensive due to the huge first to market advantage they have.

There are lots of very subtle advantages to each of these platforms that only and expert in all 3 could point out. That is an article I would love to read.

Re: Developing on WP7 vs Android vs iPhone

#18
post #10

Summary: The author is a long-time Windows developer and extremely familiar with Visual Studio. He likes the WP7 development environment best. He can deal with Eclipse for Android, but he finds iOS development with Xcode counterintuitive. I'm not sure the author is really distinguishing between his personal tastes and the actual characteristics of each platform. But his personal tastes are shared by an enormous numbe…

Summary: The author is a long-time Windows developer and extremely familiar with Visual Studio.

I don't understand where you got your summary. Looking at his CV - http://home.pacbell.net/eevans2/resume.html - it seems he has a range of experience.

Re: Developing on WP7 vs Android vs iPhone

#19

IMO the comparison between these platforms is only interesting when you take alternate languages into account. We know Java, C#, and Objective C are all way behind, so how do more advanced languages fare on these platforms?

> We know Java, C#, and Objective C are all way behind (...)

Behind what?

Re: Developing on WP7 vs Android vs iPhone

#20
post #12
post #2

"Objective-C sucks" is just silly. If you know and like C#, of course you'll like developing for WP7 more. Weird that he talks about null references in Objective-C but you can send all kinds of messages to nil and you'll be fine. Not so in C#/Java.

I meant it doesn't complain when sending a message to a nil object though this is probably not what you intended and makes tracking down bugs harder... or maybe I just have C++ mindset.

I think when many people hear about ObjC's nil semantics, they use it as a pretext for dropping all their null checks. This is a mistake, and you're right, it will make debugging exceptionally difficult when nils start falling through five levels of functions and propagated through ivars.

The trick is to use null checks almost like you're writing C++, but drop them when they are unnecessary and inelegant. Convince yourself that a null check is unnecessary before removing it. This way you're reducing the chance of bugs and making them easier to pinpoint.

For example, you can do:

    if ([someArray count])
rather than

    if (someArray && [someArray count])
On the other hand, you may be asking for trouble if you do

    [[someArray lastObject] dance];
without checking [someArray lastObject] for nil, since if someArray is empty, then nothing will dance and you won't know about it.

tl;dr: Messaging nil is not idiot-proof but it makes code read better.

Post reply on HN