GithubHelp home page GithubHelp logo

iostraining's Introduction

iOS Development Training Course in Swift3

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

概要

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

環境

  • Xcode8.1以降
  • Swift3

1日目

項目

  1. 導入

  2. 基礎知識
    課題 1.1 Swiftの基礎
    プロジェクト day1/1.1

  3. プロパティの属性、メモリ
    課題 1.2 メモリ管理
    プロジェクト day1/1.2

  4. ビューコントローラ
    課題 1.3.1 UIViewControllerのカスタマイズ(stroyboard)
    補足 1.3.2 UIViewControllerのカスタマイズ(xib)
    プロジェクト day1/1.3

  5. モーダル
    課題 1.4.1 UIViewControllerのModalViewController(storyboard)
    補足 1.4.2 UIViewControllerのModalViewController(xib)
    プロジェクト day1/1.4

  6. ライフサイクル
    課題 1.5 UIViewControllerのライフサイクル

宿題

2日目

項目

  1. UIKit 1 - container, rotate-

  2. ナビゲーション
    課題 1.1 UINavigationController
    プロジェクト day2/1.1

  3. タブ
    課題 1.2 UITabController
    プロジェクト day2/1.2

  4. 回転
    課題 1.3 Supporting Multiple Interface Orientations

  5. UIKit 2- UIView -

  6. ビュー1
    課題 2.1 UIView
    プロジェクト day2/2.1

  7. ビュー2
    課題 2.2 UIViewのカスタマイズ

  8. アニメーション
    課題 2.3 UIView Animation
    プロジェクト day2/2.3

  9. Auto Layout
    課題 2.4 AutoLayout

  10. UIKit 3 - table view -

  11. テーブル1
    課題 3.1 UITableViewについて
    プロジェクト day2/3.1

  12. テーブル2
    課題 3.2 UITableViewとNavigationController
    参考 1.1 UINavigationController
    プロジェクト day2/3.2

  13. セル
    課題 3.3 カスタムUITableViewCellの作成

  14. テーブルのカスタマイズ
    課題 3.4 UITableViewのその他のオプション、カスタマイズ
    参考 3.1 UITableViewについて
    プロジェクト day2/3.4

  15. セルの高さ
    課題 3.5 Dynamic height with a custom UITableViewcell

宿題

3日目

項目

  1. Closure, GCD

  2. Closure
    課題 1.1 Closure
    プロジェクト day3/1.1

  3. GCD
    課題 1.2 Grand Central Dispatch

  4. UIKit 4 - image and text -

  5. 画像1
    課題 2.1 UIImagePickerController
    プロジェクト day3/2.1

  6. 画像2
    課題 2.2 PhotoKit

  7. テキスト
    課題 2.3.1 KeyboardNotification
    参考 2.3.2 UITextFiled, UITextView
    プロジェクト day3/2.3

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

  9. 設定
    課題 3.1 UserDefaults, Settings Bundle
    プロジェクト day3/3.1

  10. ファイル
    課題 3.2 FileManager
    プロジェクト day3/3.2

  11. オブザーバ
    課題 3.3 Key Value Observing

  12. 通知
    課題 3.4 Notification、NotificationCenter を用いた通知
    参考 2.3.1 KeyboardNotification

  13. ネットワーク処理

  14. JSON
    課題 4.1 JSONのシリアライズとデシリアライズ

  15. 通信
    課題 4.2 HTTPリクエストの基礎
    参考 App Transport Security
    参考 AlamofireとSwiftyJSONでAPIを叩くチュートリアル
    プロジェクト day3/4.2

  16. ウェブビュー
    課題 4.3 WKWebView
    プロジェクト day3/homework

宿題

4日目

  1. 開発ツール

  2. デバッグ
    課題 1.1 開発ツール

  3. CocoaPods
    課題 1.2 CocoaPods

  4. Carthage
    課題 1.3 Carthage
    参考 Swiftで使えるライブラリ管理ツールCarthageの使い方
    参考 Swift Package Manager を試してみました

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

  6. クラス設計1
    課題 2.1 クラス設計 1

  7. クラス設計2
    課題 2.2 クラス設計 2

  8. クラス設計3
    課題 2.3 プロトコル指向プログラミング

  9. クラス設計4
    課題 2.4 クラス設計演習
    プロジェクト day4/homework

Objective-Cバージョンはこちら

iostraining's People

Contributors

asahi avatar atsushisakai-gh avatar cutmail avatar ginrou avatar marty-suzuki avatar matsuokah avatar punchdrunker avatar svartalfheim avatar tamotamago avatar tanabe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iostraining's Issues

第3回の準備/補足

  • ライフサイクル
    • 実際にサンプルアプリを動かして、説明した方がわかりやすそう

APPRECIATION!!!!!!

Thank you for the this iOS training repository, it was much need for newbies like me. I have been learning iOS Development for quite some time now and found this today it's the second best thing I found from a blog Softwareistic. Cheers though!

3.1UIView修正のお願い

現在、iOS開発の学習で本チュートリアルを使わせていただいている者ですが、以下の点に気付きましたので、修正頂けると幸いです。

3.1UIView
大見出しUIViewをコード上で利用する の下部
原文:viewを追加するにはaddSubViewを利用します。
修正:viewを追加するにはaddSubviewを利用します。

原文:[self.view addSubView:view]; // viewを追加. self.viewはUIViewControllerのプロパティ
修正:[self.view addSubview:view]; // viewを追加. self.viewはUIViewControllerのプロパティ

addSubviewの"v"が大文字になっている点に気が付きました。
よろしくお願いいたします。

app-trainingの実施計画

項目ごとの分類

UIViewController

  • UIViewControllerとは
  • UIViewController + Modal
  • deleagte
  • UINavigationController
  • UITabBarController

UIView

UITableView

  • UITableViewの使い方
    • UITableViewとは
    • UITableViewDelegate
    • UITableViewDataSource
    • 高さの設定
  • UITableViewCell
    • カスタマイズ
    • xibを使う or storyboardを使う

ネットワーク処理

  • NSURLConnection
  • JSONのシリアライズ

以下はまだあとで書く

授業計画

  • 1回目
    • Obj-Cの基礎
  • 2回目
    • UIViewControllerについて
    • UIViewController + Modal
  • 3回目
    • UINavigationController
  • 4回目
    • UITabBarController
    • UIViewとは

第2回の準備

補足

  • ViewControllerの仕組みとAndroidのActivityとの違い
    • Androidと同じ感覚で画面遷移できないので、設計時に注意が必要
    • Contextみたいなものはなくて、VCのインスタンスとかNSBundleとかから様々なリソースにアクセスする
  • delegateとJavaのインターフェースの話
  • 強参照/弱参照については各自読んでおいた方がよさそう

第4回目準備

講義内容

  • 第三回でできなかった UITabBarControllerについて
  • UIView1回目
    • クラス構成とかframeとかその辺り
  • UIViewAnimationはできれば

資料

資料アップデートTODO

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.