MonoTouch vs Objective-C für iPhone / iPod / iPad-Entwicklung [geschlossen]

25

Lohnt es sich für jemanden mit .Net-Erfahrung, sich für iPhone / iPod / iPad zu entwickeln, Objective-C zu lernen? Ist MonoTouch eine gute Alternative? Was sind einige der Nachteile bei der Verwendung von MonoTouch im Vergleich zur Codierung in Objective-C?

ysolik
quelle
1
Scheint, als ob Apple dies einfacher macht: apple.com/pr/library/2010/09/09statement.html
JeffO
2
Bis zur Veröffentlichung von WP7 durchhalten und stattdessen dort entwickeln. ;)
Adam Lear
@ Jeff O, deshalb interessiere ich mich für die Erfahrungen, die Menschen mit MonoTouch gemacht haben. Ich habe in Objective-C codiert, bevorzuge aber C #.
Ysolik
Wenn Sie abstimmen können und denken, dass dies eine nützliche Frage ist, oder wenn Sie unten nützliche Antworten haben, stimmen Sie ab. StackExchange-Sites benötigen Stimmen, um eine gute Community aufzubauen. Sie können 30 Stimmen pro Tag abgeben, verschwenden Sie sie nicht. Speziell Anwender mit hohem Ansehen und niedrigen Zählen erhaltenen Stimmen lesen Sie bitte diesen: meta.programmers.stackexchange.com/questions/393/...
Maniero
Ich interessiere mich auch für MonoTouch. Leider habe ich gerade nicht die Zeit, Objective-C zu beherrschen, und ich habe hier einen Laden voller .NET-Experten. Ich möchte in der Lage sein, ihr Wissen zu nutzen!
Nodey The Node Guy

Antworten:

17

MonoTouch ist eine fantastische Alternative. Ich benutze es seit fast einem Jahr und kann mir nicht vorstellen, wieder zu Ziel-c zurückzukehren. Highlights: LINQ, LINQ zu XML, LINQ, C #, LINQ, Garbage Collector, LINQ, MonoTouch.Dialog und viele andere Dinge.

Im Ernst, heutzutage laden die meisten Apps immer Daten aus dem Internet herunter, und Sie müssen diese in Objekte konvertieren, in Listen aufbewahren, sortieren und filtern und in Datenbanken verschieben. Das Zeug ist mit C # und LINQ so einfach zu machen, dass ich mir nicht vorstellen kann, dass Leute das in anderen Sprachen machen.

Die 400-Dollar-Kosten sind nicht niedrig, aber Sie können dieses Geld wahrscheinlich in etwa einem Monat ohne Werbung zurückverdienen. Und die Zeit, die MT Ihnen erspart, wird Sie so leicht ausgleichen. Denken Sie auch daran, dass Sie erst bezahlen müssen, wenn die App zum Testen auf einem Gerät bereit ist.

Vor diesem Hintergrund ist es immer noch absolut lohnenswert, Objective-C zu lernen. Dadurch werden Sie ein besserer Entwickler für die Plattform. Sie werden verstehen, warum manche Dinge so sind, wie sie sind, und so weiter. Sie können auch Obj-C-Beispiele im Web lesen und in C # übersetzen.

Zum Schluss noch mein Vorschlag: Wenn Sie überlegen, in die iOS-Entwicklung einzusteigen, rufen Sie MonoTouch auf. Verbringen Sie ein paar Wochen damit und treffen Sie dann die Entscheidung, zu Obj-C zu springen. Der schwierigste Teil der iOS-Entwicklung ist nicht die Sprache Obj-C, sondern alle neuen Frameworks, die Sie lernen müssen. Es ist ein RIESIGES Geschäft, sie in C # zu lernen. Sie werden von Anfang an viel produktiver sein. Sobald Sie wissen, dass diese Dinge in Obj-C vorkommen, wird alles bereits bekannt sein, sodass es einfach sein wird, alles zu verstehen.

Eduardo Scoz
quelle
13

Ich bin ein erfahrener C-, C ++ -, Delphi- und .NET-Entwickler und musste kürzlich ein iOS-Anwendungsentwicklungsprojekt mit einem .NET-Back-End in Angriff nehmen. Ich war anfangs sehr aufgeregt über MonoTouch und stieg ein, nur um festzustellen, dass die Lernkurve nicht wirklich die Sprache, sondern die Designmuster war.

