Quels pièges devrais-je éviter?
- Quels paradigmes de langage Java les développeurs Objective-C comprennent-ils systématiquement? J'ai appris à programmer en Java, mais je ne travaille plus qu'en Objective-C depuis des années.
- En quoi les modèles de conception sont-ils différents entre Android et iOS?
- Si vous avez fait la transition vous-même, quelles parties d'Android vous ont troublé ou vous ont pris plus de temps pour apprendre qu'il n'aurait dû?
- Eclipse est-il le meilleur IDE OS X pour Android?
Pour mémoire, mon application est très fortement liée à UIKit et Foundation, donc le mot "portage" peut être un terme impropre; Je vais en fait la réécrire complètement pour Android. Pas de réutilisation de code. De plus, je fais cela pour apprendre Android, donc je préfère échouer au port et apprendre Android plutôt que de prendre un raccourci.
En guise de contexte, cette question a été provoquée par les types de questions que je vois sur Stackoverflow. Souvent, vous pouvez dire quel était le profil de quelqu'un (C # ou Java) par quelles erreurs stupides ils font quand ils essaient d'écrire Obj-C. Je voudrais éviter le genre d'erreurs qui poussent les développeurs Java à lever les yeux au ciel et à dire: "Les développeurs Silly Objective-C, n'apprendront-ils jamais?"
Is Eclipse the best OS X IDE for Android?
Oui, ADT n'a pas bien fonctionné sur les netbeans la dernière fois que j'ai essayé. Eclipse est l'IDE recommandé.Réponses:
Je porte une application d'iOS vers Android, c'est l'application de quelqu'un d'autre avec laquelle je travaille pour faire le port, mais néanmoins.
Tout d'abord, je dirais que les bases d'utilisateurs ont appris des façons radicalement différentes d'interagir avec leurs appareils. Cela provient en grande partie de la conception réelle des applications ainsi que du fonctionnement des appareils.
Quelques choses générales:
Un gros problème auquel beaucoup de gens ne pensent pas au départ
Your UI can not be exactly the same on both devices
, bien sûr, il peut être similaire, mais le portage d'une interface utilisateur iPhone vers un appareil Android ne fonctionnera pas très bien.Certaines raisons:
Le back-end n'est vraiment pas un gros problème car la plupart d'entre eux implémentent simplement la majeure partie de ce que vous travailliez avec Java et le SDK Android. Mes plus gros problèmes proviennent de ce que l'utilisateur attend et du comportement et des différences de l'interface utilisateur, parfois c'est mieux et parfois c'est pire. Cela dépend vraiment de ce que fait votre application.
ÉDITER
Je viens de réaliser que je n'ai pas répondu aux parties réelles de vos questions, alors voici (mon meilleur coup au moins)
Je ne dirais pas qu'il existe de grands paradigmes de langage que les développeurs Obj-C comprennent mal, je dirais que Java est probablement plus simple pour obtenir ce que je veux qu'il fasse du point de vue de la POO. (Je dois dire que je ne travaille vraiment qu'avec .NET et Java et que je ne connais que suffisamment Obj-C pour m'en sortir).
J'utiliserais certainement Eclipse, j'ai fatigué d'utiliser IntellijIdea pendant un certain temps et cela m'a donné beaucoup de problèmes pour essayer de le faire faire certaines choses.
la source
[cette réponse est une sorte de balade ou de diatribe. J'allais le supprimer mais j'ai pensé que cela pourrait être intéressant: faites-moi savoir via les commentaires si je dois le supprimer et je le ferai].
Je ne travaille pas sur Android mais je travaille sur Java et iOS (avec Obj-C). La seule chose qui est vraiment différente au sujet du développement Java, c'est à quel point un IDE peut aider (les gens vous diront de ne pas utiliser un IDE, ce qui est une approche totalement différente de la même chose: peu de gens le conseillent avec Java, cependant) . XCode est généralement incapable de détecter même CORRECTEMENT les erreurs de syntaxe les plus simples (en raison de la structure du langage, je pense). En Java, en revanche, l'EDI peut vous faire bouger beaucoup plus vite que vous ne le seriez sans lui. Vous pouvez également faire des trucs vraiment sympas comme programmer le client appelant et ALORS écrire la méthode. Dans Eclipse, par exemple, si je tape
et
firstObj
etsecondObj
sont desString
instances, l'EDI me donnera la possibilité de faire une méthode avec le sig "public void doIt (String firstObj, String secondObj)". C'est vraiment cool, et ce n'est que la pointe de l'iceberg: l'IDE est votre ami. J'ai entendu dire qu'IntelliJ était peut-être encore plus cool (bien que ce ne soit pas le cas dans mes essais).Y a-t-il un piège dans cette réponse? Peut-être que c'est: penser que l'EDI joue le même rôle dans Obj-C et Java. En Java, l'EDI peut faire des choses qui seraient incroyablement difficiles à faire vous-même. Le refactoring automatique, en raison de la façon dont Java est, il est 100 fois plus puissant que celui de XCode. Cela signifie que vous pouvez reporter certaines questions de conception à plus tard.
la source