Sviluppo MonoTouch vs Objective-C per iPhone / iPod / iPad [chiuso]


25

Per qualcuno con esperienza .Net e che desidera sviluppare per iPhone / iPod / iPad, vale la pena imparare Objective-C? MonoTouch è una buona alternativa? Quali sono alcuni dei compromessi quando si utilizza MonoTouch vs la codifica in Objective-C?


1
Sembra che Apple stia semplificando le cose: apple.com/pr/library/2010/09/09statement.html
JeffO

2
Resisti fino al rilascio di WP7 e sviluppali invece. ;)
Adam Lear

@Jeff O, ecco perché sono interessato alle esperienze delle persone che si sviluppano con MonoTouch. Ho codificato in Objective-C, ma preferisco C #.
ysolik,

Se puoi votare e pensare che questa sia una domanda utile o abbia delle risposte utili di seguito, vota per favore. I siti StackExchange hanno bisogno di voti per costruire una buona comunità. Puoi dare 30 voti al giorno, non sprecarli. Specialmente gli utenti con alta reputazione e basso numero di voti assegnati si prega di leggere questo: meta.programmers.stackexchange.com/questions/393/…
Maniero

Sono interessato a dare un'occhiata anche a MonoTouch. Sfortunatamente, non ho il tempo di padroneggiare obiettivo-c e ho un negozio pieno di esperti .NET qui. Mi piacerebbe poter sfruttare le loro conoscenze!
Nodey The Node Guy,

Risposte:


17

MonoTouch è una fantastica alternativa. Lo sto usando praticamente da un anno ormai, e non riesco mai a immaginare di tornare all'obiettivo-c. Punti salienti: LINQ, LINQ to XML, LINQ, C #, LINQ, Garbage collector, LINQ, MonoTouch.Dialog e molte altre cose.

Scherzi a parte, però ... al giorno d'oggi la maggior parte delle app scarica sempre dati dal Web e dovrai convertirli in oggetti, tenerli negli elenchi, ordinarli e filtrarli e trasferirli nei database. Quella roba è così semplice da fare con C # e LINQ che non riesco a immaginare che la gente lo faccia in altre lingue.

Il costo di $ 400 dollari non è basso, ma probabilmente puoi guadagnare quei soldi in circa 1 mese senza pubblicità. E la quantità di tempo che MT ti farà risparmiare ti compenserà facilmente. Ricorda inoltre che non devi pagare fino a quando l'app non è pronta per essere testata su un dispositivo, quindi è gratuita per l'apprendimento.

Detto questo, sì, è ancora del tutto degno di imparare l'Obiettivo-C. Ti renderà uno sviluppatore migliore per la piattaforma, capirai perché alcune cose sono come sono e così via. Potrai anche leggere esempi di Obj-C sul Web e tradurli in C #.

Infine, ecco il mio suggerimento: se stai pensando di entrare nello sviluppo di iOS, vai su MonoTouch. Passa qualche settimana a usarlo, quindi prendi la decisione di saltare su Obj-C. La parte più difficile dell'andare allo sviluppo di iOS non è il linguaggio Obj-C, sono tutti i nuovi framework che dovrai imparare. Essere in grado di impararli in C # è un affare ENORME, sarai molto più produttivo fin dall'inizio. Appena dopo aver appreso queste cose, guardate in Obj-C: tutto sarà già familiare, quindi sarà facile capire tutto.


13

Sono uno sviluppatore esperto C, C ++, Delphi e .NET e di recente ho dovuto affrontare un progetto di sviluppo di applicazioni iOS con un back-end .NET. Inizialmente mi sono molto emozionato per MonoTouch e ci sono entrato solo per scoprire che la curva di apprendimento non era proprio la lingua ma piuttosto i modelli di progettazione.

Ho anche notato che il supporto della community per MonoTouch era molto meno di quello per Xcode e Objective-C.

Il mio consiglio, prenditi il ​​tempo e impara l'Obiettivo-C. Leggi le linee guida per gli sviluppatori Apple e scopri come farlo nel modo giusto.


Mi piace ricordare che MonoTouch coinvolgerà almeno un po 'di apprendimento anche se sei un esperto sviluppatore di .NET. Sto anche guardando un'app iOS che si collega al back-end di SQL Server / .net. Puoi indicarmi qualcosa che ha funzionato per te?
Jason S,

3

Se vuoi semplicemente ottenere qualcosa fuori dalla porta in fretta, credo che il monotouch sarebbe la strada da percorrere.

Il cattivo: ricorda che MonoTouch costa $ 399 per un singolo sviluppatore. Ciò significa che se la tua app ha un prezzo di $ 0,99, allora devi essenzialmente vendere oltre 400 app per persino guadagnare. Ciò non tiene conto del fatto che non otterrai $ 0,99 per ogni acquisto di app. Un'altra cosa a cui pensare è che se vuoi che altri sviluppatori si uniscano al tuo progetto, la stragrande maggioranza degli sviluppatori di iPhone usano ancora Objective-C, quindi sarà probabilmente più difficile trovare partner.

Il buono: i tempi di sviluppo saranno molto più rapidi. Essere in anticipo sul mercato è in genere un grande vantaggio.

Il neutro: devi ancora imparare le librerie di iPhone, il ciclo di vita delle applicazioni e tutte le altre piccole sfumature di iPhone. Quindi, anche se non devi imparare Objective-C, devi comunque imparare il framework. Quindi, in entrambi i casi, la tua app può essere altrettanto fantastica in quanto è ancora il framework iOS alla fine della giornata.


Imparerai qualcosa di nuovo a meno che il tuo approccio non sia quello di creare un'app di Windows che gira su iPad.
JeffO,

1

Sto iniziando a sviluppare un'applicazione utilizzando MonoTouch e la trovo una bella esperienza. Con la tendenza ad essere produttivo piuttosto che imparare nuove tecnologie, MonoTouch graffia il prurito. La sensazione generale è che Novell abbia fatto un ottimo lavoro nel rendere disponibili le funzionalità iOS agli sviluppatori .NET e ora con i recenti rilasci delle licenze di Apple (che ora consentono app per iPhone / iPad sviluppate da strumenti di terze parti), MonoTouch guadagnerà terreno . Se guardi il tag #monotouch su Twitter vedrai anche alcuni sviluppatori / devshop PORTARE le loro app Obj-C su .Net perché sarà più facile / veloce mantenere / evolvere a lungo termine. Oh, e tutte le linee guida di Apple si applicano ancora anche se stai lavorando in .NET - in effetti le trovo piuttosto utili.

Con MonoDroid in arrivo, sarai probabilmente in grado di riutilizzare le librerie core della tua applicazione su un'applicazione iPhone e Android: quanto è bello ??

Ecco un'intervista piuttosto ottimista con Wallace Mclure che cattura un po 'di quello di cui sto parlando:

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

Direi che provaci!


0

C'è un articolo su un'esperienza degli sviluppatori .NET nello spostamento delle sue abilità su iOS.

Questo post sul blog descrive la mia esperienza di apprendimento su come scrivere software iOS, dopo aver trascorso molti anni esclusivamente nel mondo dello sviluppo di .NET. Fornisce avvisi, suggerimenti e suggerimenti per gli altri interessati ad apprendere lo sviluppo di iOS. Il post termina con un confronto qualitativo della programmazione in WPF e iOS.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.