課程簡介
課程知識(shí)覆蓋全面,涵蓋了應(yīng)用開發(fā)技術(shù)的方方面面。
最新的iOSSDK,最新Xcode開發(fā)工具,能夠緊跟蘋果的步伐。
目標(biāo)收益
培訓(xùn)對象
本課程適用于想從事iPhone、iPod 和iPad開發(fā)的程序員、系統(tǒng)設(shè)計(jì)人員,也適合于想從事Mac OS X下應(yīng)用開發(fā)的程序員和相關(guān)人員。
課程大綱
(第一天) Part1 移動(dòng)APP架構(gòu)設(shè)計(jì) |
1. 從一個(gè)糟糕的設(shè)計(jì)開始 1.1. 表示邏輯與業(yè)務(wù)邏輯分離 1.2. 業(yè)務(wù)邏輯與數(shù)據(jù)持久層分離 1.3. 給視圖控制器“減負(fù)” 1.4. 面向協(xié)議和面向擴(kuò)展的編程 2. 移動(dòng)平臺(tái)的分層架構(gòu)設(shè)計(jì) 2.1. 低耦合企業(yè)級(jí)系統(tǒng)架構(gòu)設(shè)計(jì) 2.2. 移動(dòng)平臺(tái)的分層架構(gòu)設(shè)計(jì) 2.3. 基于同一工程的分層實(shí)現(xiàn) 2.4. 基于一個(gè)工作空間不同工程的分層 |
Part-2 數(shù)據(jù)、信息和網(wǎng)絡(luò)通訊 |
3. 數(shù)據(jù)持久化 3.1. 數(shù)據(jù)持久化概述 3.2. SQLite數(shù)據(jù)庫 4. 數(shù)據(jù)交換格格式 4.1. 數(shù)據(jù)交換 4.2. JSON數(shù)據(jù)交換格式 5. 網(wǎng)絡(luò)的編程 5.1. REST Web Service 5.2. 使用AFNetworking網(wǎng)絡(luò)請求框架 5.3. 手工配置AFNetworking環(huán)境 5.4. CocoaPods配置AFNetworking環(huán)境 5.5. GET請求 5.6. POST請求 |
(第二天) Part3:單元測試 |
6. 測試驅(qū)動(dòng)下的iOS應(yīng)用開發(fā) 6.1. iOS單元測試框架 6.2. 使用XCTest測試框架 6.3. 異步單元測試 6.4. 性能測試 7. iOS應(yīng)用UI測試 7.1. UI測試 7.2. 添加UI測試框架 7.3. 錄制腳本 7.4. 訪問UI元素 |
Part4:性能優(yōu)化 |
8. 使用Xcode調(diào)試iOS應(yīng)用 程序 8.1. 定位編譯錯(cuò)誤 8.2. 查看和顯示日志 8.3. 設(shè)置和查看斷點(diǎn) 8.4. 異常堆棧報(bào)告分析 8.5. 跟蹤異常堆棧 8.6. 分析堆棧報(bào)告 9. iOS應(yīng)用程序性能優(yōu)化 9.1. 內(nèi)存優(yōu)化 9.2. 使用Analyze工具檢查內(nèi)存泄漏 9.3. 使用Instruments工具檢查內(nèi)存泄漏 9.4. 使用Instruments工具檢查僵尸對象 9.5. 優(yōu)化資源文件 9.6. 延遲加載 9.7. 數(shù)據(jù)持久化的優(yōu)化 9.8. 可重用對象的使用 10. 多線程與并發(fā)編程 10.1. 并發(fā)相關(guān)概念 10.2. CPU與并發(fā)執(zhí)行 10.3. 進(jìn)程與線程 10.4. GCD技術(shù) 10.5. GCD與調(diào)度隊(duì)列 10.6. GCD應(yīng)用 10.7. 使用GCD解決主線程阻塞 10.8. 選擇NSThread還是GCD 10.9. GCD與單例模式 |
Part5:學(xué)員實(shí)踐: |
11. 學(xué)員實(shí)踐: 11.1. 根據(jù)自己業(yè)務(wù)需求設(shè)計(jì)一個(gè)基于分層架構(gòu)設(shè)計(jì)的移動(dòng)APP 11.2. 驗(yàn)收與點(diǎn)評(píng) |
(第一天) Part1 移動(dòng)APP架構(gòu)設(shè)計(jì) 1. 從一個(gè)糟糕的設(shè)計(jì)開始 1.1. 表示邏輯與業(yè)務(wù)邏輯分離 1.2. 業(yè)務(wù)邏輯與數(shù)據(jù)持久層分離 1.3. 給視圖控制器“減負(fù)” 1.4. 面向協(xié)議和面向擴(kuò)展的編程 2. 移動(dòng)平臺(tái)的分層架構(gòu)設(shè)計(jì) 2.1. 低耦合企業(yè)級(jí)系統(tǒng)架構(gòu)設(shè)計(jì) 2.2. 移動(dòng)平臺(tái)的分層架構(gòu)設(shè)計(jì) 2.3. 基于同一工程的分層實(shí)現(xiàn) 2.4. 基于一個(gè)工作空間不同工程的分層 |
Part-2 數(shù)據(jù)、信息和網(wǎng)絡(luò)通訊 3. 數(shù)據(jù)持久化 3.1. 數(shù)據(jù)持久化概述 3.2. SQLite數(shù)據(jù)庫 4. 數(shù)據(jù)交換格格式 4.1. 數(shù)據(jù)交換 4.2. JSON數(shù)據(jù)交換格式 5. 網(wǎng)絡(luò)的編程 5.1. REST Web Service 5.2. 使用AFNetworking網(wǎng)絡(luò)請求框架 5.3. 手工配置AFNetworking環(huán)境 5.4. CocoaPods配置AFNetworking環(huán)境 5.5. GET請求 5.6. POST請求 |
(第二天) Part3:單元測試 6. 測試驅(qū)動(dòng)下的iOS應(yīng)用開發(fā) 6.1. iOS單元測試框架 6.2. 使用XCTest測試框架 6.3. 異步單元測試 6.4. 性能測試 7. iOS應(yīng)用UI測試 7.1. UI測試 7.2. 添加UI測試框架 7.3. 錄制腳本 7.4. 訪問UI元素 |
Part4:性能優(yōu)化 8. 使用Xcode調(diào)試iOS應(yīng)用 程序 8.1. 定位編譯錯(cuò)誤 8.2. 查看和顯示日志 8.3. 設(shè)置和查看斷點(diǎn) 8.4. 異常堆棧報(bào)告分析 8.5. 跟蹤異常堆棧 8.6. 分析堆棧報(bào)告 9. iOS應(yīng)用程序性能優(yōu)化 9.1. 內(nèi)存優(yōu)化 9.2. 使用Analyze工具檢查內(nèi)存泄漏 9.3. 使用Instruments工具檢查內(nèi)存泄漏 9.4. 使用Instruments工具檢查僵尸對象 9.5. 優(yōu)化資源文件 9.6. 延遲加載 9.7. 數(shù)據(jù)持久化的優(yōu)化 9.8. 可重用對象的使用 10. 多線程與并發(fā)編程 10.1. 并發(fā)相關(guān)概念 10.2. CPU與并發(fā)執(zhí)行 10.3. 進(jìn)程與線程 10.4. GCD技術(shù) 10.5. GCD與調(diào)度隊(duì)列 10.6. GCD應(yīng)用 10.7. 使用GCD解決主線程阻塞 10.8. 選擇NSThread還是GCD 10.9. GCD與單例模式 |
Part5:學(xué)員實(shí)踐: 11. 學(xué)員實(shí)踐: 11.1. 根據(jù)自己業(yè)務(wù)需求設(shè)計(jì)一個(gè)基于分層架構(gòu)設(shè)計(jì)的移動(dòng)APP 11.2. 驗(yàn)收與點(diǎn)評(píng) |