Domanda

Mi sono sviluppato in C ++ molti anni fa, ma oggigiorno sono principalmente un ingegnere del software Java. Dato che possiedo un iPhone, sono pronto a partire per un MacBook il mese prossimo e in genere sono interessato a iniziare con lo sviluppo di Mac OS (usando l'Obiettivo C), ho pensato di porre questa domanda: What Next?

Più specificamente, quali libri dovrei prendere e ci sono risorse web che alcune persone potrebbero indicarmi? Alcuni libri che sto pensando di acquistare:

Qualcuno ha familiarità con questi titoli? Infine, sarei molto interessato a un riassunto di ciò che dovrei aspettarmi una volta intrapreso questo viaggio. Come persona che si sviluppa in Java usando IntelliJ IDEA, quali sono alcune differenze chiave che noterò mentre passo alla scrittura del codice ObjectiveC in Xcode? Quali sono le differenze tra lo sviluppo desktop Mac OS e lo sviluppo iPhone? Essendo abituato alla garbage collection Java, cosa dovrei sapere sulla gestione della garbage collection / memoria di ObjectiveC. Qualche altro problema specifico della lingua che qualcuno vorrebbe sottolineare? Che ne dici di costruire UI? È più vicino a Swing, costruendo file di risorse di Visual C ++ con cui il codice interagisce o è più simile ad alcuni degli IDE borland che genereranno codice per i guis?

È stato utile?

Soluzione

Dopo aver acquistato entrambi i libri nella tua domanda, raccomando Cocoa Programming per Mac OS X come un modo rapido per imparare la lingua e il framework Cocoa, ed è probabilmente il modo più veloce per iniziare a produrre applicazioni reali in Cocoa. Lo consiglio vivamente. La programmazione in Objective-C 2.0 è un ottimo libro di riferimento, ma se conosci già C, non c'è molto che ti insegnerà che non puoi riprendere dall'altro libro. Tuttavia, se hai mai bisogno di un elenco di tutte le parole chiave riservate in Objective-C, questo è il libro a cui andare.

L'intera interfaccia utente può essere generata in modo programmatico, ma è molto più semplice utilizzare Interface Builder, fornito con XCode, per disporre l'interfaccia utente. Finirai con molto meno codice. Con i binding, puoi persino eliminare il codice che non è direttamente correlato alla configurazione dell'interfaccia. I dettagli sono nel libro Cocoa Programming per Mac OS X.

L'unica cosa che mi manca di Java è l'API di raccolta. In Cocoa, hai solo NSSet, NSArray e NSDictionary e non c'è analogo all'interfaccia Comparable. Queste classi sono anche immutabili, ma hanno versioni mutabili come NSMutableArray.

In realtà non ho giocato con la Garbage Collection in Objective-C 2.0. Nelle versioni precedenti di Objective-C, la gestione della memoria era gestita dai metodi di conservazione, rilascio e rilascio automatico. Gli oggetti sono stati creati con un conteggio di mantenimento di 1. Mantenere quel conteggio incrementato, rilasciarlo decrementato e rilasciare automaticamente gli oggetti è un po 'più complicato. Ancora una volta, il libro sulla programmazione del cacao lo spiega bene. Garbage Collection è un'opzione e, se è attivata, i metodi di conservazione, rilascio e rilascio automatico non fanno nulla. Tuttavia, se si sta scrivendo una libreria o un framework per essere utilizzato da altri, è necessario programmarlo come se la garbage collection fosse disattivata. In questo modo le applicazioni possono usarlo indipendentemente dal fatto che abbiano attivato la garbage collection.

Per quanto riguarda le risorse Web, http://cocoadevcentral.com/ è un ottimo sito con tutorial per principianti. Il Wiki CocoaDev all'indirizzo http://www.cocoadev.com/ contiene informazioni dettagliate su molti argomenti e di solito puoi trovare alcune informazioni utili e persone nella mailing list di cacao-dev elenchi http: // .apple.com / mailman / listinfo / cacao-dev

Lo sviluppo dell'iPhone è leggermente diverso e i dettagli sono limitati da un accordo di riservatezza. Tuttavia, se sei stato approvato da Apple per ottenere l'accesso al centro per sviluppatori iPhone, Apple ha fornito alcune fantastiche panoramiche video delle differenze, che ti indicano la documentazione necessaria per passare dalla programmazione da Mac OS X a iPhone OS X.

Altri suggerimenti

Dai un'occhiata anche a questo:

http://www.xmlvm.org/overview/

È un progetto che tenta di essere in grado di compilare programmi incrociati scritti in una varietà di lingue di origine in una varietà di lingue di destinazione. Uno dei casi di test iniziali era scrivere programmi in Java ed eseguirli su un iPhone. È utile guardare il video sul sito.

Detto questo, non l'ho provato. Il progetto sembra abbastanza beta e non c'è molta attività sul loro sito SourceForge.

Conosci già le parentesi quadre?

Ecco un breve della sua logica dal mio punto di vista. Spero che questo possa aiutare anche.

Penso che ti sentirai piuttosto nudo quando salti da IntelliJ a Xcode. Ma questo è solo dal punto di vista degli strumenti. Porta vestiti extra (TextMate + FScript)!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top