課程敘述
iOS 系統是Apple 蘋果公司為iPhone等行動裝置開發的作業系統,目前版本為iOS 13,開發使用的程式語言為Swift與Objective-C,目前官方推薦語言為Swift 5,標準整合開發環境為免費的Xcode。
(iPad現在改為以iOS為基底的 iPadOS,但基本開發模式相同)
Swift 雖然以程式語言來說年紀較輕,但其語法已經相當穩定,自Swift 3以後基本語法調性沒有大的改變,有更新多半是因為作業系統有新功能或是增加語法,但向下相容相當不錯,所以學習上不會有每年都要重學的困擾。
對於完全的程式新手來說,可能會有不知道從【手機APP】或是【網站】開始學習比較好。其實很簡單,因為「有興趣」是保持學習動力的唯一方法。所以對那個有興趣就學那個才是最佳解。【網站】屬於開發與接觸使用者比較容易的方式,但是要比黏著度,還是【手機APP】會比較高。【手機APP】現在的趨勢就是【超級遙控器】與【遊戲機】,吃喝玩樂需求都可以在上面解決,更是你的聯絡通訊管道和【錢包、信用卡】。
延伸閱讀:我想寫手機程式,但我不知道該選iOS還是Android
本課程方向會偏向現在流行的與伺服器溝通的手機商業型APP,常見例子為購物、叫車APP、雲端串流音樂、影像APP、線上課程與會員訂閱APP等都需要伺服器後台來做管理。遊戲類型APP已不適合單人完成,因為單人能完成的門檻低且App store上已有大量此類型遊戲。大型遊戲通常需要遊戲引擎,在開發規劃上面完全不同。所以本課程不會著重於此方向。
另外,現在雖然有很多跨平台開發方案,但是任何號稱跨平台的方案最終皆需要有蘋果電腦的作業系統MacOS環境才能編譯,所以如果只是要避開MacOS做開發的話這些方案也是做不到的。而且跨平台方案在UI(使用者介面)多半沒有辦法避開為個別作業系統分別製作的程序,因為在底層iOS與Android的UI就是長得不一樣,UI動作行為也有差異,所以雖然個別專案情況不同,但是要完成專案可能比原生Swift / Android 還要複雜許多。
延伸閱讀:
有網站就不需要APP?放棄APP也放棄了超高價值的融入生活的再行銷方式(iOS, Android)
課程難度
入門,此課程不需任何程式經驗。
請參閱課程需求
課程需求
1. 擁有Apple 蘋果系列電腦
以Macbook pro, iMac, iMac Pro, Mac mini, Mac Pro 為佳
但是Macbook air 與 Macbook 亦可,課程不會進行大量資源運算
如新購電腦,可以講師上課電腦 Macbook Pro 13", i5 8GB RAM, 256 MB 做為參考
2. 使用過手機或平板
非必要,但會幫助學習
1. 擁有 iPhone 或是 iPad, 借得到也可以
課程95%以上在電腦中模擬器進行,但是如果輸入iPhone或iPad可以更有開發APP的感覺
2. 操作過iPhone、iPad
課程目標
課程使用 iOS 13 與 Swift 5 進行
從基礎語法與UI畫面元件開始教起,最後學會如何獨立開發iOS程式,實現製作自己的手機APP。
iOS APP 開發偏向容易上手,故自訂題目開發小型程式並不困難。對新手而言較困難的會是配合原本既有的軟體服務開發出手機版本,例如已經有網站、已經有實體線上商店...等。尤其是配合有軟體網站後台API之服務,對新手而言並不容易有此開發經驗。
本課程最終目標為實現進度條本身使用之iOS APP課程播放器簡易版。並搭配數個小型程式逐步完成功能,例如自製 WooCommerce 商店管理程式,音樂影片播放程式...等。與進度條其他後台網站課程完美銜接。
(參與此課程不需了解後台運作,純新手也可以學會,畢竟在工作中App與網站後台通常由不同工程師負責,但是如果對兩邊技術都了解會有加成的效果)
課程特點
1. Swift 基礎語法
2. Xcode UI元件操作
3. 多個小型專案
4. 後台資料串接
5. 實作與伺服器溝通的APP
第一章 (總長0.5小時)
-
play_arrow
01. iOS Swift課程介紹
07:02 -
play_arrow
02. Xcode 安裝與開發中版本介紹
04:05 -
play_arrow
03. 展示Xcode專案與Playground, 基本的iOS模擬器使用介紹
16:59
第二章 (總長5.0小時)
-
play_arrow
01. 基礎語法章節介紹與課程進行方式
02:34 -
play_arrow
02. 專案設定、程式開發與命名的注意事項
15:04 -
play_arrow
03. Print函數與字串組成
15:49 -
play_arrow
04. 整數加, 減, 乘法
10:45 -
lock
05. 註解與命名法
10:33 -
lock
06. 小數、整數(Int)與雙精度浮點數(Double, Float)
11:01 -
lock
07. 除法、餘數與邊界條件,初探條件判斷
16:11 -
lock
08. 布林值、條件判斷式與關係運算子(if - else)
18:12 -
lock
09. let、var與數學運算的簡寫
10:44 -
lock
10. else-if 與順序問題
08:15 -
lock
11. 邏輯運算子(&&, ||)
10:30 -
lock
12. 初探Optional
12:33 -
lock
13. Array 陣列(一), 基本介紹
09:49 -
lock
14. Array 陣列(二), 加入值的幾種方式與初探Method方法 (append, insert)
15:04 -
lock
15. Array 陣列(三), 移除值與尋找值的位置(remove, removeLast, firstIndex)
08:03 -
lock
16. 迴圈 (while, for, enumerated)
18:12 -
lock
17. 利用表格練習雙重陣列與雙重迴圈
18:22 -
lock
18. Dictionary 字典(一)
13:24 -
lock
19. Dictionary 字典(二), 巢狀Dictionay
23:34 -
lock
20. 函數function(一), 基本介紹
13:37 -
lock
21. 變數範圍(Scope)
19:35 -
lock
22. 函數function(二), 利用函數整理範例
18:43
第三章 (總長5.9小時)
-
play_arrow
01. 建立專案與預覽注意事項,顯示HelloWorld
19:20 -
play_arrow
02. 專案檔案講解,程式基本運作邏輯
18:40 -
play_arrow
03. 專案支援版本設定與API版本問題
08:07 -
play_arrow
04. 按鈕介紹,新手常犯的IBAction忘記斷開連結導致閃退
18:51 -
play_arrow
05. 初探自動佈局與約束條件,簡單計數器(Auto Layout, Constraint)
15:14 -
lock
06. 增加多個按鈕,探討是否有更好的排列限制方式
16:29 -
lock
07. 初探Storyboard XML Source Code
07:26 -
lock
08. UIView與較容易整理的Constraints使用方式
22:21 -
lock
09. 加入第二個UIView Controller, Storyboard進入點與segue畫面轉換的使用
10:58 -
lock
10. 介紹Stepper, 用Button來製作Stepper功能
21:30 -
lock
11. 加入圖片Aseet,介紹UIImageView與置換UIButton圖片
20:18 -
lock
12. 客製化圖片按鈕,初探UITapGestureRecognizer與動畫
27:48 -
lock
13. 頁面排版stack view介紹
14:30 -
lock
14. UITableView基本使用(一)
23:58 -
lock
15. UITableViewCell 介紹與簡易客製化
20:39 -
lock
16. UITableView 編輯模式與增加減少欄位, 初探UITextField
30:51 -
lock
17. 利用Protocol概念讓TableViewCell與TableView溝通
12:15 -
lock
18. 利用UIViewController控制UITableView
23:14 -
lock
19. 介紹UINavigationController與操作
14:59 -
lock
20. 介紹UITabBarController與操作
04:45
第四章 (總長0.5小時)
-
play_arrow
01. Class基本使用方式(一)
11:08 -
lock
02. Class基本使用方式(二), 加入properties與init()
20:21 -
lock
03. Class基本使用方式(三), 繼承與Override
19:51 New -
lock
04. Protocol的基本使用,delegate、繼承與extension.
10:01 New -
lock
05. Struct的基本介紹
06:52 New -
lock
06. Swiftch case 介紹,where關鍵字的使用
12:56 New -
lock
07. enum 列舉的基本介紹
14:27 New -
lock
08. Class基本使用方式(四), Property的setter與getter (包含 willSet, didSet).
16:26 New -
lock
09. 設計模式之工廠模式 (Design Pattern factory mode)
10:36 New - 章節尚未完全完結,我們會持續更新!!
第五章 (總長0.0小時)
- 尚未確定課程,請再等我們一下!!
第六章 (總長0.0小時)
- 尚未確定課程,請再等我們一下!!
第七章 (總長0.0小時)
- 尚未確定課程,請再等我們一下!!
課程講師

縱裕
iOS 工程師 / Ruby On Rails 網站工程師
現職為iOS 工程師,但同時也在鑽研網站技術並且建立多個網站。
曾協助多個新創公司,範圍包含網站前端到桌面應用程式倉存管理與電子機關互動。
從網站架設,手機APP到系統底層都有豐富的經驗。
擅長不同系統架構的整合與創新想法的實現。
經歷:
進度條 技術顧問
Digilog.tw 網站與倉庫後台程式架構設計與建置
Zooe 線上教學平台 網站架構設計與建置
HelloStudy 楓禾留遊學網 設計與建置
Funlock 放樂工作室真實密室逃脫遊戲 - 魔鏡迷城 電子機關設計與製作
iOS App - Rock Click 節拍器
Nexcom ARM韌體與軟體工程師
Insyde BIOS工程師