Que armadilhas devo evitar?
- Quais paradigmas da linguagem Java os desenvolvedores do Objective-C sempre entendem mal? Aprendi a programar em Java, mas tenho trabalhado em nada além do Objective-C há anos.
- Qual a diferença entre os padrões de design entre Android e iOS?
- Se você fez a transição, quais partes do Android o confundiram ou levaram mais tempo para aprender do que deveriam?
- O Eclipse é o melhor OS X IDE para Android?
Para constar, meu aplicativo está fortemente vinculado ao UIKit e Foundation, portanto, a palavra "portabilidade" pode ser um nome impróprio; Na verdade, vou reescrevê-lo completamente para o Android. Sem reutilização de código. Além disso, estou fazendo isso para aprender Android, então prefiro falhar na porta e aprender Android do que usar um atalho.
Como pano de fundo, essa pergunta foi solicitada pelos tipos de perguntas que vejo no Stackoverflow. Freqüentemente, você pode dizer qual era o plano de fundo de alguém (C # ou Java) pelos erros tolos que eles cometem quando tentam escrever Obj-C. Eu gostaria de evitar os tipos de erros que fazem os desenvolvedores de Java revirarem os olhos e dizer: "Desenvolvedores parvos de Objective-C, eles nunca aprenderão?"
Is Eclipse the best OS X IDE for Android?
Sim, o ADT não funcionou bem no netbeans da última vez que tentei. Eclipse é o IDE recomendado.Respostas:
Estou portando um aplicativo do iOS para o Android, é o aplicativo de outra pessoa com quem estou trabalhando para fazer a porta, mas não obstante.
Primeiramente, eu diria que as bases de usuários foram ensinadas maneiras drasticamente diferentes de interagir com seus dispositivos. Muito disso vem do design real dos aplicativos, bem como da maneira como os dispositivos funcionam.
Algumas coisas gerais:
Um grande problema que muitas pessoas não pensam inicialmente
Your UI can not be exactly the same on both devices
, com certeza pode ser semelhante, mas portar uma interface do iPhone para um dispositivo Android não funcionará muito bem.Algumas razões:
O back-end realmente não é grande coisa, pois a maioria está apenas implementando a maior parte do que você estava trabalhando no Java e no Android SDK. Meus maiores problemas vieram do que o usuário espera e do comportamento e diferenças da interface do usuário, às vezes é melhor e às vezes é pior. Realmente depende apenas do que seu aplicativo está fazendo.
EDITAR
Acabei de perceber que não respondi as partes reais de suas perguntas, então aqui vai (minha melhor chance, pelo menos)
Eu não diria que existem grandes paradigmas de linguagem que os Obj-C devs entendem mal; eu diria que Java é provavelmente mais simples de obter o que eu quero que ele faça da perspectiva de OOP. (Devo dizer que realmente só trabalho com .NET e Java e só conheço Obj-C suficiente para sobreviver).
Definitivamente eu usaria o Eclipse, eu cansei de usar o IntellijIdea por um tempo e isso me causou muitos problemas ao tentar fazê-lo fazer certas coisas.
fonte
[esta resposta é uma espécie de divagação ou discurso retórico. Eu ia excluí-lo, mas pensei que poderia ser interessante: informe-me por meio de comentários se eu devo excluí-lo e irei].
Não trabalho no Android, mas trabalho em Java e iOS (com Obj-C). A única coisa realmente diferente sobre o desenvolvimento Java é o quanto um IDE pode ajudar (as pessoas dirão para você não usar um IDE, que é uma abordagem totalmente diferente da mesma coisa: poucas pessoas aconselham isso com Java, no entanto) . O XCode geralmente é incapaz de detectar CORRETAMENTE os erros de sintaxe mais simples (devido à estrutura da linguagem, eu acho). Em Java, por outro lado, o IDE pode fazer você se mover muito mais rápido do que seria sem ele. Você também pode fazer coisas realmente legais, como programar a chamada e ENTÃO escrever o método. No Eclipse, por exemplo, se eu digitar
e
firstObj
esecondObj
sãoString
exemplos, o IDE vai me dar a opção de fazer um método com o sig "public void doit (String firstObj, String secondObj)." Isso é muito legal, e apenas a ponta do iceberg: o IDE é seu amigo. Ouvi dizer que o IntelliJ pode ser ainda mais interessante (embora em meus testes não tenha sido).Existe uma armadilha nesta resposta? Talvez seja: pensar que o IDE desempenha o mesmo papel em Obj-C e Java. Em Java, o IDE pode fazer coisas incrivelmente difíceis de fazer você mesmo. A refatoração automática, devido à maneira como o Java é, é 100x mais poderoso que o do XCode. Isso significa que você pode adiar algumas perguntas de design para mais tarde.
fonte