Pergunta

Eu tenho desenvolvido em C ++, há muitos anos, mas hoje em dia eu sou principalmente um engenheiro de software Java. Dado que possuo um iPhone, estou pronto para saltar para um próximo mês MacBook, e estou geralmente interessados ??em começar com Mac OS developmentmt (usando Objective C), eu pensei que eu iria apenas colocar esta pergunta lá fora: What Next

Mais especificamente, o que os livros que eu deveria pegar, e existem quaisquer recursos da web que algumas pessoas poderiam apontar-me a? Alguns livros que estou planejando a compra:

Qualquer pessoa familiarizada com esses títulos? Finalmente, eu estaria muito interessado em um resumo do que eu deveria estar preparado para esperar, uma vez que eu embarcar nesta viagem. Como alguém que se desenvolve em Java usando IntelliJ IDEA, quais são algumas das principais diferenças vou perceber como eu passar para escrever código ObjectiveC no Xcode? Qual é a diferença entre desenvolvimento desktop Mac OS e desenvolvimento do iPhone? Sendo usado para a coleta de lixo Java, o que devo saber sobre gerenciamento de coleta de lixo / memória ObjectiveC. Quaisquer outras questões linguagem específicas que qualquer um gostaria de destacar? Como sobre a construção de interfaces de usuário? É mais perto de balanço, a construção de Visual C ++ arquivos de recursos que interage de código com, ou é mais como alguns dos IDEs da Borland que irão gerar código para GUIs?

Foi útil?

Solução

Tendo comprado tanto dos livros na sua pergunta, eu recomendo Cacau programação para Mac OS X como uma maneira rápida de aprender a língua e o quadro de cacau, e é provavelmente a maneira mais rápida para começar a produzir aplicações reais em Cocoa. Eu recomendo. Programação em Objective-C 2.0 é um grande livro de referência, mas se você já sabe C, não há muito que vai ensinar-lhe que você não pode pegar a partir do outro livro. No entanto, se alguma vez precisar de uma lista de todas as palavras-chave reservadas em Objective-C, que é o livro para onde ir.

Toda a interface do usuário pode ser gerada progmatically, mas você vai encontrá-lo muito mais fácil de usar Interface Builder, que vem com o Xcode, para expor a interface do usuário. Você vai acabar com muito menos código. Com ligações, você pode até mesmo eliminar o código que não está directamente relacionado com o layout da interface. Os detalhes estão na programação Cocoa para Mac OS X livro.

A única grande coisa que eu perca de Java é a API coleção. Em Cocoa, você acabou de chegar NSSet, NSArray e NSDictionary, e não há analógico para a interface Comparable. Essas classes também são imutáveis, mas têm versões mutáveis ??como NSMutableArray.

Na verdade, eu não tenho jogado com a coleta de lixo em Objective-C 2.0. Nas versões anteriores do Objective-C, gerenciamento de memória foi tratado pelos métodos reter, liberação e disparo automático. Objetos foram criados com uma contagem de manter 1. Retenção incrementado essa contagem, liberando diminuído lo, e autoreleasing objetos é um pouco mais complicado. Novamente, o livro de programação Cocoa explica-lo bem. A coleta de lixo é uma opção, e se ele está ligado, a reter, liberação e métodos de disparo automático não fazer nada. No entanto, se você estiver escrevendo uma biblioteca ou estrutura a ser utilizada por outras pessoas, você deve programá-lo como se a coleta de lixo está desligado. Que as aplicações maneira pode usá-lo ou não têm coleta de lixo ligado.

Quanto aos recursos da Web, http://cocoadevcentral.com/ é um ótimo site com tutoriais para iniciantes. O CocoaDev Wiki em http://www.cocoadev.com/ contém informações detalhadas sobre um monte de temas e normalmente você pode encontrar algumas informações úteis e as pessoas na lista de discussão de cacau-dev http: // listas .apple.com / mailman / listinfo / cacau-dev

desenvolvimento do iPhone é um pouco diferente, e os detalhes são limitados por um NDA. No entanto, se você for aprovado pela Apple para obter acesso ao centro colaborador do iPhone, a Apple forneceu algumas grandes visões gerais de vídeo das diferenças, que apontam você a documentação que você precisa para fazer o salto a partir do Mac OS X para o iPhone OS X programação.

Outras dicas

Obter Cacau programação para Mac OS X. A maioria de suas perguntas serão respondidas por esse livro. Você também pode começar a ler Torne-se um Xcoder e Cocoa Dev Central .

O iPhone SDK ainda está sob NDA assim você não será capaz de encontrar todos os recursos on-line sobre ele, exceto para o fornecido pela Apple.

Cocoa UI é baseada em MVC. Você usar Interface Builder para projetar seus pontos de vista e, em seguida, ligá-la para seus modelos e controladores. Objectivo C é uma mistura de C e Smalltalk.

Outra opção para você é jaiPhon, que permite escrever aplicativos java que são traduzidos para o iPhone-falar em tempo de compilação.

Eu não sei se é availanle ainda, ou se é comercial-ware ou qualquer outra coisa, mas é interessante nenhum menos.

http://www.jaiphon.com/

Também confira este:

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

É um projeto que as tentativas de ser capaz de programas de cross-compilação escritos em uma variedade de idiomas de origem a uma variedade de idiomas de destino. Um dos casos de teste inicial era escrever programas em Java e executá-los em um iPhone. Assistir ao vídeo no site vale a pena.

Com o que disse, eu não tentei. O projeto parece bastante beta, e não há muita atividade em seu site SourceForge.

Você já está familiarizado com os colchetes?

Aqui está uma breve href="https://stackoverflow.com/questions/142476/do-i-have-a-shot-at-learning-objective-c#142636"> do meu ponto de vista. Espero que este maio ajuda também.

Eu acho que você vai se sentir em vez nu quando saltando de IntelliJ para Xcode. Mas esta é apenas a partir de uma ferramenta de perspectiva. Traga roupa extra (TextMate + FScript)!

scroll top