tags:

views:

233

answers:

2

I'm only after a simple solution and won't be developing anything particularly complex. But I'm wondering whether the hassals of developing an iPhone app NOT on MacOS are really that significant to avoid giving it a shot. Bearing in mind that I do have access to a mac every now and again. So I would be able to compile it using the official Apple supported SDK, but I just want to be able to develop it in my own environment (windows laptop).

I heard someone mention a while ago that there are various objective C compilers that allow writing code in various other web technologies as well. Are these really valid.

And am I alone in thinking Apple's whole attitude towards this is totally imoral. Charging $200 for the privelege of having your app unequivocally rejected etc etc and then not being allowed to look directly at Steve Jobs or his golden retrievers.

+3  A: 

If you don't want to work on a Mac, you should look into developing a web-application for iPhone.

A) You can develop it on your pc

B) You can test everything on your iPod or iPhone

C) No, review by Apple

Niels Castle
+4  A: 

It depends on what sort of app you're developing - web app, or native iphone app. There are benefits and drawbacks to both.

You can make (and host) an iphone web app on any platform, and write it in pretty much any language. There are projects like iui to make your web app look more like an iphone app. You also don't have to pay to get into the iPhone developer program, but your app isn't available through the app store - it's just a web site. In the newest version of the iPhone OS you can bookmark a site to your site to the "desktop" - making it possible to launch your web app just like any other iPhone app.

If you're making a native iPhone app, again, it depends what sort of app you're making. If it's a game, you can develop it in C (ObjectiveC is a superset of C) and OpenGL ES, and just make a thin ObjectiveC iPhone app wrapper to launch your game. If you're making a "regular" iPhone app with widgets, etc. this is very difficult (if not impossible) without developing on a Mac - in addition to ObjectiveC you'll need the Mac and iPhone libraries - things like Cocoa, etc. that just aren't available on any other platform.

There are also some cross-compiler options here too - MonoTouch for Mono/.NET, Flash cross-compiling and probably more. You'd still need a Mac / iPhone developer account to ultimately test the result in iPhone simulators or on an actual device.

As for how 'imoral' this is of Apple/Steve Jobs - it's the difference between a closed platform and an open platform - some video game systems are also closed platforms also and you pay for the privilege of developing an app for them - and they have the option to censor / prohibit your app/game from their platform. The iPhone is just the most current and popular version of this. If you don't like it - develop an Android app instead :)

Nate
+infinity for avoiding closed platforms. If only it were that easy :( Unfortunately people love apple products and apple loves bending things in their favor and making money off other peoples hard work in any way they can. If you don't have some kind of grand ambition of dominating the apple app store go with android. Down with the evil empire!
Nash0