MonoTouch vs Objective-C pour le développement iPhone / iPod / iPad [fermé]

25

Pour quelqu'un ayant une expérience .Net et souhaitant développer pour iPhone / iPod / iPad, cela vaut-il la peine d'apprendre Objective-C? MonoTouch est-il une bonne alternative? Quels sont certains des compromis à faire avec MonoTouch vs le codage dans Objective-C?

ysolik
la source
1
Il semble qu'Apple facilite les choses
JeffO
2
Tenez jusqu'à la sortie de WP7 et développez-le à la place. ;)
Adam Lear
@Jeff O, c'est pourquoi je suis intéressé par les expériences des personnes développant avec MonoTouch. J'ai codé en Objective-C, mais je préfère C #.
ysolik
Si vous pouvez voter et pensez que c'est une question utile ou si vous avez des réponses utiles ci-dessous, veuillez voter. Les sites StackExchange ont besoin de votes pour construire une bonne communauté. Vous pouvez donner 30 votes par jour, ne les gaspillez pas. Particulièrement les utilisateurs avec une grande réputation et un faible nombre de votes comptés, veuillez lire ceci: meta.programmers.stackexchange.com/questions/393/…
Maniero
Je souhaite également consulter MonoTouch. Malheureusement, je n'ai tout simplement pas le temps de maîtriser l'objectif-c et j'ai une boutique pleine d'experts .NET ici. J'aimerais pouvoir mettre à profit leurs connaissances!
Nodey The Node Guy

Réponses:

17

MonoTouch est une alternative fantastique. Je l'utilise depuis environ un an maintenant, et je ne peux jamais imaginer revenir à l'objectif-c. Points forts: LINQ, LINQ to XML, LINQ, C #, LINQ, Garbage collector, LINQ, MonoTouch.Dialog, et bien d'autres choses.

Sérieusement, cependant ... de nos jours, la plupart des applications téléchargent toujours des données à partir du Web, et vous devrez les convertir en objets, les conserver dans des listes, les trier et les filtrer, et les pousser vers des bases de données. Ce truc est si simple à faire avec C # et LINQ que je ne peux pas imaginer que les gens le fassent dans d'autres langages.

Le coût de 400 $ n'est pas bas, mais vous pouvez probablement gagner cet argent en 1 mois environ sans publicité. Et le temps que MT économisera vous compensera facilement. N'oubliez pas non plus que vous n'avez pas à payer tant que l'application n'est pas prête à être testée sur un appareil, elle est donc gratuite pour l'apprentissage.

Cela dit, oui, c'est encore totalement digne d'apprendre Objective-C. Cela fera de vous un meilleur développeur pour la plate-forme, vous comprendrez pourquoi certaines choses sont telles qu'elles sont, etc. Vous pourrez également lire des exemples Obj-C sur le Web et les traduire en C #.

Enfin, voici ma suggestion: si vous envisagez de vous lancer dans le développement iOS, accédez à MonoTouch. Passez quelques semaines à l'utiliser, puis prenez la décision de sauter à Obj-C. La partie la plus difficile de passer au développement iOS n'est pas le langage Obj-C, c'est tous les nouveaux cadres que vous devrez apprendre. Être capable de les apprendre en C # est une affaire ÉNORME, vous serez beaucoup plus productif dès le départ. Juste après avoir connu ces choses, examinez Obj-C: tout sera déjà familier, il sera donc facile de tout comprendre.

Eduardo Scoz
la source
13

Je suis un développeur chevronné de C, C ++, Delphi et .NET et j'ai récemment eu besoin de s'attaquer à un projet de développement d'applications iOS avec un backend .NET. Au début, je suis devenu très excité à propos de MonoTouch et je suis monté dedans seulement pour découvrir que la courbe d'apprentissage n'était pas vraiment la langue mais plutôt les modèles de conception.

J'ai également noté que le soutien de la communauté pour MonoTouch était bien inférieur à celui pour Xcode et Objective-C.

Mon conseil, prenez le temps et apprenez Objective-C. Lisez les consignes aux développeurs Apple et apprenez à bien le faire.

Craig Nicholson
la source
J'aime le rappel que MonoTouch impliquera au moins un peu d' apprentissage même si vous êtes un développeur .NET chevronné. Je regarde également une application iOS se connectant au serveur principal SQL Server / .net. Pouvez-vous m'indiquer tout ce qui a fonctionné pour vous?
Jason S
3

Si vous voulez simplement sortir quelque chose rapidement, je pense que le monotouch serait la solution.

Le mauvais: N'oubliez pas que MonoTouch coûte 399 $ pour un seul développeur. Cela signifie que si votre application est au prix de 0,99 $, vous devez essentiellement vendre plus de 400 applications pour gagner de l'argent. Cela ne tient pas compte du fait que vous n'obtiendrez pas la totalité de 0,99 $ pour chaque achat d'application. Une autre chose à considérer est que si vous souhaitez que d'autres développeurs rejoignent votre projet, la grande majorité des développeurs iPhone utilisent toujours Objective-C, il sera donc probablement plus difficile de trouver des partenaires.

Le bon: le temps de développement sera beaucoup plus rapide. Être en avance sur le marché est généralement un grand avantage.

Le neutre: vous devez encore apprendre les bibliothèques iPhone, le cycle de vie des applications et toutes les autres petites nuances de l'iPhone. Donc, même si vous n'avez pas à apprendre Objective-C, vous devez toujours apprendre le cadre. Donc, de toute façon, votre application peut être tout aussi impressionnante car c'est toujours le cadre iOS à la fin de la journée.

Ryan Hayes
la source
Vous apprendrez quelque chose de nouveau, sauf si votre approche consiste à créer une application Windows qui s'exécute sur l'ipad.
JeffO
1

Je commence à développer une application en utilisant MonoTouch et je trouve que c'est une bonne expérience. Avec une tendance à être productif plutôt qu'à apprendre de nouvelles technologies, MonoTouch gratte la démangeaison. Le sentiment général est que Novell a fait un excellent travail pour mettre la fonctionnalité iOS à la disposition des développeurs .NET et maintenant avec les récentes assouplissements d'Apple de la licence (ils autorisent désormais les applications iPhone / iPad développées par des outils tiers) MonoTouch ne fera que gagner du terrain . Si vous regardez la balise Twitter #monotouch, vous verrez même des développeurs / devshops PORTER leurs applications Obj-C sur .Net car il sera plus facile / plus rapide de maintenir / évoluer à long terme. Oh, et toutes les directives Apple s'appliquent toujours même si vous travaillez dans .NET - en fait, je les trouve très utiles.

Avec MonoDroid en route également, vous pourrez probablement réutiliser les bibliothèques de base de votre propre application sur une application iPhone ET Android - à quel point est-ce cool ??

Voici une interview assez optimiste avec Wallace Mclure qui capture un peu de ce dont je parle:

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

Je dirais allez-y!

Mark Gibaud
la source
0

Il y a un article sur une expérience des développeurs .NET pour déplacer son ensemble de compétences vers iOS.

Ce billet de blog décrit mon expérience d'apprentissage de l'écriture de logiciels iOS, après avoir passé de nombreuses années exclusivement dans le monde du développement .NET. Il fournit des avertissements, des suggestions et des conseils pour ceux qui souhaitent apprendre le développement iOS. Le post se termine par une comparaison qualitative de la programmation dans WPF et iOS.

gbjbaanb
la source