課程簡介
介紹
第 1 周:概述 Mobile Development
- 移動生態系統和平臺
- 移動操作系統概述(iOS 和 Android)
- iOS、Android 和跨平台開發之間的主要區別
- 熱門應用商店(Apple App Store、Google Play Store)
- 原生、混合和跨平台開發簡介
- 原生 vs 混合 vs 跨平臺
- 每種開發方法的優點和挑戰
- Swift(針對 iOS)、Kotlin(針對 Android)和 React 原生(跨平臺)概述
- 代碼如何轉換為移動平臺(React Native 中的 JavaScript to native code)
- Programming 基本原理
- 程式設計概念簡介(變數、數據類型、函數、控制流)
- Swift、Kotlin 和 Java 腳本語法的比較
- 使用 Swift、Kotlin 和 JavaScript 編寫簡單的程式
- 設置開發環境
- 安裝 Xcode 和 Android Studio
- 設置 React 本機 CLI 和 Expo
- 在模擬器和模擬器上運行基本的 「Hello World」 應用程式
第 2 周:Swift、Kotlin 和 JavaScript 簡介
- Swift Programming 代表 iOS
- Swift 中的變數、常量和數據類型
- 控制流語句 (
if
,switch
, loops) - Swift 中的函數和參數
- Xcode 的介面和 Swift Playground 簡介
- Kotlin Programming 代表 Android
- Kotlin 中的變數、數據類型和函數
- 理解 Kotlin 的 null 安全性
- 控制流和循環結構
- Android Studio 介面和 Kotlin Playground 簡介
- Java適用於 React 本機的腳本
- JavaScript 中的變數、常量和控制流
- ES6 功能:箭頭函數、範本文字和解構
- 使用 Expo 在 React Native 中編寫和運行基本的 JavaScript 程式
第3周:iOS 使用者介面設計
- UI Elements 在 iOS 中
- UIKit 和 SwiftUI 簡介
- 添加和自定義UI元素,如按鈕、標籤和文字欄位
- 使用 Interface Builder 設計 UI
- 使用 Storyboard 和設計多螢幕 UI
- 自動佈局和約束
- 瞭解 Auto Layout 系統
- 對不同螢幕尺寸的響應式佈局使用約束
- 創建堆疊檢視和動態調整UI元素
- SwiftUI 基礎知識
- SwiftUI 中的聲明式 UI 設計簡介
- 使用 SwiftUI 構建簡單的UI元件
第 4 周:Android 使用者介面設計
- XML Android 中的佈局
- 基於 XML 的佈局設計簡介
- 使用常見佈局:LinearLayout、RelativeLayout、ConstraintLayout
- 添加和自定義UI元素:按鈕、文字檢視、圖像檢視
- 將 ConstraintLayout 用於回應式和動態佈局
- Material Design
- 集成 Material Design 原則(顏色、圖示、排版)
- 使用 Material 元件(按鈕、浮動操作按鈕、卡片)
- 為 Android 應用程式實現主題和樣式
第 5 周:React 原生使用者介面設計
- React 原生 Flexbox 佈局
- 了解用於響應式布局設計的 Flexbox
- 創建基於列和行的佈局
- 使用 Flexbox 屬性(justifyContent、alignItems 等)設置 UI 元件的樣式
- React 原生元件
- 使用核心元件(如
Text
、View
TextInput
、 和 )Button
- 創建互動式UI元素,例如表單和按鈕
ScrollView
將元件用於動態內容
- 使用核心元件(如
第 6 周:iOS 和 Android 中的數據處理
- iOS 數據處理
- 使用 UserDefaults 實現簡單的數據持久性
- Core Data 複雜數據本地存儲介紹
- 使用 URLSession 從 API 獲取數據
- 解析 JSON 資料並在 UI 中顯示
- Android 數據處理
- 使用 SharedPreferences 存儲少量數據
- 用於管理資料庫的 SQLite 和 Room 持久化庫簡介
- 使用 Retrofit 從 API 獲取數據
- 解析 JSON 並處理 API 回應
第 7 周:React Native State Management 和 API
- React Native 中的 State 和 Props
- 在 React 本機組件中管理數據流
- 使用
useState
hook管理本地元件狀態 - 通過 props 在父元件和子元件之間傳遞數據
- 在 React 本機中獲取數據
- 使用 Fetch API 和 Axios 發出 HTTP 請求
- 在清單中顯示取得的資料(使用
FlatList
,SectionList
) - 使用 React Native 中的 AsyncStorage 在本地持久保存數據
第 8 周:在 iOS 和 Android 中導航
- iOS 導航
- 導航控制器和管理多個螢幕簡介
- 使用 segue 在檢視控制器之間轉換
- 在檢視控制器之間傳遞數據
- 實現 TabBar 和 NavigationBar 以進行結構化導航
- Android 導航
- 使用多屏應用程式的 Activities 和 Intent
- 使用 Bundle 在 Activities 之間傳遞數據
- 創建 Navigation Drawer 和 BottomNavigationView
- 實現 fragment 以實現靈活的 UI 導航
第9周:在 React Native 中導航
- React 導航基礎
- 安裝和設置 React 導航
- 使用 Stack Navigator 進行螢幕轉換
- 實現 Tab Navigator 和 Drawer Navigator 以進行複雜導航
- 在介面之間傳遞參數和管理導航狀態
第 10 周:高級功能
- iOS 高級功能:
- 核心位置和地圖
- Access使用 Core Location 設置設備位置
- 使用 MapKit 顯示地圖
- 處理地理位置和使用者位置跟蹤
- 相機和媒體
- Accessing 設備相機和照片庫
- 使用UIImagePickerController捕獲和顯示圖像
- 存儲和檢索媒體檔
- 核心位置和地圖
- Android 高級功能
- 位置和地圖
- 使用 Google Maps API 顯示地圖和使用者位置
- Access獲取 GPS 數據和處理地理定位
- 相機和媒體
- 使用 CameraX 拍攝照片和處理相機許可權
- 顯示圖像和處理媒體存儲
- 位置和地圖
- React 原生高級功能
- React 原生地圖
- 使用集成地圖
react-native-maps
- 處理基於位置的服務(地理位置、路由映射 )
- 使用集成地圖
- 攝像頭和媒體訪問
- 使用 React 原生相機庫拍攝照片
- Access設備媒體存儲和處理檔
- React 原生地圖
第 11 周:調試和測試
- iOS 調試和測試
- 使用 Xcode 調試器
- 在 Xcode 中設置斷點和檢查變數
- 使用主控台進行即時調試
- 常見調試問題及其解決方法
- iOS 中的單元測試
- 使用 XCTest 框架編寫和運行單元測試
- 模擬物件和測試UI元件
- 使用 Xcode 調試器
- Android 調試和測試
- 在 Android Studio 中使用 Logcat
- 使用Logcat記錄和分析錯誤
- 調試 Android 個帶斷點的應用程式
- Android 中的單元測試
- 使用 JUnit 撰寫單元測試
- 使用 Espresso 測試 Android 介面元件
- 在 Android Studio 中使用 Logcat
- React 本機調試和測試
- React 本機調試工具
- 使用 Chrome DevTools 和 React Native Debugger 進行即時調試
- 主控台日誌和檢查網路請求
- React Native 中的單元測試
- 使用 Jest 和 Enzyme 編寫單元測試
- 測試 React 本機組件和管理測試用例
- React 本機調試工具
第 12 周:應用部署和 Capstone 專案
- 部署和分發
- iOS App Store 提交
- 準備要分發的應用程式(圖示、證書、供應設定檔)
- 使用 App Store Connect 提交 app 以供審核
- 使用 TestFlight 進行 Beta 測試
- Android Play 商店提交
- 準備 APK 並對應用程式進行簽名以進行分發
- 使用 Google Play 管理中心進行應用提交和跟蹤
- 瞭解 Play 商店的政策和準則
- iOS App Store 提交
- Capstone 項目開發
- 最終項目開發
- 構建您選擇的功能齊全的應用程式
- 合併 API 呼叫、導航、媒體和位置等高級功能
- 向同行和講師演示和演示最終應用程式
- 最終項目開發
總結和後續步驟
最低要求
- 對程式設計概念的基本理解
- Java腳本基礎知識
觀眾
- 移動開發人員
- 程式師
客戶評論 (5)
Edward 是一位了不起的主持人
Zibusiso Ncube - Agricatural Research Council
Course - Ionic 4 and Angular for Developers
機器翻譯
我最喜歡的部分是與何塞先生的問答。他知識淵博,知道我們問題的答案。
John Henry - Toyota Motor Philippines
Course - .NET MAUI (Intermediate)
機器翻譯
也許更多的練習對lerning來說可能更好,但時間很少
Gianpiero Arico' - Urmet Spa
Course - Embedded Linux Systems Architecture
機器翻譯
Miguel's knowledge of the subject was extensive. He made the training easy to understand and the flow was balanced; adding on to each section with new features as needed. He covered everything that was asked and answered each and every question thoroughly. It was a very pleasant experience.
Paul Coaton - SEMPCheck Services
Course - Flutter Development Bootcamp with Dart
The trainer was enthusiastic, kind, and loved the topic