Should I use Mono + c#? Or I'm better off learning and using objective c? Thanks
Keep the doors and windows closed when the AC is on. Avoid opening and closing the doors frequently to prevent the cool air from escaping the room. Prevent direct sunlight from entering the room. Use curtains, blinds and shades to keep the room cool.
You can go cooler when you need to, but keeping your thermostat at 78 degrees will save energy while maintaining comfort. Every degree above 78 saves about 2 percent on your bill, while every degree below costs an extra 6 percent.
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.
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.
Have a look at MonoTouch.
Monotouch is easier for you now. But harder later.
For example, what happens when new seeds come out you need to test against but break MonoTouch for some reason?
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.
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.
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?
If you want to be able to use all of the APIs of the iPhone and have access to native code debugging, you probably are going to want to learn Objective C.
There is, however, Mono-Touch which for a small price lets you develop iPhone apps using C# but lacks debugging support currently. There are also limitations on certain uses of generics and other high-end features. Here's a link to the limitations.
Also, to use Mono-Touch you still need Xcode and a Mac environment set up to develop for iPhone. And it goes without saying you need to join the Apple iPhone developer program if you're actually going to want to deploy anything to an actual device.
This is going to be a bit of an opinion question but my take is that you're better off sticking with C#. Switching to objective-C is increasing the amount of new information you must learn before you can be productive in your environment.
Even keeping with C# you'll still have to ...
There are some downsides to using C# though
My intuition though is these will be minor compared to the cost of learning a new language.
EDIT
I wanted to clarify my thoughts on learning a new language. I think learning languages is fun and a necessary part of a programmers life. You should be at least experimenting with a new language once every year. This year I'm toying with F#.
The only reason I recomended against it for this question was the OP said "the easiest way ...". Learning a new language does require extra time and will take a bit more effort so I qualified it as easier to stick with C#.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With