Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mixi-inc/iostraining

Training course repository for iOS app development
https://github.com/mixi-inc/iostraining

Last synced: about 2 months ago
JSON representation

Training course repository for iOS app development

Awesome Lists containing this project

README

        

# iOS Development Training Course in Swift3

SwiftでのiOSアプリ開発の基礎知識と実務スキルを身に付けるトレーニングコース

### 概要

* 当コースはエンジニア向けに構成されています。
* 課題によって、実装前と実装後(それぞれbefore, after)のプロジェクトを用意しています。

### 環境

* Xcode8.1以降
* Swift3

## 1日目

#### 項目

1. 導入

1. 基礎知識
課題 [1.1 Swiftの基礎](./Swift/pages/day1/1-1_swift-basics.md)
プロジェクト [day1/1.1](./Swift/before/day1/1.1)

2. プロパティの属性、メモリ
課題 [1.2 メモリ管理](./Swift/pages/day1/1-2_memory-management.md)
プロジェクト [day1/1.2](./Swift/before/day1/1.2)

3. ビューコントローラ
課題 [1.3.1 UIViewControllerのカスタマイズ(stroyboard)](./Swift/pages/day1/1-3-1_UIViewController-customization-storyboard.md)
補足 [1.3.2 UIViewControllerのカスタマイズ(xib)](./Swift/pages/day1/1-3-2_UIViewController-customization-xib.md)
プロジェクト [day1/1.3](./Swift/before/day1/1.3)

4. モーダル
課題 [1.4.1 UIViewControllerのModalViewController(storyboard)](./Swift/pages/day1/1-4-1_ModalViewController-storyboard.md)
補足 [1.4.2 UIViewControllerのModalViewController(xib)](./Swift/pages/day1/1-4-2_ModalViewController-xib.md)
プロジェクト [day1/1.4](./Swift/before/day1/1.4)

5. ライフサイクル
課題 [1.5 UIViewControllerのライフサイクル](./Swift/pages/day1/1-5_UIViewController-lifecycle.md)

#### 宿題

