{"id":19482802,"url":"https://github.com/mouredev/apple-developer-roadmap","last_synced_at":"2025-04-04T19:09:45.558Z","repository":{"id":40604550,"uuid":"447299881","full_name":"mouredev/Apple-Developer-Roadmap","owner":"mouredev","description":"Cómo convertirte en Apple Developer (iOS, iPadOS, macOS, watchOS, tvOS)","archived":false,"fork":false,"pushed_at":"2023-04-24T13:54:13.000Z","size":19,"stargazers_count":708,"open_issues_count":4,"forks_count":76,"subscribers_count":25,"default_branch":"main","last_synced_at":"2025-03-28T18:09:32.348Z","etag":null,"topics":["apple","ios","roadmap","swift","swiftui","tutorial","uikit","xcode"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mouredev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-12T16:56:44.000Z","updated_at":"2025-03-26T12:33:48.000Z","dependencies_parsed_at":"2024-11-10T20:12:24.496Z","dependency_job_id":"4856cac1-e2ad-46a8-a83e-06c34ed1d257","html_url":"https://github.com/mouredev/Apple-Developer-Roadmap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouredev%2FApple-Developer-Roadmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouredev%2FApple-Developer-Roadmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouredev%2FApple-Developer-Roadmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouredev%2FApple-Developer-Roadmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mouredev","download_url":"https://codeload.github.com/mouredev/Apple-Developer-Roadmap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247234921,"owners_count":20905854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apple","ios","roadmap","swift","swiftui","tutorial","uikit","xcode"],"created_at":"2024-11-10T20:12:16.911Z","updated_at":"2025-04-04T19:09:45.540Z","avatar_url":"https://github.com/mouredev.png","language":null,"readme":"# 📲 Apple Developer Roadmap\n## Ruta de aprendizaje desde cero para convertirte en Apple Developer en 2022 (iOS, iPadOS, macOS, watchOS, tvOS)\n\u003e ℹ️ He creado este repositorio para actualizarlo continuamente con recursos de aprendizaje de dentro y fuera de la comunidad.\n\u003e  \n\u003e ⚠️ **IMPORTANTE:** No dudes en sugerir [cambios](https://github.com/mouredev/Apple-Developer-Roadmap/discussions), hacer [pull request](https://github.com/mouredev/Apple-Developer-Roadmap/pulls) o crear una nueva [issue](https://github.com/mouredev/Apple-Developer-Roadmap/issues) para compartir tus recursos y así añadirlos al repo con intención de crear una gran guía de estudio.\n\n## Introducción\n\n\u003ca href=\"https://youtu.be/-w3R4DEwd2g\"\u003e\u003cimg src=\"http://i3.ytimg.com/vi/-w3R4DEwd2g/maxresdefault.jpg\" style=\"height: 50%; width:50%;\"/\u003e\u003c/a\u003e\n\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](https://youtu.be/-w3R4DEwd2g).**\n\n## Proceso de aprendizaje\nDebes 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.\n\n[![Discord](https://img.shields.io/badge/Discord-Únete_a_nuestra_comunindad-5865F2?style=for-the-badge\u0026logo=discord\u0026logoColor=white\u0026labelColor=101010)](https://mouredev.com/discord)\n\nPara mejorar nuestras habilidades publico retos de programación semanales y mensuales en estos dos repositorios. También desarrollamos nuestra aplicación real [Twitimer](https://twitimer.com/), disponible en la App Store y con todo su código público.\n\n[![Reto mensual](https://img.shields.io/github/stars/mouredev/Monthly-App-Challenge-2022?label=Reto%20mensual\u0026style=social)](https://github.com/mouredev/Monthly-App-Challenge-2022)\n[![Reto semanal](https://img.shields.io/github/stars/mouredev/Weekly-Challenge-2022-Swift?label=Reto%20semanal%20Swift/iOS\u0026style=social)](https://github.com/mouredev/Weekly-Challenge-2022-Swift)\n[![Twitimer](https://img.shields.io/github/stars/mouredev/Twitimer-iOS?label=Twitimer%20iOS\u0026style=social)](https://github.com/mouredev/Twitimer-iOS)\n\n🤖 Este roadmap también lo tienes disponible para desarrollo de aplicaciones en entornos Android.\n\n[![Android Developer Roadmap](https://img.shields.io/github/stars/mouredev/Android-Developer-Roadmap?label=Roadmap%20Android%20Developer\u0026style=social)](https://github.com/mouredev/Android-Developer-Roadmap)\n\n## Fuentes de información\nRecuerda la importancia de desarrollar habilidades para resolver problemas y encontrar información relevante. Puede sonal mal, pero [Google](https://www.google.com/) es una de nuestras principales herramientas de trabajo, y debemos saber usarlo. Otros lugares que debes conocer son:\n\n* [Apple Developer](https://developer.apple.com/): Sitio web oficial para desarrolladores Apple\n* [GitHub](https://github.com/): Repositorio de código público más grande del mundo\n* [Stack Overflow](https://stackoverflow.com/): Resolución de problemas\n* [Medium](https://medium.com/) y [Dev.to](https://dev.to/): Artículos de interés\n\n## Ruta de aprendizaje\nEl 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).*\n\n🎓 **En mi [curso de Swift/iOS de 30 horas en Udemy](https://www.udemy.com/course/swift_ios/?referralCode=04756B8423CBE177B930) podrás encontrar una gran parte de los temas tratados en este roadmap.**\n\n\u003e 📈 **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.**\n\n### 1️⃣ Lenguaje de programación: Swift\nDebes aprender sus fundamentos, tipos de datos primivos y estructuras, flujo lógico y paradigma de programación orientada a objetos.\n\n* [Swift en Apple Developer](https://developer.apple.com/swift/)\n* [Swift.org sitio web oficial](https://www.swift.org/)\n* [TUTORIAL Swift desde cero](https://youtu.be/P6ko_I5GHbs)\n* [TUTORIAL Swift (en Udemy)](https://www.udemy.com/course/swift_ios/?referralCode=04756B8423CBE177B930)\n\n### 2️⃣ Editores de código: Xcode, Swift Playgrounds, Online Swift Playground\nPuedes usar estos tres editores de código para aprender Swift, eso sí, para crear aplicaciones no podrás hacerlo con el editor online.\n\n* [Xcode](https://developer.apple.com/xcode/)\n* [Swift Playgrounds](https://www.apple.com/swift/playgrounds/)\n* [Swift Playground online](http://online.swiftplayground.run/)\n* [TUTORIAL Xcode](https://youtu.be/MyzZnIR5gC4)\n* [TUTORIAL Swift Playgrounds](https://youtu.be/8DCXEyL-GH4)\n\nTambién debes comenzar a conocer otros conceptos importantes dentro de la ingeniería de software:\n\n* Expresiones regulares.\n* Recursividad.\n* Notación asintótica.\n* Funciones de orden superior.\n* Porgramación orientada a objetos.\n* Programación orientada a estados.\n* Programación imperativa.\n* Programación declarativa.\n* Programación funcional.\n\n### 3️⃣ Librerías y Frameworks: UIKit y SwiftUI\nEs 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).\n\n* [SwiftUI](https://developer.apple.com/xcode/swiftui)\n* [UIKit](https://developer.apple.com/documentation/uikit)\n* [TUTORIAL UIKit (en Udemy)](https://www.udemy.com/course/swift_ios/?referralCode=04756B8423CBE177B930)\n* [TUTORIAL SwiftUI](https://youtu.be/hGIzLGgf3Bo)\n\n### 4️⃣ Guías de desarrollo y diseño\nLa documentación oficial de Apple es esencial para conocer sus normas, recomendaciones y procesos.\n\n* [Guía de desarrollo oficial](https://developer.apple.com/app-store/guidelines/)\n* [Guía de diseño oficial](https://developer.apple.com/design/human-interface-guidelines/)\n\nNo olvides la importancia de los siguiente conceptos:\n\n* Comentarios de código.\n* [Markdown](https://www.markdownguide.org/) como lenguaje marcador para generar documentación.\n\n### 5️⃣ Patrones de diseño\nMecanismos para resolver de forma elegante problemas comunes en programación\n\n[Estos son algunos de los principales](https://refactoring.guru/es/design-patterns):\n\n* Delegate.\n* Singleton.\n* Adapter.\n* Decorator.\n* Facade.\n* State.\n* Strategy.\n* Builder.\n* ...\n\n### 6️⃣ Arquitectura de software: MVC y MVVM\nLa 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.\n\n* MVC (Modelo-Vista-Controlador): Arquitectura básica.\n* MVVM (Modelo-Vista-VistaModelo): Arquitectura más avanzada.\n\nSigue trabajando estos nuevos conceptos:\n\n* Principios SOLID.\n* Programación en base a código limpio.\n\n### 7️⃣ Funcionalidades\nImplementaciones de características muy habituales en aplicaciones de todo tipo que debes conocer.\n\n* Almacenamiento de datos:\n\t* [UserDefaults](https://youtu.be/JLXx4L3wC_w)\n\t* [CoreData](https://developer.apple.com/documentation/coredata)\n\t* [Realm](https://github.com/realm/realm-swift)\n\t* [SQLite](https://github.com/stephencelis/SQLite.swift)\n\n* Conexión con servidor remoto:\n\t* [REST](https://restfulapi.net/)\n\t* [HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview)\n\t* [JSON](https://www.json.org/json-en.html)\n\t* [Concurrencia y asincronía](https://docs.swift.org/swift-book/LanguageGuide/Concurrency.html)\n\n* Otras funcionalidades:\n\t* Notificaciones PUSH\n\t* Registro y Login\n\t* [TUTORIAL servicios Firebase](https://youtu.be/1EAA8WgCQas)\n\nGestores de dependencias para ayudarnos a trabajar con código de terceros:\n\n* Swift Package Manager (SPM)\n\t* [Swift.org](https://www.swift.org/package-manager/)\n\t* [TUTORIAL Xcode](https://youtu.be/93YBmQNp_sQ)\n* Cocoa Pods\n\t* [CocoaPods.org](https://cocoapods.org/)\n\t* [TUTORIAL Xcode](https://youtu.be/qCn6hGqkWyk)\n\n### 8️⃣ Esenciales\nAprender a desarrollar aplicaciones para entornos Apple precisa de otras habilidades esenciales no directamente relacionadas.\n\n* Aprende Inglés: La mayor parte de la documentación y código se escribe en este idioma.\n\t* [Cambly](https://www.cambly.com/invite/YDVHFWXN?st=011422\u0026sc=4) te permite aprender online con profesores nativos de forma online.\n* [Git](https://git-scm.com/): Es básico saber trabajar con el gestor de versiones más utilizado.\n\t* Puedes ayudarte usando clientes gráficos como [GitKraken](https://www.gitkraken.com/invite/cZWhJq1v) (en vez de hacer todo por línea de comandos).\n\n### 9️⃣ Pruebas\nDebes adquirir habilidades de testing y debug para mantener tu código íntegro y libre de errores.\n\n* [TUTORIAL TestFlight](https://youtu.be/bl6LArb-IQU): La plataforma oficial de test de aplicaciones de Apple.\n\n### 1️⃣0️⃣ Publicación\nYa sólo falta cómo desplegar aplicaciones en la App Store.\n\n* [TUTORIAL App Store](https://youtu.be/tg6YcD52jNA)\n\n⬇️ **BOLA EXTRA:** [Descarga](https://github.com/mouredev/StarWarsXcodeTheme) el tema y la fuente que uso en Xcode, tanto en modo claro como oscuro.\n\n\u003e Este es el roadmap básico para convertirse en Apple Developer. No olvides hacer ⭐️ para seguir sus futuras actualizaciones.\n\u003e Ayúdame a mejorar con tu feedback ¡MUCHAS GRACIAS!\n\n#### Puedes apoyar mi trabajo haciendo \"☆ Star\" en el repo o nominarme a \"GitHub Star\". ¡Gracias!\n\n[![GitHub Star](https://img.shields.io/badge/GitHub-Nominar_a_star-yellow?style=for-the-badge\u0026logo=github\u0026logoColor=white\u0026labelColor=101010)](https://stars.github.com/nominate/)\n\n## ![https://mouredev.com](https://raw.githubusercontent.com/mouredev/mouredev/master/mouredev_emote.png) Hola, mi nombre es Brais Moure.\n### Freelance full-stack iOS \u0026 Android engineer\n\n[![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCxPD7bsocoAMq8Dj18kmGyQ?style=social)](https://youtube.com/mouredevapps?sub_confirmation=1)\n[![Twitch Status](https://img.shields.io/twitch/status/mouredev?style=social)](https://twitch.com/mouredev)\n[![Discord](https://img.shields.io/discord/729672926432985098?style=social\u0026label=Discord\u0026logo=discord)](https://mouredev.com/discord)\n[![Twitter Follow](https://img.shields.io/twitter/follow/mouredev?style=social)](https://twitter.com/mouredev)\n![GitHub Followers](https://img.shields.io/github/followers/mouredev?style=social)\n\nSoy ingeniero de software desde hace más de 12 años. Desde hace 4 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](https://moure.dev)**.\n\n### En mi perfil de GitHub tienes más información\n\n[![Web](https://img.shields.io/badge/GitHub-MoureDev-14a1f0?style=for-the-badge\u0026logo=github\u0026logoColor=white\u0026labelColor=101010)](https://github.com/mouredev)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmouredev%2Fapple-developer-roadmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmouredev%2Fapple-developer-roadmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmouredev%2Fapple-developer-roadmap/lists"}