Skip to content

enyason/ios_learning_path_chatgpt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Learning iOS Development

Pathway for learning iOS development, generated by ChatGPT

Prompt:

Develop an effective learning pathway/curriculum for an Android developer who wants to become an iOS engineer. The curriculum should be structured into modules and sub-topics. The first module should contain oop and programming in swift. These contents should follow best practices as of 2021.

Make it a step-by-step guide and include references with links to free, rich and easy-to-understand resources (E.g official documentation, YouTube playlist, Raywenerlich etc).

The goal is to become a senior iOS engineer in 3 months.

If you need any clarification on the task, pls ask questions before you proceed.

Module 1: Object-Oriented Programming (OOP) and Swift Programming Language

Module 2: UIKit and SwiftUI Frameworks UIKit and SwiftUI are both frameworks that are used to develop iOS apps. UIKit is a mature framework that has been around for a while, while SwiftUI is a relatively new framework that is quickly gaining popularity. This module covers both frameworks, including how to use UIKit to build user interfaces and how to use SwiftUI for building modern and declarative user interfaces. Sub-Topics: * UIKit Framework * Introduction to UIKit: https://developer.apple.com/documentation/uikit * Creating a Simple User Interface: https://developer.apple.com/tutorials/app-dev-training/create-a-simple-ui * Handling User Input: https://developer.apple.com/tutorials/app-dev-training/handling-user-input * TableView and CollectionView: https://developer.apple.com/documentation/uikit/views_and_controls/table_views * Auto Layout: https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/index.html * SwiftUI Framework * Introduction to SwiftUI: https://developer.apple.com/xcode/swiftui/ * Views and Controls: https://developer.apple.com/documentation/swiftui/views_and_controls * Data and SwiftUI: https://developer.apple.com/tutorials/swiftui/data * Navigation and SwiftUI: https://developer.apple.com/tutorials/swiftui/navigation * Declarative Syntax and SwiftUI: https://developer.apple.com/design/human-interface-guidelines/swiftui/overview/declarative-syntax/ * Building a Hybrid UIKit and SwiftUI App * Integrating SwiftUI with UIKit: https://developer.apple.com/documentation/swiftui/integrating_swiftui_with_uikit * Building a Hybrid App: https://developer.apple.com/tutorials/swiftui/building-a-hybrid-app References:

Module 3: Networking and Data Persistence

Module 4: Core Services

Module 5: Architecture Patterns

Module 6: Testing Testing is an essential aspect of iOS app development that helps ensure the quality and reliability of the app. This module covers how to test iOS applications, including unit testing and UI testing. Sub-Topics: * Introduction to Testing * Why Test: https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/01-introduction.html * Unit Testing * XCTest: https://developer.apple.com/documentation/xctest * Writing Effective Tests: https://www.raywenderlich.com/7408-test-driven-development-tutorial-for-ios-getting-started * UI Testing * XCUITest: https://developer.apple.com/documentation/xctest/user_interface_tests * Writing UI Tests: https://www.raywenderlich.com/960290-ios-unit-testing-and-ui-testing-tutorial * Test-Driven Development (TDD) * TDD Basics: https://www.raywenderlich.com/834166-test-driven-development-tutorial-for-ios-getting-started * Continuous Integration and Delivery (CI/CD) * CI/CD: https://www.raywenderlich.com/3233883-continuous-integration-for-ios-with-github-actions References:

Module 7: Advanced Topics

Module 8: Build Variants and Deployment Building variants of an iOS app is important because it enables you to customize your app for different environments, such as development, staging, and production. This module covers how to create different build variants and how to deploy your app to the Apple Store. Sub-Topics: * Build Variants * Understanding Build Variants: https://developer.android.com/studio/build/build-variants * Creating Build Variants: https://www.raywenderlich.com/5113651-android-build-variants-tutorial * Preparing for App Store Deployment * App Store Guidelines: https://developer.apple.com/app-store/review/guidelines/ * Preparing Your App for Submission: https://developer.apple.com/app-store/submissions/ * App Store Connect * App Store Connect Overview: https://developer.apple.com/app-store-connect/ * Adding an App to App Store Connect: https://developer.apple.com/documentation/xcode/adding_an_app_to_app_store_connect * Uploading Your App to the Apple Store * Uploading Your App: https://developer.apple.com/app-store/connect/submit-your-app/ * App Distribution: https://developer.apple.com/app-store/connect/distribution/ * App Store Review * App Review Guidelines: https://developer.apple.com/app-store/review/guidelines/ * App Review Process: https://developer.apple.com/app-store/review/process/ References:

About

Pathway for learning iOS development

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published