作者は自身の経験と優れた開発者の経験を参考に、初心者から専門家への学習経路を共有し、あなたが迷路を減らし、迅速に成長するのを助けたいと思っています。
iOS 開発者は 4 つのカテゴリに分けられます:
- 完全に基礎のない開発者;
- iOS 領域に初めて入った開発者;
- ある程度の iOS 実際の開発経験を持つ開発者;
- iOS 開発のベテラン。
以下では、異なるタイプの開発者に対して、異なる進化の道について話しましょう~
まずは完全に基礎のない学習資料を見てみましょう:
- 書籍を通じて学ぶ:『iOS プログラミング』最新版は、開発言語、Cocoa デザインパターンとコントロールの使用、Xcode のテクニックなど、基本的な側面を網羅しています。
- 実例を通じて学ぶ:APPCODAウェブサイトは、各チュートリアルが非常に簡単で理解しやすく、ステップバイステップでプログラムを作成することができます。
PS:小学生や中学生の場合は、知乎 | 12 歳で iOS プログラミングを始める方法?の高評価の回答を参考にすることができます。
基礎知識に執着しない#
基礎知識は非常に広範で、多くは理論的です。実践しない限り、それをマスターすることは簡単ではありません。しかし、基礎が重要ではないというわけではありません。必要な基礎はしっかりとマスターする必要があります。では、iOS 開発者にとって、最初にしっかりと学ぶべき基礎は何でしょうか?
iOS 領域に初めて入った開発者も 3 つのカテゴリに分けることができ、彼らには異なる学習経路があります:
- 学生:スタンフォード大学 | アプリ開発コースには、アプリ開発に必要な基本的な知識が含まれており、MVC アーキテクチャ、iOS 開発言語の基礎知識、マルチタッチ、アニメーション、ViewController のライフサイクル、スクロールビュー、マルチスレッド、Auto Layout、ドラッグアンドドロップ、テーブルビュー、コレクションビュー、テキストフィールド、永続化ストレージ、ポップアップ、通知、アプリ全体のライフサイクル、ストーリーボード、Core Motion、カメラなどの内容が含まれています。付録:同期された中国語字幕プロジェクト。
- 新卒者:Apple 公式開発マニュアルは、実際の仕事で必要な知識を網羅しており、このマニュアルを最初に参照してください。公式のコード例はすべて規範的で、カテゴリが明確で、内容が完全であり、App Frameworks、グラフィックス、App サービス、メディア、開発ツール、システムなどのセクションに分けられています。付録:Apple 公式 iOS 開発ガイド(Swift ベース)。
- 他の領域から iOS 開発に転向したベテラン:RayWenderlichウェブサイトには、各チュートリアルに詳細なガイダンスがあり、特定のトピックを学ぶために使用できます。
一定の基礎知識を習得した後、どのように自分の iOS 開発スキルを向上させるか?
- 唐巧 | iOS 開発の向上方法。
- limboy | iOS 開発の自学経験。
- Futurice | iOS ベストプラクティスガイドには、完全なアプリ開発ライフサイクル、IDE のプロジェクト構築の最適な方法、基本ライブラリの選択、アーキテクチャの選択、ストレージ方法、リソース管理、コードスタイル、セキュリティ、静的解析、クラッシュ解析、ビルド、デプロイに至るまで、さらには IAP(In-App Purchases、アプリ内課金)までを考慮しています。
- SwiftGG | Swift 日本語版マニュアル、Swift 公式ブログ。
実践で経験を積む#
仕事の実践に関連する領域の知識には、できるだけ多くの知識を求める必要があります。
経験を積むためには、数年の実務経験を持つ開発者に特に適しています:
- 常に関連する領域の知識の発展動向に注意を払い、包括的に習得する;
- 時間をかけて整理し、まとめること、いくつかの考えを持つこと、なぜそのようにするのか、より良い方法はないかを自問すること;
- 最後にはアウトプットし、他人の意見を聞き、コミュニケーションを図ること。
同じ目標に向かって、知識を深く掘り下げる#
どの分野でも、同じ目標に向かって、基礎知識は最も掘り下げる価値があり、継続的に学習する必要があります。
おすすめ:Michael Ash | The Complete Friday Q&Aは、メモリ、パフォーマンス、システムの内部原理についてさらに理解するための内容を提供しています。彼のブログも訪れてみてください。
最後に、iOS 開発のベテラン(堅実な iOS 基礎知識 + 実践経験 + 業績)の進化の道は、継続的に特定の分野を深く学習することです。技術のプロトタイプをゼロから実装することが学習方法であり、例えば:
- LLVM コンパイラ:簡単なコンパイラまたはインタプリタを実装することができる、最小の C コンパイラ OTCC(Obfuscated Tiny C Compiler)を参考にしてください。
- データベース:簡単なデータベースプロジェクトを開発することができる、シンプルなデータベースを作ろうチュートリアルを参考にしてください。
- オペレーティングシステム:オペレーティングシステムをゼロから作成する方法を学ぶことができる、os-tutorial チュートリアルは、ブート、割り込み処理、画面出力、キーボード入力、基本的な libc、メモリ管理、ファイルストレージシステム、シンプルなシェル、ユーザーモード、テキストエディタ、マルチプロセスとスケジューリングなど、ページング、セマフォ、メモリ管理などの知識をより深く理解するのに役立ちます。
その他にも、iOS のベテランは既に習得した技術スタックを使用して、他の領域に触れることで、技術的な視野を広げることができます。例えば、カナダのチーム | Perfectを使用すると、Swift を使用してサーバー開発を行うことができます。
師匠が門を開き、修行は個人にかかっています。自分の知識体系を整理し、漏れを補完して知識を体系化しましょう!