概要
社内キータに書いてましたが似たような悩みがある人も多いと思うので転載します。
ちょっとずつアプリを書くようになったのでまとめます。ツッコミ補足大歓迎です!
ざっくり思ったこと
世の参考書には適正レベルがあるので、レベルに達していないうちに読んでも全然役に立たない(cf. FFでレベルが足りなくて魔法の本が読めないのと同じ)
LV.0(世の「挫折しない!」系の本はここ)
この時期に悩んでること
- 何から始めたらいいのかよくわからない
- Xcode自体の使い方がわからない
- swiftがわからないのかiOSのapiが分からないのか分かってない
- 名前がいろいろわからない(セグエ、コントローラー、etc)
- 素材の入れ方がわからない
- 実態とXcode上では概念が異なることの理解(フォルダ構造なども指定しないと受け継がない、など)
これができたら卒業
- Xcodeを起動してシミュレータでアプリを動かせる
- StoryBoard上でセグエを使って画面遷移できる
- StoryBoard上に設置したラベルの文字をコードから変更できる
- コントローラーと画面を紐づけることを理解する
- そうしないと部品をコードに紐付けられないことも理解する
おすすめ教材
- ドットインストール iOS開発編
- http://dotinstall.com/lessons
- 基本的なapiの意味がわかる
-
詳解swiftを通して写経
- ゲームの部分はやらなくて良い。何かひとつ物を作ってくれる本がおすすめ
LV.1(1前半と後半がありそう)
この時期に悩んでること
- ページ遷移してデータも受け渡す方法がよくわからない
- URLの扱いがよくわからない
- サーバのapiを叩いて情報を表示させる方法がよくわからない
- swift1.2 -> 2.0への移行
- Webapiへのログイン実装(どうやってリクエストを送ってレスポンスをもらい、それを保存するの?)
これができたら卒業
- cocoapodsでライブラリをインストールできる
- トラブル対応(初期化)もできる
- prepareForSegueを理解できている
- 意外に参考書に載ってないが、これがないとセグエ間でデータを受け渡せない
- UITableViewに動的なデータを流しこめる
- Autolayoutを理解できる
- トラブル時に+optionでビルドフォルダのクリアを選択肢に持てる
- ベタなエラーの自動修正を使える
おすすめ教材
-
UIKit&Swiftプログラミング 優れたiPhoneアプリ開発のための UI実装ガイド
- UIkit内の「これそもそも何なの?」を理解する
- 物を作るよりapiや概念の話が多かったり、サンプリアプリ3xx本みたいなパターンの本はLv0で見てもさっぱりわからない
- Swift入門系コンテンツ
- Qiita上にある「100行でつくってみた」系リポジトリのコードリーディング
- スレッド処理あたりはここで知った
-
Swift Docs
- この辺の機能はこう、という実例がわかる。Lv0で来るとちとハードル高い
-
iOS Swift Tutorial : UICollectionView Pinterest Layout
- 基本的なCollectionViewの作り方がわかる
Lv2
- まだここになってないのでこれから
この時期に悩んでいること
- キャッシュ、初期化などの「まともに使える状態」にする方法
- cocoapodsライブラリの使い分け(どこまで自分で作るべき?)
- 多言語化のベストプラクティス
- Webapi側の設計・実装
- コードでやったほうが早いこと、できることの種類の引き出し不足
- あそこのあれはどうやって変えられるんだ(固定メニューヘッダとか)案件