Esta es una buena pregunta. Creo que cuando comienzas a aprender a desarrollar para iOS, debes enfocarte en las cosas que te llevarán a tu objetivo de la manera más rápida y óptima. Hay mucho que aprender en iOS, pero algunas cosas son más importantes que otras. Puede que nunca necesite algunos de estos últimos en su carrera, por lo que no vale la pena aprenderlos al principio.
Los tecnicismos
Necesitas una Mac para el desarrollo de iOS. Es posible ejecutar Mac OS X en una máquina con Windows de alguna manera, pero eso no será fácil, por lo que le recomiendo que obtenga una computadora Mac. No necesita ser nuevo, puede encontrar una buena máquina de segunda mano. Solo asegúrese de que pueda ejecutar la última versión de Mac OS X, ya que generalmente es un requisito para la última versión de Xcode.
Xcode es el entorno de desarrollo integrado que se usa para crear aplicaciones de iOS. La razón por la que desea utilizar la última versión es porque el desarrollo de iOS evoluciona con el tiempo y algunas características modernas solo son compatibles con la última versión de Xcode. Puede obtener Xcode de forma gratuita en la Mac App Store, por lo que la computadora es el único gasto que debe realizar si aún no posee una Mac. Sin embargo, no necesita un dispositivo para aprender (iPhone o iPad), ya que podrá ejecutar sus aplicaciones en el simulador Xcode. Solo se necesita un dispositivo real para el desarrollo y las pruebas de aplicaciones más serias, cuando desea enviar su aplicación a la App Store, pero no es necesaria para el aprendizaje.
- ¿Qué cursos de informática debo tomar para prepararme para el desarrollo de iOS?
- Hay miles de sistemas de efectivo terminales. ¿Cómo puedo desarrollar eficientemente una aplicación como WeChat Pay / Alipay, que requiere que el terminal envíe llamadas API a mi servidor y luego procese los datos?
- Dado el tamaño de una empresa como Apple, ¿cuánto tiempo lleva impulsar una solución para un error como el problema de iOS con ‘I’?
- ¿De qué manera IOS y Android son mejores entre sí?
- ¿Cuáles son las mejores empresas para trabajar como desarrolladores de iOS en Bangalore?
Programación y Swift
Lo primero que debes aprender es programar. Puede aprender a programar en cualquier lenguaje de su elección, ya que los fundamentos de la programación son siempre los mismos. Dicho esto, mi consejo es aprender a programar directamente en Swift. Esto por varias razones. En primer lugar, no querrás pasar tiempo en otro idioma cuando necesites saber Swift de todos modos. Swift es el futuro de la programación de iOS y Apple está poniendo todo su esfuerzo en promocionarlo. Todos están hablando de Swift ahora, por lo que la mayoría de los recursos se producirán para ello. Necesitará Objective-C solo cuando trabaje en proyectos antiguos que se hayan escrito en él. Una vez más, no es asunto tuyo ya que estás aprendiendo desde cero.
Mi segundo consejo es aprender primero la programación en Swift y luego aprender iOS. Esto se debe a que ambos son temas complejos. Hay cursos que los enseñan a ambos al mismo tiempo, pero no soy un gran admirador de ellos. Primero necesita obtener una buena base en la programación, o puede confundirse al tratar de juntar todas las piezas.
Escribí más sobre el tema aquí: Hoja de ruta de aprendizaje rápido
Los fundamentos de iOS
Lo siguiente es el desarrollo de iOS. Aquí también debes enfocarte primero en las bases. El desarrollo de iOS es enorme e incluye muchas tecnologías sofisticadas. Todos son geniales, pero la mayoría de ellos no los necesitas al principio. Por el contrario, si no aprende los fundamentos primero, será muy difícil aprender todo lo demás. Esta es una lista de dónde debe comenzar.
- Xcode y Interface Buider. Estas son las herramientas necesarias que utilizará para crear aplicaciones de iOS.
- El patrón Modelo-Vista-Controlador y los controladores de vista. El patrón MVC es el centro del desarrollo de iOS. Lo necesitará en cada aplicación que haga. Del mismo modo, el controlador de vista es una parte necesaria del desarrollo de aplicaciones iOS.
- La jerarquía de vistas y el diseño automático. Todo lo que está en pantalla y con lo que el usuario ve o interactúa es parte de la jerarquía de vistas, por lo que debe saber cómo funciona. Hoy en día, las interfaces de usuario se presentan a través del diseño automático, por lo que también debe aprender eso.
- Contenedores y storyboards. Los contenedores son los que hacen que el flujo de la interfaz de una pantalla a la siguiente suceda, y los guiones gráficos son la forma en que crea y organiza este flujo.
He escrito sobre esto con más detalle aquí: The Concepts at the Foundation of any iOS App
También escribí una guía más extensa sobre el tema aquí: Los 9 conceptos fundamentales que todo desarrollador de iOS debe saber
Espero que esto ayude.