Skip to content

Latest commit

 

History

History
177 lines (127 loc) · 10.5 KB

README.md

File metadata and controls

177 lines (127 loc) · 10.5 KB

📲 Apple Developer Roadmap

Ruta de aprendizaje desde cero para convertirte en Apple Developer en 2022 (iOS, iPadOS, macOS, watchOS, tvOS)

ℹ️ He creado este repositorio para actualizarlo continuamente con recursos de aprendizaje de dentro y fuera de la comunidad.

⚠️ IMPORTANTE: No dudes en sugerir cambios, hacer pull request o crear una nueva issue para compartir tus recursos y así añadirlos al repo con intención de crear una gran guía de estudio.

Introducción

▶️ Antes de empezar te servirá de ayuda ver una introducción detallada donde explico el roadmap y el funcionamiento del repositorio en mi tutorial de YouTube.

Proceso de aprendizaje

Debes entender que aprender programación es una carrera de fondo. Tendrás mejores y peores momentos, pero, ¿sabes qué? ¡Le pasa a todo el mundo!. Al final del trayecto te espera un sector lleno de grandes oportunidades. Te recomiendo que te unas a nuestro servidor de Discord, donde compartimos recursos y nos ayudamos.

Discord

Para mejorar nuestras habilidades publico retos de programación semanales y mensuales en estos dos repositorios. También desarrollamos nuestra aplicación real Twitimer, disponible en la App Store y con todo su código público.

Reto mensual Reto semanal Twitimer

Fuentes de información

Recuerda la importancia de desarrollar habilidades para resolver problemas y encontrar información relevante. Puede sonal mal, pero Google es una de nuestras principales herramientas de trabajo, y debemos saber usarlo. Otros lugares que debes conocer son:

Ruta de aprendizaje

El roadmap estará compuesto por algunos recursos oficiales, otros creados por mí, y por los sugeridos desde la propia comunidad como comento al principio de este documento. Por supuesto, esta mi ruta personal para aprender desarrollo de aplicaciones desde cero y dedicarte profesionalmente a ello (en ningún momento quiero que pienses que es la mejor o la única, simplemente es la que yo creo que te puede ayudar).

🎓 En mi curso de Swift/iOS de 30 horas en Udemy podrás encontrar una gran parte de los temas tratados en este roadmap.

📈 A continuación tendrás el roadmap formado por un listado de conocimientos a adquirir (así como distintos sitios web donde comenzar su aprendizaje). Este listado se irá actualizando y completando, incluso creando nuevos documentos para agrupar enlaces de interés.

1️⃣ Lenguaje de programación: Swift

Debes aprender sus fundamentos, tipos de datos primivos y estructuras, flujo lógico y paradigma de programación orientada a objetos.

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.

También debes comenzar a conocer otros conceptos importantes dentro de la ingeniería de software:

  • 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 marcador 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.

Gestores de dependencias para ayudarnos a trabajar con código de terceros:

8️⃣ Esenciales

Aprender a desarrollar aplicaciones para entornos Apple precisa de otras habilidades esenciales no directamente relacionadas.

  • Aprende 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 tu código íntegro y libre de errores.

1️⃣0️⃣ Publicación

Ya sólo falta cómo desplegar aplicaciones en la App Store.

⬇️ BOLA EXTRA: Descarga el tema y la fuente que uso en Xcode, tanto en modo claro como oscuro.

Este es el roadmap básico para convertirse en Apple Developer. No olvides hacer ⭐️ para seguir sus futuras actualizaciones. Ayúdame a mejorar con tu feedback ¡MUCHAS GRACIAS!

https://mouredev.com Hola, mi nombre es Brais Moure.

Freelance full-stack iOS & Android engineer

YouTube Channel Subscribers Twitch Status Twitter Follow GitHub Followers

Soy ingeniero de software desde hace más de 11 años. Desde hace 3 años combino mi trabajo desarrollando Apps con creación de contenido formativo sobre programación y tecnología en diferentes redes sociales como @mouredev.

En mi perfil de GitHub tienes más información

Web