Hay tres aspectos en ser un desarrollador de iOS. Son complejos y toman tiempo para perfeccionarse, así que no se asuste si aún no los comprende por completo. Tiene un buen comienzo, ya tiene un poco de comprensión y una aplicación publicada en la tienda de aplicaciones en un corto período de tiempo. Muchos nunca llegan tan lejos y se rinden antes. Crece a partir de ahí, lenta pero constantemente, llenando los vacíos que tienes en tu conocimiento.
Existen los tres aspectos de ser un desarrollador de iOS (o cualquier tipo de desarrollador en cualquier plataforma) a un alto nivel. Tardan años en perfeccionarse, así que no te preocupes.
Antes de enumerarlos, quiero disipar la última preocupación que tienes: no habrá una próxima gran cosa que haga que todo esto quede obsoleto. Los fundamentos de la informática han sido los mismos durante décadas. No han cambiado cuando pasamos de mainframes a computadoras personales. No han cambiado cuando se creó Internet. No han cambiado cuando los dispositivos móviles salieron a la luz. Introducimos nuevas tecnologías a un ritmo rápido, pero las bases siguen siendo las mismas. Una vez que los conozca, podrá adoptar cualquier tecnología nueva mucho más rápido de lo que es ahora.
- ¿El iPhone y el iPad tienen un sistema de seguridad MAC como SELinux en su sistema iOS?
- ¿Por qué IOS me pide regularmente que inicie sesión con mi contraseña en iCloud cuando ya tengo mi contraseña almacenada en la configuración de iCloud?
- ¿Cuál es el mejor recurso para aprender ios sin antecedentes en programación?
- Apple me obliga a actualizar mi iPad, ¿por qué?
- ¿Qué es la investigación de palabras clave para iOS?
El primer aspecto de ser un desarrollador de iOS es la programación . Dices que entiendes a Swift y eso es bueno. Pero Swift es solo un lenguaje de programación. La programación es más que solo conocer las características de cualquier idioma. Hay diferentes niveles de conocimiento que debes poseer para ser un buen programador.
- Necesita conocer los conceptos básicos de la programación. Esto incluye, por supuesto, Swift y sus construcciones básicas, como control de flujo, colecciones, bucles, funciones, clases, etc., pero estas son solo herramientas. Lo importante que debe comprender es cómo razonar sobre los problemas y resolverlos utilizando las herramientas a su disposición.
- Necesita saber programación orientada a objetos. Hablando prácticamente, OOP es un paradigma de programación para ayudar a la organización de su código. Por lo tanto, debe comprender conceptos como encapsulación, composición, herencia, polimorfismo, etc. Y no olvide los patrones de diseño.
- Necesita conocer algoritmos y estructuras de datos. La programación ha existido durante mucho tiempo, por lo que hay construcciones que se han desarrollado a lo largo de los años para ayudar a resolver problemas que son cada vez más complejos. Aquí debe comprender conceptos como la recursión, algoritmos básicos como la ordenación y la búsqueda binaria, y estructuras de datos básicas como pilas, colas, tablas hash, listas vinculadas, árboles y gráficos, además, por supuesto, los algoritmos para manejarlos.
El segundo aspecto de ser un desarrollador de iOS es conocer el propio iOS. Aquí debe conocer los conceptos fundamentales de la plataforma, cómo funciona, sus patrones de diseño y cuáles son las partes más fundamentales que necesita saber. iOS es grande y complejo, pero no necesita saberlo todo. Si no necesita hacer procesamiento de imágenes, por ejemplo, no necesita conocer Core Image. Si no estás haciendo un juego, no necesitas saber SpriteKit o GameplayKit. Elija las partes de iOS para lo que necesita en este momento.
Pero definitivamente necesita conocer los fundamentos que son comunes a cualquier aplicación de iOS. Esos son los conceptos que lo ayudarán a ampliar su conocimiento de la plataforma más fácilmente. Escribí más sobre esto aquí: The Concepts at the Foundation de cualquier aplicación iOS y más en otros artículos en mi blog aquí
También hice esta guía gratuita, que incluye un poco más que el artículo que vinculé anteriormente: los 9 conceptos fundamentales que todo desarrollador de iOS debe conocer
El tercer aspecto es lo que rodea el desarrollo de iOS. Esto es menos importante que los dos que enumeré anteriormente. Este es un conocimiento más genérico de la informática. Si llama a una API web, por ejemplo, es útil saber cómo funciona Internet, qué es el DNS, qué es el protocolo HTTP, cómo está estructurada una API REST, etc. Quizás conozca más sobre bases de datos o cómo un sistema operativo trabajos.
Y un bono. Hay muchas cosas más interesantes, como inteligencia artificial, aprendizaje automático, procesamiento del lenguaje natural, redes neuronales, etc. Solo las necesita para las cosas más complejas. Los estudié en la universidad y nunca los usé durante mi carrera. Pero de hecho son temas interesantes.
Buena suerte y, de nuevo, no se asuste. Me llevó a mí y a muchos otros años aprender todo esto, pero puedes ir progresivamente, no tienes que saber todo de una vez. Elija el siguiente paso y continúe de manera constante. Llegarás ahí.