Was ist der einfachste Weg für einen c # -Programmierer, um für i-Phone zu entwickeln?

7

Soll ich Mono + c # verwenden? Oder bin ich besser dran, objektive c zu lernen und zu benutzen? Danke

    
Nestor 01.10.2009, 19:48
quelle

7 Antworten

1

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 ...

  • Lerne die iPhone API
  • Lerne die Eigenheiten der Entwicklung mit dem iPhone selbst

Es gibt einige Nachteile bei der Verwendung von C # obwohl

  • Die meisten iPhone-Beispiele befinden sich in Objective-C. Da Sie die Sprache nicht kennen, wird es schwieriger sein, sie auf Ihr Problem anzuwenden.
  • Es gibt bestimmt kleine Eigenheiten bei der Verwendung der statischen Kompilierung in Mono, an die man sich gewöhnen muss.

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.

    
JaredPar 01.10.2009, 19:50
quelle
24

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.

    
BobbyShaftoe 01.10.2009 19:57
quelle
9

Sehen Sie sich MonoTouch

an     
nitzmahone 01.10.2009 19:50
quelle
7

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?

>     
quelle
3

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.

    
LBushkin 01.10.2009 19:51
quelle
0

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.

    
Ralph Caraveo 01.10.2009 21:22
quelle
0

Ich fand diesen interessanten Podcast

    
Nestor 03.10.2009 23:02
quelle

Tags und Links