2010-07-11 3 views
6

Ich habe mich entschieden, eine iPhone App zu schreiben und komme aus aC# background, ich dachte ich würde anfangen es zu entwickeln mit Mono.MonoTouch, die Zukunft von MonoTouch und ob ich es für iPhone Apps verwenden sollte (anstelle von objective-C)

Obwohl diese Frage subjektiv sein kann, würde ich etwas Anleitung von Ihnen lieben.

Ist es sicher, meine App mit dieser Technologie zu entwickeln, oder sollte ich ein paar Bücher kaufen und mit dem Lernen von Ziel C beginnen?

Ich weiß, Adobe würde eine Funktion veröffentlichen, mit der Sie iPhone-Apps mit Flash CS5 erstellen können, aber das dauerte nicht lange.

Ich freue mich über Ihr Feedback.

Marko

+1

Ah. Die alte Frage "Willst du mir meinen Lebensunterhalt willkürlich entreißen?" Jede Antwort konnte nur spekulativ sein. Voting to close – spender

+0

Sie sollten MonoTouch das Produkt von Mono als ganzes Projekt in Ihrer Frage unterscheiden. –

Antwort

9

Monotouch macht gute Arbeit, auf dem Laufenden zu bleiben (normalerweise innerhalb von 24 Stunden nach dem Update), also sag nur, dass du keine Ahnung von xyz hast, aber du weißt, abc ist viel besser als ein bisschen albern. Monotouch hat einige Vorteile gegenüber obj c - zum Beispiel objc c wurde in den letzten zwanzig Jahren nur zweimal aktualisiert !! erwarten Sie gute XML, Regex, Http-Unterstützung? Denk nochmal. Linq in Obj c? noch nie. Gute Betriebssystem-Community? Unwahrscheinlich. Es gibt viele Gründe, MT zu verwenden, abgesehen davon, dass C# eine weit überlegene Sprache ist. Einen guten Prozentsatz Ihres Codes in MonoDroid wiederverwenden zu können, ist einer. Obwohl es eine Nachricht gibt, dass Apple eine neue Sprache schafft - ich hege nicht zu viel Hoffnung dafür. Wir werden sehen, denke ich.

Ich habe Obj C gelernt, bevor ich in MT gekommen bin und der Grund, warum ich mit MT gegangen bin, ist, dass Obj C wie ein Schritt zurück in die 90er Jahre ist. Es hat einfach keine modernen Sprachfunktionen und ist zu weit hinter der Kurve. Erstellen Sie Ihre blutigsten Apps mit ihrer archaischen Sprache? Danke aber nein danke.

1

Die iPhone dev Vereinbarung ist ziemlich klar, dass C# nicht eine anerkannte Technologie für die Entwicklung von iPhone-Anwendungen ist. Trotzdem wurden Monotouch-Apps bis heute problemlos in den App Store aufgenommen. Mein Vorschlag ist es, mit den Monotouch-Foren in Kontakt zu bleiben, um zu sehen, was ihre Haltung zu diesem Thema ist, und auf dieser Grundlage Ihre Entscheidung zu treffen. Die langfristige sichere Wette ist, Objective-C zu lernen.

6

Niemand außer Personen, die sehr eng mit dem Betriebssystem und der App-Store-Richtlinie in Apple arbeiten, würde wissen, ob es "sicher" ist, Apps mit dieser Technologie zu entwickeln. Apple kann in Zukunft jederzeit sagen, aber wir wissen es nicht. Was wir wissen, ist, dass der gesamte kompilierte Code in C, C++ oder Obj-C sein muss. Allerdings gibt es einen Haken: In some cases you can run interpreted languages.

Wenn ich Sie wäre, würde ich mit Objective-C gehen. Wir wissen, dass Apple es seit fast 20 Jahren vollständig unterstützt. Es ist nicht so schwer zu lernen, da du C# kennst. Ich kam von C++/C und es dauerte etwa einen Monat, um die Hälfte der Frameworks zu lernen. Es gibt viele andere Frameworks, die ich nicht gelernt habe, weil sie in meinen Apps nicht anwendbar sind (z. B. Beschleuniger, GPS, OpenGL ES usw.). Sie können wahrscheinlich auch damit durchkommen.

Noch einmal, es gibt noch einen anderen Weg: Erstellen Sie es mit HTML5. Aber so müssen Sie überlegen, was Ihre App macht, wenn sie mit Safari-Desktop, Firefox, IE usw. geöffnet wird.

+0

Das ist eine großartige Antwort, ich denke, ich werde etwas Objective-C lernen. Ich bin sehr neu in der iPhone Entwicklung und das hat mir eine großartige Anleitung gegeben. Prost – Marko

+2

http://www.sencha.com/ - html 5 app framework für iphone – iwayneo

1

Vor kurzem hat Apple die Klausel bezüglich der Entwicklungstools von Drittanbietern geändert, die nun besagt, dass, wenn Sie haben vorherige Genehmigung können Sie sie verwenden. Ich habe kein offizielles Wort gesehen, dass Mono erlaubt sein wird.

Wenn Sie von einem C# Hintergrund kommen, würde ich sehr empfehlen, Obj-C zu lernen, weil es immer hilft, eine andere Sprache zu kennen, und Sie konnten es ziemlich leicht aufnehmen. Schauen Sie sich die iPhone-Vorlesungen der Universität Stanford an, sie waren die beste Ressource, als ich lernte.

Obwohl ich C# oder Mono nicht persönlich benutzt habe, hat das iOS SDK, sobald man es erst einmal kennengelernt hat, einige großartige Arbeit hinter sich. Es macht es einfach und mächtig, sobald man sich daran gewöhnt hat nutzte alles aus.

1

Ich denke, es ist wichtig, die Sprache zu lernen, in die die Frameworks für Ihre Plattform der Wahl geschrieben wurden. Dann können Sie mehr verstehen, warum die Frameworks so sind und oft Verhalten oder API-Aufrufe antizipieren, nur basierend auf dem Wissen, was ist typisch für die Sprache und den Rahmen.

Obendrein gibt es jetzt eine Menge Unterstützung für Blöcke über die API (nur iOS4 und höher), die einige Zeit brauchen, um in MonoTouch integriert zu werden. Overlay-Frameworks sind immer einen Schritt hinter der Basisplattform, daher ist es besser, die Frameworks direkt zu verwenden.

+2

MonoTouch unterstützt Blöcke seit Apple führte sie zu iOS. –

+3

Tatsächlich wurden sie 24 Stunden nach der ursprünglichen Veröffentlichung hinzugefügt. –

1

Es ist jetzt Monate her, dass das Flash-Debakel und Monotouch und Unity noch immer rocken.

Als Entwickler in einem .NET-Shop wollen wir in die iOS-Entwicklung expandieren. Nachdem wir in Objective-C ein paar ziemlich grundlegende Dinge entwickelt haben, sind wir 100% verpflichtet, Monotouch zu verwenden, es ist jeden Cent wert.