views:

165

answers:

6

I've been developing an iPhone web app on a Windows XP box using MobiOne Test Center and Safari for testing and debugging and occasionally using a real iPhone for testing. The problem is that MobiOne, Safari (desktop), and the iPhone all produce different errors. Obviously I am most concerned with the errors that occur on the iPhone, since that is the target device. (An example of the type of error encountered is that an image that ordinarily appears as expected occasionally cannot be displayed, so the little question-mark icon appears instead.)

I have the opportunity to obtain a Mac for development, but I need to know whether using a Mac will make a difference.

Have any of you moved to the Mac for developing or just testing a web-only iPhone app?

Is doing so worthwhile? Why?

Does the iPhone simulator in the SDK simulate an iPhone better than Safari on the Windows desktop?

Is there a reason I would need a paid subscription to the Apple iOS Developer Program?

Thanks!

+10  A: 

In short: no, I don't think a Mac is necessary for developing iPhone web apps, especially seeing as you have access to a device to test on, and you seem to be fine in your progress of development.

If you're not aware, there's a debug console available on Mobile Safari on your iPhone. Go to Settings > Safari > Developer (at the bottom) > Debug Console and turn that on.

When developing an iPhone web app, you do not need to pay for the iOS Developer Program. That program is for developing native apps to deploy either to your company or the App Store only.

Web apps, on the other hand, are nothing more than web sites that are designed (i.e. include certain meta tags, have mobile-friendly interface designs) to be run similarly to native apps on a device, and harness certain Web technologies such as geolocation that are available to devices. Users view them in Mobile Safari like any other web site, but for the best experience are asked to tap on the + sign and add your web app to their home screens to be accessed as such.

The iPhone Simulator certainly does a better job than desktop Safari on either Windows or Mac OS X since its user interface shares that of the iPhone device, but I don't think you'll need it for testing and debugging if you have a device to test on.

The iOS SDK has a tool called Dashcode but I don't think it's much of a difference from the web dev IDEs that the rest of us use every day. As far as I can tell, Dashcode doesn't give your web app any additional features that can't already be implemented using the standards we're familiar with.

BoltClock
I was not aware of the debug console on the iPhone, since I do not personally own an iPhone. I have to borrow one for my testing and I'm a bit bashful about exploring everything on the phone. Thanks for that option!
DaveInATL
+1  A: 

I would not buy a Mac or a paid subscription to the Apple iOS developer program unless I was writing native iPhone applications.

You should be fine with your current configuration. Just make sure you do the bulk of your testing on the actual iPhone, that is what your customers will be using.

Robert Greiner
The problem is that some seemingly random, intermittent things ocassionally happen on the iPhone but do not happen on the desktop. My thinking was that perhaps those same issues would surface on the Mac in the iPhone simulator and that I could track down the causes using debugging tools in that environment.
DaveInATL
+1  A: 

Does the iPhone simulator in the SDK simulate an iPhone better than Safari on the Windows desktop?

Yes - there are some significant differences between MobileSafari and Safari for Mac/Windows - but you've got an iPhone to test on. The iPhone Simulator offers no additional debugging tools for iPhone web apps, so you're not going to be better off having it available than just testing on the device.

ceejayoz
A: 

Testing on an actual device is better than testing on any of the Simulators, since that is what you mobile customers will actually be using.

If you are strictly building web apps, your money might be better spent on more test devices (devices with and without a Retina display, iPad, maybe an old used iPod Touch running some prior version of iOS for regression testing, etc.) If you are choosy about your colors, the color can vary quite a bit across devices, so it may help to find one warm display and one cold one (from old/different manufacturing lots, etc.).

So you don't NEED a Mac (unless you have other reasons for acquiring one).

hotpaw2
A: 

Buy an iMac. You will enjoy the experience better.

A: 

It is my understanding that your application needs to be compiled on a mac before it can be sold in the app store.

James Fleming
That applies to native applications only. Web applications, which is what the OP is asking about, do not go through the App Store at all.
BoltClock