¿Cuáles son los consejos para los desarrolladores de Android que aprenden el desarrollo de iOS?

Oh chico. Aquí vamos.

La plataforma Android, en general, es mucho más agradable de desarrollar. Es mas facil . No se porque. Los documentos son mucho mejores, el lenguaje es más fácil (Java vs Obj-C y Swift), el IDE es genial (mientras que Xcode es basura con esteroides), y con muy pocas excepciones, Android tiene una API mejor.

Construir UI en Android es orgásmicamente fácil. El hermoso editor XML y RelativeLayouts hacen que crear diseños sea fácil como el infierno. iOS usa Interface Builder, que es como meterte una barra de plomo caliente por el culo durante los primeros dos meses. Pero, eventualmente, te acostumbras.

Ahora, iOS tiene algunas API que son mejores que Android, pero las descubrirá por su cuenta.

Ahora, pediste consejos, no el evangelio sobre por qué iOS apesta, así que aquí hay algunos:

  • Es solo otro conjunto de API y herramientas para aprender. No te preocupes mucho por eso.
  • Apéguese a Swift, ya que está mucho más cerca de Java que Obj-C, y en realidad es bastante fácil de usar, honestamente (también teniendo en cuenta que puede combinar ambos idiomas en su proyecto). Pero, siéntete cómodo leyendo Obj-C. Muchas publicaciones antiguas de StackOverflow todavía están en Obj-C, y si encuentra una solución, debería poder traducirla a Swift. Eso será util. Solo menciono esto porque la sintaxis de Obj-C parece un vómito alienígena. Hasta el día de hoy, todavía no entiendo completamente la sintaxis de Obj-C.
  • iOS no tiene RadioButtons. Sí. Simplemente no están allí. Recomiendo el DLRadioButton de David Liu si necesita botones de radio en su aplicación.
  • Si ha aprendido a confiar en el hermoso LogCat de Android con sus múltiples flujos de salida como Verbose, Info, Error, Warning, etc.… bueno, diga adiós. Xcode tiene una consola , que literalmente es solo un terminal que muestra la salida del programa. Swift tiene una función de registrador: print (). Entonces, diviértete depurando con esas declaraciones impresas decepcionantes.
  • Al igual que cualquier otra cosa que no sea Java, los mensajes de error de Xcode / Swift no son tan buenos. Esté preparado para lidiar con las opciones nulas sin envolver a la fuerza (aprenderá cuáles son …) que son imposibles de rastrear.
  • Swift y Obj-C usan conteo automático de referencias, no recolección de basura. Si bien esto aún maneja la mayoría de la administración de memoria por usted, las pérdidas de memoria aún son posibles, a diferencia de Java.
  • Swift es un lenguaje nuevo y, como tal, su sintaxis cambia cada cierto tiempo. Xcode es lo suficientemente maduro como para convertir generalmente todo su código por usted, pero tenga cuidado con los cambios que rompen algo.

¡Espero que esto ayude! ¡Buena suerte en iOS!

More Interesting

Tengo la intención de aprender el desarrollo de iOS en las vacaciones de verano desde cero y también desarrollar una aplicación y ponerla en la App Store. ¿Qué recursos debo usar para aprender los conceptos y el desarrollo de aplicaciones de una manera rápida y efectiva, y cómo debo usarlos?

¿Qué tenemos que hacer y cuánto tiempo lleva desarrollar una aplicación?

Cuando se desarrolla el producto mínimo viable para una aplicación de iPhone, es ideal tener un desarrollador "front-end" que maneje los scripts del lado del cliente (xcode / obj-c) y otro desarrollador "back-end" que maneje los scripts del lado del servidor / ¿base de datos? ¿O es mejor tener un solo desarrollador manejando ambos?

¿Cuánto costaría convertir un sitio web de WordPress en una aplicación (Android e iOS)?

¿Qué opinas de iOS 11.1?

¿Cuál es la mejor manera de obtener renderizado de modelos 3D Lightwave en una aplicación iOS?

¿Cuáles son las mejores aplicaciones gratuitas para educación en una plataforma iOS?

¿Existe una API para Objective-C y JavaScript que pueda autocompletar direcciones en una aplicación (recogida y entrega) y luego conectarse con un CMS que filtre a las empresas que no prestan servicios en esas áreas?

¿Qué marcos de iOS pueden ayudarte a conseguir un buen trabajo?

Entre iOS, Android y Windows Mobile 10, ¿qué plataforma es la más segura?

Si tuviera que construir un dispositivo BLE que detectara la proximidad de un teléfono inteligente, ¿podría este dispositivo BLE configurarse para activar la aplicación descargada solo a una proximidad extremadamente cercana (por ejemplo, <2 pulgadas)?

¿Cuál es la diferencia entre PropertyName y _PropertyName en Objective-C?

¿Cuál es la mejor manera de crear una aplicación interactiva de libros para niños para iOS?

¿Qué haces como desarrollador de iOS?

¿Por qué las tecnologías de parches en caliente / implementación en caliente como JSPatch no son populares en las aplicaciones de iOS estadounidenses?