• Coding
  • iPhone Development Alternatives

Hi everyone,

I personally believe that mobile development skills are becoming essential in every developer's skill-set, especially those that are freelancers. For that I decided to learn iPhone and Android development. I already started off learning how to develop for the iPhone by watching this video series from Lynda.com. There are certain issues I have to point out though:
1. I do not have a Mac. Hence I do not have the iPhone SDK and all the tools required for iPhone development.
2. I seriously hated the Objective-C syntax and how things are done using Xcode and the Interface Builder (such as hooking up outlets and so on).
3. Something to note: iPhone development is very straight forward and it's not really that complex (as I used to think).
4. I liked the fact that everything is thoroughly documented by Apple.

Now I was wondering about the following:
1. What are all of the alternatives (to Objective-C) for developing iPhone applications?
2. Are these alternatives really a replacement for Objective-C?
3. Are there any serious differences in performance when developing using one of the alternatives? In case there is, does that difference justify the need for learning the ugly Objective-C?

Share your thoughts!
you can use flash cs5 to develop apps. there are some restrictions and it is not that fast.
another way is to develop using jqtouch as a web app then compile to native with phonegap.
both of the above are slow because flash is using an interpreter and phonegap is rendering insidr a uiwebview.

the best is using objective c, learn it, there is a lot of documentation eventhough the language is ugly.
hmm so applications developed in Flash CS5 will run slower than those developed in Objective-C? What does the interpreter do? Doesn't it "convert" the Actionscript 3.0 code into Objective-C?
Flash apps are sluggish and not as good as normal apps.
I'm not sure if you know Hackintosh ? it's a Mac on a PC.
Well it doesn't come with full options like a real Mac but still you can try and see if you can use Xcode to develop iPhone or Mac applications. You can dual boot or boot virtually using Virtual box/ Vmware( darwins boot option ). I never tried it because i have a mac.
http://www.hackintosh.com/ or you can find the iso+tutorial on some warez forums like www.warez-bb.org
m0ei wroteI'm not sure if you know Hackintosh ? it's a Mac on a PC.
Well it doesn't come with full options like a real Mac but still you can try and see if you can use Xcode to develop iPhone or Mac applications. You can dual boot or boot virtually using Virtual box/ Vmware( darwins boot option ). I never tried it because i have a mac.
http://www.hackintosh.com/ or you can find the iso+tutorial on some warez forums like www.warez-bb.org
I actually had a hackintosh myself, and I wrote a kind of a tutorial about it here. Unfortunately, my laptop died a few months ago. I'm actually thinking of buying a MacBook Pro this coming summer.
Hey Kassem, have you heard of Rhomobile? It's a Ruby MVC framework that lets you develop native applications for the iPhone (and other devices, I think). You still need a Mac, XCode, the iPhone SDK, and an Apple Developer account in order to actually deploy the application on your iPhone, but at least you don't have to deal directly with Objective-C.

Although I do recommend learning Obj-C just because it is the de facto language of the iPhone. You may want to prototype your application in Rhomobile and then implement the final version in Obj-C.
saeidw wroteHey Kassem, have you heard of Rhomobile? It's a Ruby MVC framework that lets you develop native applications for the iPhone (and other devices, I think). You still need a Mac, XCode, the iPhone SDK, and an Apple Developer account in order to actually deploy the application on your iPhone, but at least you don't have to deal directly with Objective-C.

Although I do recommend learning Obj-C just because it is the de facto language of the iPhone. You may want to prototype your application in Rhomobile and then implement the final version in Obj-C.
http://www.amlcode.com/2010/07/16/comparison-appinventor-rhomobile-phonegap-appcelerator-webview-and-aml/

Weaknesses

* Does not output native source code, only native package
* Runs entire app through bundled RubyVM interpreter
* Built on Ruby (weakness if you don’t know Ruby)


If you do not know ruby, invest your time in Objective-C. It is not only useful for iphone apps but also for Mac Apps.

It is basically the same as C++ in most cases, it has a different way of writing inheritance and function overrides.

The areas where your app can excel if written in Objective-C is Graphics (OpenGL ES)