辛宝Otto

辛宝Otto 的玄酒清谈

北漂前端程序员儿 / 探索新事物 / Web Worker 主播之一/内向话痨
xiaoyuzhou
email

Trying to learn Swift ecosystem knowledge

Trying to learn Swift ecosystem knowledge

Origin#

Swift and TypeScript are languages that can be used to develop iOS applications, develop Mac applications, and develop server-side applications.

Due to work and personal interest, I find Swift and Kotlin very interesting and am motivated to learn related knowledge. My goal is to be able to read and write simple logic and complete some simple functions with the help of AI, without needing to become a full-time developer.

With this goal in mind, I began to try to learn about the Swift ecosystem.

Information Filtering#

I looked at the iOS roadmap on roadmap.sh and found it a bit difficult to understand, with many terms that made me dizzy in this new field. The official documentation in Chinese is not particularly comprehensive. The comfort zone of front-end development feels better.

I quickly searched for some keywords on video sites and learning websites, and looked for some Chinese documentation on Baidu and Google. I quickly skimmed through and filtered a wave of information, finally determining a few targets.

  • Initially, I won't look at English, only Chinese, and won't read everything one by one.
  • Combine video and text, switching states at any time; watching too many videos or texts can lead to fatigue.
  • Quick reference, not seeking deep understanding, just familiarity, and asking AI for technical details.

In the end, I found:

  • A systematic course on Swift core technologies and practical skills.
  • A translation of the Swift language itself.
  • No rush to look at the official UIKit and SwiftUI.

Preliminary Results#

I quickly learned and practiced:

  • How to run Swift: playground and Xcode projects, related [[How to quickly learn and test Swift and UIKit code?]]
  • Basic data structures, common logical judgment syntax, functions, classes, and OOP.
  • Third-party dependency management, introducing third-party packages to initiate network requests, JSON processing.

With this foundational knowledge, I feel more confident. I revisited the roadmap.

Roadmap#

This is frequently updated https://roadmap.sh/ios

  • Choose a language: Swift - I've looked at it.
    • Swift development history, basic knowledge.
  • Basic knowledge
    • iOS architecture, some terms - I haven't looked at it.
    • Core language concepts
      • OOP/POP - I've looked at it, protocol composition.
      • Functional programming - I understand a little.
      • Memory management I haven't looked at.
      • ViewController lifecycle.
      • Error handling.
      • Concurrency GCD async/await.
    • Version control Git.
  • App components
    • Xcode installation, creation, navigation, debugging, auto layout, etc.
    • UIKit - the core moving forward.
    • SwiftUI
      • Basics.
      • Simple UI layout related.
  • Interface and navigation
    • UI design.
    • UIKit.
    • SwiftUI.
    • Core animations.
  • Design structure
    • MVC/MVVM, etc.
    • Reactive programming Combine RxSwift.
  • Patterns and techniques
    • Design patterns.
    • Callbacks.
    • Async/await concurrency.
  • Storage
    • Data persistence.
    • JSON/XML.
    • Networking.
  • Asynchronous
    • Concurrency and multithreading.
  • Dependency management
    • CocoaPods, Carthage, SPM.
    • Frameworks and libraries.
    • Accessibility.
  • General services various kits
    • Linting - code quality tools.
  • Debugger
    • Debugging techniques.
  • Testing.
  • App distribution.
Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.