En este repositorio de Github de MoureDev vas a encontrar una importante lista de recursos para emprender el camino hacía lograr convertirte en un desarrollador iOS.
Con estas habilidades vas a poder crear aplicaciones para el sistema operativo dfe iOS que es usado en los dispositivos de Apple como iPhone, iPadOS, macOS, watchOS o tvOS.
El repositorio, ha sido creado por MoureDev y si deseas aportar algún contenido, puedes considerar enviar una Pull Request.
Introducción al desarrollo iOS
Antes de comenzar, te recomiendo que veas el siguiente video en el que se explica el roadmap y el contenido del repositorio que te encontraás a continuación.
Ruta de aprendizaje para un desarrollador iOS
El roadmap se compone de algunos recursos oficiales, otros creados por MoureDev y otros sugeridos por el resto de la comunidad.
En el curso de Swift/iOS de 30 horas de Udemy vas a poder encontrar una gran parte de los temas que se tratan a lo largo de este artículo.
1️. Aprende el lenguaje de programación Swift
El primer paso es, aprender los fundamentos, tipos de datos primivos y estructuras, flujo lógico y paradigma de programación orientada a objetos.
- Swift en Apple Developer
- Swift.org sitio web oficial
- Tutorial Swift desde cero
- Tutorial Swift (en Udemy)
2️. Editores de código: Xcode, Swift Playgrounds, Online Swift Playground
Puedes usar estos tres editores de código para aprender Swift, eso sí, para crear aplicaciones no podrás hacerlo con el editor online.
Además, debes comenzar a conocer otros conceptos importantes dentro de la ingeniería de software como son:
- Expresiones regulares.
- Recursividad.
- Notación asintótica.
- Funciones de orden superior.
- Porgramación orientada a objetos.
- Programación orientada a estados.
- Programación imperativa.
- Programación declarativa.
- Programación funcional.
3️. Librerías y Frameworks: UIKit y SwiftUI
Es hora de comenzar a trabajar con las librerías de código que nos proporciona Apple para crear Apps.
Nos centraremos en las especializadas en creación de interfaces de usuario (UI): UIKit y SwiftUI (el nuevo framework presentado en 2019 diseñado para poco a poco sustituir a UIKit).
4️. Guías de desarrollo y diseño
La documentación oficial de Apple es esencial para conocer sus normas, recomendaciones y procesos.
No olvides la importancia de los siguiente conceptos:
- Comentarios de código.
- Markdown como lenguaje de marcado para generar documentación.
5️. Patrones de diseño
Mecanismos para resolver de forma elegante problemas comunes en programación. Estos son algunos de los principales:
- Delegate.
- Singleton.
- Adapter.
- Decorator.
- Facade.
- State.
- Strategy.
- Builder.
6️. Arquitectura de software: MVC y MVVM
La arquitectura de software de nuestro programa hace referencia a cómo se estructura nuestro programa en capas y cuál es la responsabilidad de cada una de las piezas que conforman nuestra App.
- MVC (Modelo-Vista-Controlador): Arquitectura básica.
- MVVM (Modelo-Vista-VistaModelo): Arquitectura más avanzada.
Sigue trabajando estos nuevos conceptos:
- Principios SOLID.
- Programación en base a código limpio.
7️. Funcionalidades
Implementaciones de características muy habituales en aplicaciones de todo tipo que debes conocer.
- Almacenamiento de datos:
- Conexión con servidor remoto:
- Otras funcionalidades:
- Notificaciones PUSH
- Registro y Login
- Tutorial servicios Firebase
Gestores de dependencias para ayudarnos a trabajar con código de terceros:
- Swift Package Manager (SPM)
- Cocoa Pods
8️. Esenciales
Aprender a desarrollar aplicaciones para entornos Apple precisa de otras habilidades esenciales no directamente relacionadas.
- Aprender Inglés: La mayor parte de la documentación y código se escribe en este idioma.
- Cambly te permite aprender online con profesores nativos de forma online.
- Git: Es básico saber trabajar con el gestor de versiones más utilizado.
- Puedes ayudarte usando clientes gráficos como GitKraken (en vez de hacer todo por línea de comandos).
9️. Pruebas
Debes adquirir habilidades de testing y debug para mantener el código íntegro y libre de errores.
- Tutorial TestFlight: La plataforma oficial de test de aplicaciones de Apple.
1️0. Publicación
Solamente te falta saber cómo desplegar las aplicaciones en la App Store.
11. Otros Enlaces a Recursos
Enlaces que te van ayudar a la hora de completar esta ruta de aprendizaje: Apple Developer, GitHub u Stack Overflow.
¿Quién es Brais Moure?
Brais Moure es un reconocido Youtuber que actualmente trabaja como freelance full-stack para iOS y Android. Además de mantener sus canales de Youtube y Twitch activos.
Si quieres contactar o seguir a Brais, puedes encontrarlo en sus redes sociales: Twitter, Twitch (a diario), en su Youtube o en su comunidad de discord y como no: Su perfil de Github.