はじめに - shirai/SwiftLearning GitHub Wiki

概要

プログラミング経験の無い人間がSwiftエンジニアとしてIT業界で活躍できるようになるための登りつめ方(になる予定)

ゴール

  • 下記機能を一通り盛り込んだiOSアプリを自力で作成できるようになる
    • 画面数5画面程度
    • API通信:あり
    • DB利用:あり
    • Autolayout利用:あり
    • iPhone/iPad:両方対応
    • ライブラリ導入可能(CocoaPods)
  • デバッガの機能をある程度使えるようになる
    ある程度 = 不具合・バグが出た時に調査・修正できるくらい
    • 機能豊富なので色々デバッグ方法はあると思うが、
      「ブレークポイント貼って不具合の原因箇所を特定できるようになる」くらいが当面の目標

やらないこと

  • CI環境周りはやらない
  • テスト自動化とかもやらない
    (UITestはやらない。ロジック周りのテストコードは少し触れる)

これらは「動くiOSアプリを作る」ことが一通り作れるようになってから必要に応じて学ぶ。

これからやること

Swiftエンジニアとしての登り方イメージは以下の通り

※以下に記載の(期間)は習熟度に合わせてフレキシブルに変更する想定

  1. iOSアプリ開発の前提知識習得(期間:1週間くらい)
    学習を始める前に「iOSアプリ開発の前提知識」を学ぶ
    1. 【学習】ヒューマンインターフェースガイドラインの理解
    2. 【学習】Xcodeの理解・操作方法理解
      1. 【課題】理解度確認(HelloWorldアプリ作成)
  2. iOSアプリ開発の基礎知識習得(期間:1週間くらい)
    「標準UI(UIKit)で何が用意されているのか」と「Swift基礎文法」を学ぶ
    1. 標準UIの理解
      UIKitに何が用意されているのかを知る
      1. 【学習】標準UIパーツの理解
      2. 【課題】理解度確認(リマインダーアプリ解析)
    2. 【学習】Swift基礎文法理解
      Swiftの構文をplaygroundを利用して理解する
  3. サンプルアプリ作成(期間:2ヶ月くらい)
    簡単なサンプルアプリを作りながら、「Swift+UIKitの使い方」を学ぶ
    1. 【学習】課題アプリで利用する技術要素について調査
    2. 【課題】理解度確認(課題アプリ作成)
    3. 【復習】課題アプリで利用した技術要素について自身の理解内容をまとめる
  4. iOSアプリ開発のノウハウ・注意事項習得(期間:2週間くらい)
    座学+playgroundで「サンプルアプリでは学べない(サンプルが作りづらい)項目」について学ぶ
    1. 【学習】項目学習
    2. 【課題】理解度確認(対面で口頭質問)
  5. 修了課題アプリ作成(期間:1ヶ月くらい)
    今回のゴールに設定している要素を全部盛り込んだアプリを作る
    1. 【課題】設計・実装を一通り行い1アプリを作りきる

環境

  • Swift 3.1
    • Objective-cも「読める」くらいにはする
      (期待:Objective-cで書かれているソースが読めた方が、参考にできる情報が多くなる)
    • とはいえ、これから書くソースはswiftで書くので、Swift中心に学ぶ
  • Xcode8.3
  • macOS Sierra

メモ

  • 本学習手順はGithub wikiで作成します。
    (手順更新のたびにGitログ残るのも面倒なので)