Dies wird ein bisschen eine Frage der Meinung sein, aber meine Meinung ist, dass Sie besser dran bleiben mit C #. Der Wechsel zu objective-C erhöht die Menge an neuen Informationen, die Sie lernen müssen, bevor Sie in Ihrer Umgebung produktiv sein können.
Auch wenn Sie mit C # arbeiten, müssen Sie immer noch ...
Es gibt einige Nachteile bei der Verwendung von C # obwohl
Meine Intuition ist jedoch gering im Vergleich zu den Kosten für das Erlernen einer neuen Sprache.
BEARBEITEN
Ich wollte meine Gedanken über das Erlernen einer neuen Sprache klären. Ich denke, Sprachen zu lernen macht Spaß und ist ein notwendiger Teil des Lebens eines Programmierers. Sie sollten mindestens einmal im Jahr mit einer neuen Sprache experimentieren. Dieses Jahr spiele ich mit F #.
Der einzige Grund, den ich für diese Frage empfahl, war, dass das OP "den einfachsten Weg ..." sagte. Das Erlernen einer neuen Sprache erfordert zusätzliche Zeit und erfordert ein wenig mehr Aufwand, so dass ich es als einfacher eingestuft habe, bei C # zu bleiben.
Dies wird wahrscheinlich einige beleidigen, aber um ehrlich zu sein, sollten Sie Objective-C lernen, wenn Sie eine ernsthafte Entwicklung machen wollen. Nicht zu wissen, ob Objective-C in der iPhone-Entwicklung ein Hindernis darstellt. Sie werden nicht viele Beispiele verstehen können; Sie müssen sich mit den Eigenheiten von Mono auseinandersetzen, während Sie, wenn Sie über fundierte Kenntnisse von Objective-C verfügen, viel mehr aus der Plattform-Dokumentation herausholen können.
Ich persönlich verstehe die Position nicht, die besagt, dass Sie mehr Informationen benötigen, um Mono über die Muttersprache der Plattform zu verwenden. Es scheint mir etwas kontraproduktiv. Ich denke, wenn das ein sehr teures Vorhaben ist (eine neue Sprache zu lernen), dann kann es sich lohnen, etwas Zeit mit grundlegenden Programmierkonzepten zu verbringen, so dass das Erlernen neuer Sprachen ein ziemlich billiger Vorschlag ist.
Monotouch ist jetzt einfacher für Sie. Aber später härter.
Zum Beispiel, was passiert, wenn neue Samen herauskommen, müssen Sie testen, aber MonoTouch aus irgendeinem Grund brechen?
Indem Sie bei Mono bleiben, müssen Sie bei der Suche nach Ressourcen für Frameworks mental überlegen, wie Sie sie mit Mono verwenden. Die Binärdateien Ihrer App werden größer sein, Ihre Entwicklungszeit wird nach ein paar Monaten in Objective-C nicht so viel schneller sein, und andere App-Entwickler werden Ihnen einen größeren Vorteil bieten, da sie die native Plattform verwenden.
Eine weitere Überlegung ist, dass Sie C # verwenden möchten, weil Sie mit der Sprache besser vertraut sind als mit Objective-C. Aber die große Mehrheit der Lernkurve für das iPhone ist nicht Objective-C, es ist die Frameworks - die Sie auch mit C # aufrufen müssen.
Für jede Plattform sollten Sie die Plattform verwenden, die direkt die Designphilosophie dieser Plattform ausdrückt - auf dem iPhone ist das Objective-C. Denken Sie darüber nach, wenn umgekehrt ein Linux-Entwickler, der in GTK programmiert hat, Windows-Apps schreiben wollte, würden Sie ernsthaft empfehlen, C # nicht zu verwenden und sich an GTK zu halten, weil es "einfacher" für sie war?
>Wenn Sie alle APIs des iPhone verwenden und auf das Debuggen von nativem Code zugreifen wollen, werden Sie wahrscheinlich Ziel C lernen wollen.
Es gibt jedoch Mono-Touch , mit dem Sie zu einem kleinen Preis iPhone-Apps mit C # entwickeln können, aber derzeit keine Debugging-Unterstützung haben. Bestimmte Anwendungen von Generika und anderen High-End-Funktionen sind ebenfalls eingeschränkt. Hier ist ein Link zu den Einschränkungen .
Um Mono-Touch verwenden zu können, benötigen Sie weiterhin Xcode und eine Mac-Umgebung, die für das iPhone entwickelt wurde. Und es ist selbstverständlich, dass Sie dem Apple iPhone Entwicklerprogramm beitreten müssen, wenn Sie tatsächlich etwas auf einem tatsächlichen Gerät bereitstellen möchten.
MonoTouch Ich denke, ist der Weg zu gehen, aber denken Sie daran, es ist immer noch in den Kinderschuhen. Ich konnte die Mono-Entwicklungstools installieren und die MonoDevelop-IDE funktionierte, aber die IDE im aktuellen Zustand ist unglaublich langsam und fast unbenutzbar; zumindest unter Snow Leopard für Mac OSX. Ich habe etwas gegoogelt und es scheint, dass dies ein bekanntes Problem ist, aber in den blutigsten Repositories von MonoDevelop behoben ist. Ich denke, Novell hat etwas zu tun, aber ich denke auch, dass Sie mit dem gesamten Framework ringen werden, solange es noch in den Kinderschuhen steckt.
Wenn Sie also auf die C # / MonoTouch-Route gehen wollen, müssen Sie aufgrund der Instabilität oder Unvollständigkeit des Frameworks viel Beinarbeit und Geisterjagd betreiben. Ich denke, das gilt für jeden neuen Rahmen.