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?
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?
Risposte:
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.
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.
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.
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!
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.