¿Qué trampas debo evitar?
- ¿Qué paradigmas del lenguaje Java entienden los desarrolladores de Objective-C de manera consistente? Aprendí a programar en Java, pero he trabajado en nada más que Objective-C durante años.
- ¿En qué se diferencian los patrones de diseño entre Android e iOS?
- Si ha realizado la transición usted mismo, ¿qué partes de Android lo confundieron o le tomó más tiempo aprender de lo que debería?
- ¿Es Eclipse el mejor OS X IDE para Android?
Para el registro, mi aplicación está muy ligada a UIKit y Foundation, por lo que la palabra "portabilidad" puede ser incorrecta; De hecho, lo reescribiré por completo para Android. Sin reutilización de código. Además, estoy haciendo esto para aprender Android, así que prefiero fallar en el puerto y aprender Android que tomar un atajo.
Como un poco de antecedentes, esta pregunta fue provocada por los tipos de preguntas que veo en Stackoverflow. Con frecuencia puedes decir cuál era el trasfondo de alguien (C # o Java) por los errores tontos que cometen cuando intentan escribir Obj-C. Me gustaría evitar el tipo de errores que hacen que los desarrolladores de Java pongan los ojos en blanco y digan: "Desarrolladores tontos de Objective-C, ¿nunca aprenderán?"
Is Eclipse the best OS X IDE for Android?
Sí, ADT no funcionó bien en netbeans la última vez que lo intenté. Eclipse es el IDE recomendado.Respuestas:
Estoy transfiriendo una aplicación de iOS a Android, es la aplicación de otra persona con la que estoy trabajando para hacer el puerto, pero no obstante.
En primer lugar, diría que a las bases de usuarios se les han enseñado formas drásticamente diferentes de interactuar con sus dispositivos. Mucho de esto proviene del diseño real de las aplicaciones, así como de las formas en que funcionan los dispositivos.
Algunas cosas generales:
Uno grande en el que muchas personas no piensan inicialmente
Your UI can not be exactly the same on both devices
, seguro que puede ser similar, pero portar una interfaz de usuario de iPhone a un dispositivo Android no funcionará muy bien.Algunos motivos:
El back-end realmente no es un gran problema ya que la mayor parte es solo implementar la mayor parte de lo que estaba trabajando en Java y el SDK de Android. Mis mayores problemas provienen de lo que el Usuario espera y el comportamiento y las diferencias de la interfaz de usuario, a veces es mejor y otras es peor. Realmente solo depende de lo que esté haciendo tu aplicación.
EDITAR
Me acabo de dar cuenta de que no respondí las partes reales de tus preguntas, así que aquí va (mi mejor oportunidad al menos)
No diría que hay grandes paradigmas de lenguaje que los desarrolladores de Obj-C no entienden, diría que Java es probablemente más simple de obtener lo que quiero que haga desde una perspectiva OOP. (Debo decir que solo trabajo realmente con .NET y Java y solo conozco suficiente Obj-C para salir adelante).
Definitivamente usaría Eclipse, me cansé de usar IntellijIdea por un tiempo y me dio muchos problemas para intentar hacer ciertas cosas.
fuente
[Esta respuesta es una especie de divagación o diatriba. Iba a eliminarlo, pero pensé que podría ser interesante: hágamelo saber a través de comentarios si debería eliminarlo y lo haré].
No trabajo en Android, pero sí en Java e iOS (con Obj-C). Lo único que es realmente diferente sobre el desarrollo de Java es cuánto puede ayudar un IDE (las personas le dirán que no use un IDE, que es una visión totalmente diferente de lo mismo: pocas personas aconsejan esto con Java, sin embargo) . XCode generalmente no puede detectar CORRECTAMENTE los errores de sintaxis más simples (debido a la estructura del lenguaje, creo). En Java, por otro lado, el IDE puede hacer que te muevas mucho más rápido de lo que estarías sin él. También puede hacer cosas realmente geniales, como programar el cliente que llama y ENTONCES escribir el método. En Eclipse, por ejemplo, si escribo
y
firstObj
ysecondObj
sonString
los casos, el IDE me dará la opción de hacer un método con el sig "public void doit (String firstObj, Cadena secondObj)." Eso es realmente genial, y solo la punta del iceberg: el IDE es tu amigo. He oído que IntelliJ podría ser aún más genial (aunque en mis pruebas no lo ha sido).¿Hay alguna trampa en esta respuesta? Quizás lo sea: pensar que el IDE juega el mismo papel en Obj-C y Java. En Java, el IDE puede hacer cosas que serían increíblemente difíciles de hacer usted mismo. La refactorización automática, debido a la forma en que Java es, es 100 veces más potente que la de XCode. Esto significa que puede posponer algunas preguntas de diseño hasta más tarde.
fuente