¿Cuáles son algunos temas desconocidos de la programación de iOS para un programador promedio?

Ok, voy a tratar de responder esto contándote cosas que aprendí en el transcurso de trabajar en iOS, cosas que realmente me habrían ayudado al principio, pero me he perdido de …

  1. Cocoapods : cocoapods es un administrador de dependencias para iOS, lo ayuda a descargar, instalar y administrar bibliotecas para iOS como Facebook SDK, bibliotecas de animación, etc. Lo transmití al principio pensando que simplemente agregaría bibliotecas manualmente a mi proyecto y que no necesitaba un administrador para ello. Pero una vez que comencé a usar cocoapods, no hubo vuelta atrás, ¡hace la vida mucho más simple!
  2. Varíe los rasgos : esta es una característica que se encuentra en los guiones gráficos que lo ayuda a variar su interfaz de usuario según el dispositivo, la orientación o la vista dividida en el caso de los iPads. Realmente ayuda contra la alternativa de codificar todos los cambios en su interfaz de usuario en puntos de interrupción específicos.
  3. Recursos de imagen : esto le ayuda a crear un recurso de imagen único con múltiples archivos de diferentes resoluciones, lo que significa que cualquier ícono que use será realmente nítido en dispositivos de alta resolución de pantalla y no enfrentará ningún problema en dispositivos de baja resolución.

¿Ahora hablando de programación? Hay un par de cosas que encontré nuevas en comparación con la programación normal:

  1. Tipos opcionales
  2. ¡Marcos para todo! (SceneKit, CloudKit, ARKit, HealthKit, SpriteKit, Metal, Cocoa, etc.)
  3. Storyboards (Construyendo la IU gráficamente y conectando pantallas sin ningún código)

El resto de la programación de iOS es bastante sencilla y es fácil de entender como programador promedio. ¡Feliz codificación! 🙂

Si hablamos de temas que están disponibles solo en el desarrollo de iOS, aquí hay una lista de temas que son desconocidos para un desarrollador ordinario o no iOS

  1. Delegados (casi todas las aplicaciones de iOS requieren métodos de delegado que se declaran en las clases y protocolos del sistema; otras tecnologías NO tienen delegados)
  2. Separación de clase (en Objective-C, una clase está separada en dos secciones y son @interface y @implementation, están escritas en archivos .h y .m separados, otros lenguajes como Java no permiten las secciones de una clase)
  3. El tipo de datos de identificación de Objective-C (ningún lenguaje de programación tiene un tipo de datos de identificación y Swift proporciona los tipos de datos Any y AnyObject para almacenar y crear objetos complejos de cualquier tipo de datos)

y mucho más….