views:

241

answers:

8

Looking on-line I saw that I can write most of the application in Ansi-C code or as a website and present it in a webView control.

Then besides some general knowledge about iOS and the API... Do I really need to learn Objective C?

+1  A: 

Unless your app is all web, or uses a framework such as PhoneGap you have to have some working knowledge of obj-C. It's actually not that bad. It's C with Smalltalk bolted onto it. It's generally much simpler than C++.

seand
I'm not sure if I sould go over the Stnaford course or maybe dive right into it.And... would you develop the app in Objective-C or just refer to lots of ANSI-C code?
Gal Miller
Once you learn Objective-C, you would most likely prefer to keep it all objective-c. Of course, you have the freedom to use C/C++ as well, but things just become convenient with Cocoa.
Jorge Israel Peña
Some people use obj-C for the stuff where it's required (like Cocoa) but do most of everything else with C/C++
seand
A: 

if u want true native app that can take advantage of the latest features on the latest iOS release, Objective-C is da language you gotta learn.

Henry
+2  A: 

You can use C# to write iPhone apps using MonoTouch, but it costs money. Then again, so does developing for the iPhone the normal way.

hatkirby
apps written in MonoTouch will not make it to the store these days: http://forums.monotouch.net/yaf_postst645.aspx
Adam Eberbach
It's actually uncertain whether MonoTouch is covered by that due to the fact that MonoTouch apps are compiled down to native code, just like an Objective-C app would be.
hatkirby
+4  A: 

You could use something like PhoneGap, which wraps an HTML-based application into a native launcher app. It may not be as powerful as what you can do with a pure native app, but on the other hand, your code will not only run on iOS.

PhoneGap does offer access to some of the phone's API (camera, notifications, accelerometer and so on) that you normally only get in native apps (it exposes them as JavaScript objects), so you can do more than you could in a regular HTML5 webapp, even without learning Objective-C.

Thilo
+2  A: 

The other answers are correct in that you /can/ use other languages... you really don't want to. You are never going to create a pleasant to use, standard, and HIG-abiding application without learning Objective-C. Truly, though, there's no reason /not/ to learn something new. It's not particularly difficult (like, say, C++), and Cocoa is a well-designed API.

Somewhat related, I personally refuse to install all the PhoneGap/etc apps in the App Store as I find them of significantly less inherent quality (especially as compared to the rest of the apps on the device), and I would suspect many non-developers would have similar issues with them, if not so specific.

chpwn
+3  A: 

Most people overlook the fact the iPhone has an extremely capable web browser. You can create very powerful web apps and therefore avoid having to learn objective C.

Safari on the iPhone has a bunch of great HTML5 features, including local sqlite stoage - so for example you could easily make a todo list app which could sync up with your server when there's a net connection.

You can even add home screen icons etc.. personally I'm astonished people don't write iPhone web apps more!

This is a super useful guide on how to do it: http://building-iphone-apps.labs.oreilly.com/

John Hunt
A: 

Objective-C is a very powerful language, and there are a ton of great frameworks - you are doing yourself a HUGE disservice by not learning the language, and your app quality will suffer as a result.

Kendall Helmstetter Gelner
A: 

You can write an entire iPhone app in C++ using a framework like libnui.

Luke