2010-07-26 16 views
33

Sono principalmente uno sviluppatore C# e mi è stato affidato il compito di "trasferire" le funzionalità da alcune app a un'app per iPhone.Gli sviluppatori C# guidano all'obiettivo C?

La funzionalità è abbastanza semplice e una lingua è una lingua, quindi ho pensato: "sicuro, perché no? Sarà divertente!" ... Cioè finché non avrò dato un'occhiata all'Obiettivo C, che, per me, è brutto che rasenta il illeggibile.

Dato che il mio background è primarly C#, e io sono un po ' familiarità con C++, dove posso trovare una buona guida su misura per il mio background di farmi spostare in Objective C?

+2

In una situazione simile me - sicuramente sarebbe bene ascoltare alcuni consigli e aneddoti di questa transizione. –

+0

Mentre raccolgo informazioni sarò felice di condividere quello che trovo su questo thread. C'è davvero bisogno di essere la pietra Rosetta di un programmatore da qualche parte. –

+1

Ti avverto, una volta entrato in Objective-C, potresti iniziare a pensare a C# come brutto (la mia prima reazione a Objective-C era la tua, ma ora è la mia lingua preferita. – JeremyP

risposta

7

L'unico e solo tomo che raccomando per l'apprendimento di Objective-C per le persone che arrivano all'ObiC da moltissimi sfondi, è Kochan.

2
+0

Prima ho consultato i goog, ma le mie capacità di ricerca devono essere carenti perché non ho visto nulla di simile –

+0

@blesh: nessun problema, basta buttare fuori alcuni link che ho trovato interessante – Randolpho

4

Consiglio vivamente che si estrae MonoTouch:

http://monotouch.net/

Ti consentiamo di sviluppare per iPhone utilizzando C#. Probabilmente potresti riutilizzare un po 'del tuo codice esistente e concentrarti solo sulla creazione di una bella interfaccia utente per iPhone. Devi ancora svilupparlo su un Mac, quindi avrai bisogno di questo.

EDIT: La preoccupazione rispetto all'utilizzo di MonoTouch che è stato sollevato qui non è più un problema in quanto Apple ha cambiato la loro politica

http://www.apple.com/pr/library/2010/09/09statement.html

Ho rimosso il mio avvertimento che (in meglio!) MonoTouch può violare i termini di servizio di Apple. A mia conoscenza, nessuno sviluppatore di MonoTouch ha mai rifiutato la propria app da Apple e ora non è più una preoccupazione ufficiale.

+0

Perché il downvote, posso ottenere una spiegazione? – Justin

+3

È necessario sviluppare applicazioni iPhone in C, C++, Objective-C o Objective-C++ (app native) o JavaScript (eseguire solo ontop del WebKit). nella sezione 3.3.1 del contratto per sviluppatori. Non ti deve piacere, ma è così. E non sono i termini di licenza di iOS 4.0, sono entrati in vigore prima del rilascio della 4.0 e si applicano a tutto ciò che è stato presentato al negozio dopo tale orario. – jer

+2

+1 - @jer Apparentemente non è chiaro al team di Monotouch - guarda il loro sito per maggiori informazioni. Diverse app MonoTouch sono state approvate dall'ultima versione, quindi non penso che sia un ostacolo per gli spettacoli. –

1

Come altri hanno suggerito, MonoTouch può essere l'opzione migliore per voi. Nonostante la sezione 3.3.1 di Apple, nessuna app MonoTouch è stata rifiutata dall'App Store e puoi sempre distribuire le app MonoTouch tramite la distribuzione Enterprise se questa è la tua situazione. Se non vuoi uscire dalla tua zona di comfort, continua con C# /. Net. In questo modo devi solo imparare un nuovo framework UI.

Detto questo, molti buoni sviluppatori scoprono che l'apprendimento di una nuova lingua è un'opportunità per espandere il proprio pensiero, oltre al semplice divertimento. Objective-C ha una storia molto interessante ed è (almeno) parte dell'ispirazione per molte lingue "moderne". Lo scopo dichiarato di Objective-C era quello di rendere più semplice l'integrazione di componenti software, quindi il suo interessante mix di tipizzazione statica e invio di messaggi dinamici.I tuoi commenti suggeriscono che hai preso una visione piuttosto dura della lingua. Molti di noi hanno la stessa reazione a qualsiasi nuovo ambiente, lingua, ecc. Dagli tempo e potresti scoprire che le caratteristiche speciali di Objective-C superano la "bruttezza" che vedi ora.

In termini di apprendimento Objective-C, Aaron Hillegass 'book è praticamente la bibbia. È orientato a OS X, ma dovresti essere in grado di prendere i bit iOS appropriati da esso. Inoltre, la guida di Apple Objective-C Programming Language è molto buona.

+0

Ho imparato Objective-C con il libro di Aaron Hillegass. Ha anche un libro di programmazione per iPhone. Se è buono come il libro Mac OSX, sarà un buon punto di partenza. – JeremyP

+0

Nonostante la mia risposta sopra, in realtà mi piace davvero Objective-C. Ho un punto debole nel mio cuore per i giorni di NeXTStep e ho sempre desiderato che GNUStep avesse fatto un grande successo. – Justin

0

Cacao e Objective-C: Up and Running

da Scott Stevenson

http://cocoabook.com/

+0

Devi amare i libri O'Rielly per le foto casuali sulla copertina, lol. Grazie, lo controllerò. –

1

di farti muoversi in Objective C prendere introduzione di Kochan per Objective-C, acquisire familiarità con i concetti di base del linguaggio - classi, oggetti e metodi in particolare - e quindi provare a creare uno strumento da riga di comando compatibile SnowLeopard per impostare il valore del suono del sistema comprendendo il progetto Objective-C del seguente codice SoundVolume:

http://www.cocoadev.com/index.pl?SoundVolume (codice da Ryan)

1

Come sviluppatore C# si dovrebbe trovare il cacao & articoli Objective-C di Kevin Hoffman piuttosto interessante (esp. sul suo blog dotnetaddict). Uno dei suoi progetti è il libro (pianificato) "Cocoa and .NET Programming".

http://kevinhoffman.sys-con.com

Problemi correlati