起源#
Swift と TypeScript は、iOS アプリ、Mac アプリ、サーバーサイドの開発に使用できる言語です。
仕事の関係と個人的な興味から、Swift と Kotlin が非常に面白いと感じ、関連知識を学ぶ意欲が湧いてきました。私の目標は、簡単なロジックを読み書きし、AI の助けを借りていくつかの簡単な機能を完成させることであり、専任の開発者になる必要はありません。
このような目標を持って、私は Swift エコシステムの知識を学び始めました。
情報のフィルタリング#
roadmap.sh の iOS のロードマップを見ましたが、少し理解できない部分があり、専門用語が多く、新しい分野では目が回るようです。公式文書の日本語はあまり充実していません。やはり快適なフロントエンドが良いです。
動画サイトや学習サイトでいくつかのキーワードを素早く検索し、百度や Google で日本語の文書を探しました。素早く確認し、比較してフィルタリングした結果、いくつかの目標を確定しました。
- 初期段階では英語を見ず、日本語を見て、逐一読むことはしない
- 動画とテキストを組み合わせて、いつでも切り替え、動画やテキストが多くなると疲れる
- 素早く参照し、深く理解することは求めず、目に馴染むことを重視し、技術的な詳細は AI に尋ねる
最終的に見つけたものは
- システムコース「Swift コア技術と実践」
- Swift 言語自体の翻訳
- 公式英語文書 https://www.swift.org/getting-started/
- Swift プログラミング言語の著者は「おそらく最も丁寧な翻訳だろう」と主張しています
- GPT-4o-mini
- 公式 UIKit、SwiftUI は急いで見ない
初期結果#
素早く学び、実践したこと:
- Swift の実行方法:Playground と Xcode プロジェクト、関連 [[Swift と UIKit コードを素早く学び、テストする方法は?]]
- 基本的なデータ構造、一般的な論理判断の文法、関数、クラスと OOP
- サードパーティの依存関係管理、サードパーティパッケージを導入してネットワークリクエストを発起、JSON 処理
これらの基礎知識を得て、自信がつきました。再度ロードマップを見直しました。
ロードマップ#
ここは常に新しい https://roadmap.sh/ios
- 言語を選択:Swift - 見たことがある
- Swift の発展の歴史、基礎知識
- 基本知識
- iOS アーキテクチャ、いくつかの専門用語 - 見たことがない
- コア言語の概念
- OOP/POP - 見たことがある、プロトコルの合成
- 関数型プログラミング - 少し理解している
- メモリ管理は見たことがない
- ViewController のライフサイクル
- エラーハンドリング
- 並行処理 GCD async/await
- バージョン管理 Git
- アプリコンポーネント
- Xcode のインストール、作成、ナビゲーション、デバッグ、自動レイアウトなど
- UIKit - 次のコア
- SwiftUI
- 基礎
- 簡単な UI レイアウト関連
- インターフェースとナビゲーション
- UI デザイン
- UIKit
- SwiftUI
- コアアニメーション
- 設計構造
- MVC/MVVM など
- リアクティブプログラミング Combine RxSwift
- パターンと技術 patterns and techniques
- デザインパターン
- コールバック
- async/await 並行処理
- ストレージ
- データの永続化
- JSON/XML
- ネットワーク
- 非同期
- 並行処理とマルチスレッド
- 依存関係管理
- CocoaPods Carthage SPM
- フレームワークとライブラリ
- アクセシビリティ
- T 一般サービスのさまざまなキット
- Linting - コード品質ツール
- デバッガ
- デバッグ技術
- テスト
- アプリ配布