Ich bemerkte auch, dass die Community-Unterstützung für MonoTouch weitaus geringer war als die für Xcode und Objective-C.

Mein Rat, nehmen Sie sich Zeit und lernen Sie Objective-C. Lesen Sie die Apple-Entwicklerrichtlinien und erfahren Sie, wie Sie es richtig machen.

Craig Nicholson
quelle
Ich mag die Erinnerung, dass MonoTouch zumindest einige Lernschritte beinhalten wird, selbst wenn Sie ein erfahrener .NET-Entwickler sind. Ich sehe mir auch eine iOS-App an, die eine Verbindung zum SQL Server / .net-Back-End herstellt. Können Sie mich auf etwas hinweisen, das für Sie funktioniert hat?
Jason S
3

Wenn Sie nur schnell etwas aus der Tür holen möchten, dann ist Monotouch der richtige Weg.

Das Schlimme : Denken Sie daran, dass MonoTouch für einen einzelnen Entwickler 399 US-Dollar kostet. Das bedeutet, wenn Ihre App einen Preis von 0,99 US-Dollar hat, müssen Sie im Wesentlichen über 400 Apps verkaufen, um überhaupt Geld zu verdienen. Dabei wird nicht berücksichtigt, dass Sie nicht die vollen 0,99 USD für jeden App-Kauf erhalten. Wenn Sie möchten, dass andere Entwickler Ihrem Projekt beitreten, verwenden die allermeisten iPhone-Entwickler immer noch Objective-C, sodass es wahrscheinlich schwieriger ist, Partner zu finden.

Das Gute: Die Entwicklungszeit wird viel schneller sein. Frühe Markteinführung ist in der Regel ein großer Vorteil.

Der Neutrale: Sie müssen noch die iPhone-Bibliotheken, den Anwendungslebenszyklus und all die anderen kleinen Nuancen des iPhones lernen. Auch wenn Sie Objective-C nicht lernen müssen, müssen Sie dennoch das Framework lernen. So oder so kann Ihre App genauso großartig sein, da sie am Ende des Tages immer noch das iOS-Framework ist.

Ryan Hayes
quelle
Sie werden etwas Neues lernen, es sei denn, Sie erstellen eine Windows-App, die auf dem iPad ausgeführt wird.
JeffO
1

Ich fange an, eine Anwendung mit MonoTouch zu entwickeln, und finde es eine gute Erfahrung. Mit der Tendenz, produktiver zu sein, als neue Technologien zu erlernen, kratzt MonoTouch am Juckreiz. Generell ist zu vermuten, dass Novell .NET-Entwicklern die iOS-Funktionalität in hervorragender Weise zur Verfügung gestellt hat. Dank der jüngsten Lockerungen bei der Lizenzierung durch Apple (mit iPhone / iPad-Apps, die mit Tools von Drittanbietern entwickelt wurden) wird MonoTouch nur noch an Boden gewinnen . Wenn Sie sich das Twitter-Tag #monotouch ansehen, werden Sie sogar einige Entwickler / Entwickler sehen, die ihre Obj-C-Apps auf .Net portieren, weil es auf lange Sicht einfacher / schneller ist, sie zu warten / weiterzuentwickeln. Oh, und alle Apple-Richtlinien gelten auch dann, wenn Sie in .NET arbeiten - ich finde sie sogar ziemlich hilfreich.

Mit MonoDroid können Sie wahrscheinlich Kernbibliotheken Ihrer eigenen Anwendung auf einem iPhone UND einer Android-Anwendung wiederverwenden - wie cool ist das?

Hier ist ein ziemlich fröhliches Interview mit Wallace Mclure, das ein wenig von dem aufzeichnet, wovon ich spreche:

http://adtmag.com/articles/2010/09/29/monotouch-qa-with-wallace-mcclure.aspx

Ich würde sagen, mach es!

Mark Gibaud
quelle
0

Es gibt einen Artikel über einen .NET Entwickler, der seine Fähigkeiten auf iOS umgestellt hat.

Dieser Blog-Beitrag beschreibt meine Erfahrungen mit dem Schreiben von iOS-Software, nachdem ich viele Jahre ausschließlich in der Welt der .NET-Entwicklung verbracht habe. Es enthält Warnungen, Vorschläge und Tipps für andere, die sich mit der iOS-Entwicklung befassen möchten. Der Beitrag endet mit einem qualitativen Vergleich der Programmierung in WPF und iOS.

gbjbaanb
quelle