- 課題 [HomeWork 1.2 UIViewControllerとModalViewController](https://github.com/mixi-inc/iOSTraining/wiki/HomeWork-1.2-UIViewController%E3%81%A8ModalViewController)
プロジェクト [day1/homework](./Swift/before/day1/homework)

## 2日目

#### 項目

1. UIKit 1 - container, rotate-

1. ナビゲーション
課題 [1.1 UINavigationController](./Swift/pages/day2/1-1_UINavigationController.md)
プロジェクト [day2/1.1](./Swift/before/day2/1.1)

2. タブ
課題 [1.2 UITabController](./Swift/pages/day2/1-2_UITabController.md)
プロジェクト [day2/1.2](./Swift/before/day2/1.2)

3. 回転
課題 [1.3 Supporting Multiple Interface Orientations](./Swift/pages/day2/1-3_Supporting-Multiple-Interface-Orientations.md)

2. UIKit 2- UIView -

1. ビュー1
課題 [2.1 UIView](./Swift/pages/day2/2-1_UIView.md)
プロジェクト [day2/2.1](./Swift/before/day2/2.1)

2. ビュー2
課題 [2.2 UIViewのカスタマイズ](./Swift/pages/day2/2-2_UIView-customization.md)

3. アニメーション
課題 [2.3 UIView Animation](./Swift/pages/day2/2-3_UIView-Animation.md)
プロジェクト [day2/2.3](./Swift/before/day2/2.3)

4. Auto Layout
課題 [2.4 AutoLayout](./Swift/pages/day2/2-4_AutoLayout.md)

3. UIKit 3 - table view -

1. テーブル1
課題 [3.1 UITableViewについて](./Swift/pages/day2/3-1_UITableView.md)
プロジェクト [day2/3.1](./Swift/before/day2/3.1)

2. テーブル2
課題 [3.2 UITableViewとNavigationController](./Swift//pages/day2/3-2_UITableView-and-UINavigationController.md)
参考 [1.1 UINavigationController](./Swift/pages/day2/1-1_UINavigationController.md)
プロジェクト [day2/3.2](./Swift/before/day2/3.2)

3. セル
課題 [3.3 カスタムUITableViewCellの作成](./Swift/pages/day2/3-3_UITableViewCell-customization.md)

4. テーブルのカスタマイズ
課題 [3.4 UITableViewのその他のオプション、カスタマイズ](./Swift/pages/day2/3-4_UITableView-other-options.md)
参考 [3.1 UITableViewについて](./Swift/pages/day2/3-1_UITableView.md)
プロジェクト [day2/3.4](./Swift/before/day2/3.4)

5. セルの高さ
課題 [3.5 Dynamic height with a custom UITableViewcell](./Swift/pages/day2/3-5_Dynamic-height-with-a-custom-UITableViewCell.md)

#### 宿題

* 課題 [HomeWork 3.1 UIScrollView](./Swift/pages/day2/HomeWork-UIScrollView.md)
プロジェクト [day2/homework](./Swift/before/day2/homework)

## 3日目

#### 項目

1. Closure, GCD

1. Closure
課題 [1.1 Closure](./Swift/pages/day3/1-1_Closure.md)
プロジェクト [day3/1.1](./Swift/before/day3/1.1)

2. GCD
課題 [1.2 Grand Central Dispatch](./Swift/pages/day3/1-2_Grand-Central-Dispatch.md)

2. UIKit 4 - image and text -

1. 画像1
課題 [2.1 UIImagePickerController](./Swift/pages/day3/2-1_UIImagePickerController.md)
プロジェクト [day3/2.1](./Swift/before/day3/2.1)

2. 画像2
課題 [2.2 PhotoKit](./Swift/pages/day3/2-2_PhotoKit.md)

3. テキスト
課題 [2.3.1 KeyboardNotification](./Swift/pages/day3/2-3-1_KeyboardNotification.md)
参考 [2.3.2 UITextFiled, UITextView](./Swift/pages/day3/2-3-2_UITextFiled-UITextView.md)
プロジェクト [day3/2.3](./Swift/before/day3/2.3)

3. ローカルキャッシュと通知

1. 設定
課題 [3.1 UserDefaults, Settings Bundle](./Swift/pages/day3/3-1_UserDefaults-Settings-Bundle.md)
プロジェクト [day3/3.1](./Swift/before/day3/3.1)

2. ファイル
課題 [3.2 FileManager](./Swift/pages/day3/3-2_FileManager.md)
プロジェクト [day3/3.2](./Swift/before/day3/3.2)

3. オブザーバ
課題 [3.3 Key Value Observing](./Swift/pages/day3/3-3_Key-Value-Observing.md)

4. 通知
課題 [3.4 Notification、NotificationCenter を用いた通知](./Swift/pages/day3/3-4_Notification-NotificationCenter.md)
参考 [2.3.1 KeyboardNotification](./Swift/pages/day3/2-3-1_KeyboardNotification.md)

4. ネットワーク処理

1. JSON
課題 [4.1 JSONのシリアライズとデシリアライズ](./Swift/pages/day3/4-1_JSON.md)

2. 通信
課題 [4.2 HTTPリクエストの基礎](./Swift/pages/day3/4-2_HTTP-request-basic.md)
参考 [App Transport Security](http://developer.hatenastaff.com/entry/2016/06/16/165924)
参考 [AlamofireとSwiftyJSONでAPIを叩くチュートリアル](http://qiita.com/yutat93/items/1b6dfe34fa8537cf3329)
プロジェクト [day3/4.2](./Swift/before/day3/4.2)

3. ウェブビュー
課題 [4.3 WKWebView](./Swift/pages/day3/4-3_WKWebView.md)
プロジェクト [day3/homework](./Swift/before/day3/homework)

#### 宿題

* 課題 [4.3 WKWebView](./Swift/pages/day3/4-3_WKWebView.md)
プロジェクト [day3/homework](./Swift/before/day3/homework)

## 4日目

1. 開発ツール

1. デバッグ
課題 [1.1 開発ツール](./Swift/pages/day4/1-1_development-tools.md)

2. CocoaPods
課題 [1.2 CocoaPods](./Swift/pages/day4/1-2_CocoaPods.md)

3. Carthage
課題 [1.3 Carthage](./Swift/pages/day4/1-3_Carthage.md)
参考 [Swiftで使えるライブラリ管理ツールCarthageの使い方](http://kotalab.com/carthage-install)
参考 [Swift Package Manager を試してみました](http://dev.classmethod.jp/etc/swift-package-manager-1/)

2. 設計とデザインパターン

1. クラス設計1
課題 [2.1 クラス設計 1](./Swift/pages/day4/2-1_class-design-1.md)

2. クラス設計2
課題 [2.2 クラス設計 2](./Swift/pages/day4/2-2_class-design-2.md)

3. クラス設計3
課題 [2.3 プロトコル指向プログラミング](./Swift/pages/day4/2-3_protocol-oriented-programming.md)

4. クラス設計4
課題 [2.4 クラス設計演習](./Swift/pages/day4/2-4_class-design-3.md)
プロジェクト [day4/homework](./Swift/before/day4/homework)

Objective-Cバージョンは[こちら](./objc/README.md)