Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>So, my answer to a previous <a href="https://stackoverflow.com/questions/1506055/what-is-the-easiest-way-for-a-c-programmer-to-develop-for-i-phone/1506103#1506103">similar question</a> is to learn Objective-C. (Also, don't forget about debugging support)</p> <blockquote> <p>This will probably offend some but to be honest, if you are going to do any serious development, you should learn Objective-C. Not knowing Objective-C in iPhone development will just be a hindrance. You won't be able to understand many examples; you have to deal with the quirks of Mono whereas if you had a working knowledge of Objective-C you could get a lot more out of the platform documentation.</p> <p>Personally, I don't understand the position that says increasing the amount of information you need in favor of using Mono over the platform's native language. It seems somewhat counterproductive to me. I think if this is a very expensive proposition (learning a new language) then it may be worthwhile spending some time on fundamental programming concepts so that learning new languages is a fairly cheap proposition.</p> </blockquote> <p><a href="https://stackoverflow.com/questions/1506055/what-is-the-easiest-way-for-a-c-programmer-to-develop-for-i-phone/1506537#1506537">Another user</a> also wrote this:</p> <hr> <p>Monotouch is easier for you now. But harder later.</p> <p>For example, what happens when new seeds come out you need to test against but break MonoTouch for some reason?</p> <p>By sticking with Mono, any time you are looking up resources for frameworks you have to translate mentally into how you are going to use them with Mono. Your app binaries will be larger, your development time not that much faster after a few months into Objective-C, and other app developers will have that much more of an advantage over you because they are using the native platform.</p> <p>Another consideration is that you are looking to use C# because you are more familiar with the language than Objective-C. But the vast majority of the learning curve for the iPhone is not Objective-C, it is the frameworks - which you will have to call into with C# as well.</p> <p>For any platform, you should use the platform that directly expresses the design philosophy of that platform - on the iPhone, that is Objective-C. Think about this from the reverse angle, if a Linux developer used to programming in GTK wanted to write Windows apps would you seriously recommend that they not use C# and stick to GTK because it was "easier" for them to do so?</p> <hr>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. COYou've, probably unintentionally, misrepresented MT. It's not at all - not remotely - analagous to using GTK to write Win apps. MT's bindings are very faithful to CocoaTouch. They've actually *improved* on some of the CT API conventions. But you're not writing your apps using, say, a Windows Forms based abstraction over CT. MT with MonoDevelop has better integration with IB than Xcode (if you want it), and you can often get the same things done in half the code or less. Binary size is being improved, and the tools (binding generator, etc.) are better all the time. A MT app *is* a native app.
      singulars
    2. COTo give examples rather than expect you to take my (obviously) MT-fanboy opinion on its own, I can do things like (and this is just a teeny subset of advantages): Create a property with one line; grab a reference to the Document folder without ridiculous array spelunking (an app has one docs folder, always in the same place - why all the extra work to "find" it?); use the .Net framework where Cocoa stinks (NSDate, anyone?); use commodity skills for enterprise apps; use proper, modern XML bits (I love it when Cocoa silently chokes on characters and just *stops* - no crash - just *stops*).
      singulars
    3. CONot saying I'd use it for everything. I like ObjC and still use it. And, if performance is an issue, I have more granular control over what's going on. But... there are times when MT will make more sense, and I think it's going to make the iPhone a *viable* option for enterprise development. Throw a rock in the air and you'll hit a .Net dev. Most companies don't have in-house ObjC devs. And for enterprise work, they shouldn't have to. MT is *much* easier for working with web services and DBs. You really can write many kinds of apps with MT with half the code it'd take in ObjC.
      singulars
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload