# APP 開發人員學習流程 ## (1) Git 與 IDE 操作 ### 共通 - [ ] Git 基本操作(clone / commit / push / branch / merge / rebase) - [ ] 開發流程(Git Flow) - [ ] `.gitignore` 與常見設定 ### iOS vs Android | iOS | Android | |-----|---------| | - [ ] Xcode 基本操作(Build / Run / Debug / Simulator) | - [ ] Android Studio 基本操作(Gradle build / Emulator / Logcat) | | - [ ] 常用依賴套件:SwiftFormat、SPM | - [ ] 常用依賴套件:Ktlint、Android Lint、Gradle Plugins | | 推薦資源:Apple Developer — Xcode docs | 推薦資源:Android Developers — Android Studio guide | --- ## (2) 語法基礎與原生操作 ### 共通 - [ ] UI lifecycle - [ ] Figma使用及操作 - [ ] JSON API串接 (可找免費的open api) - [ ] WebView JS ↔ Native Bridge API - [ ] 行銀APP框架說明(APP->Web->AP , APP->AP, Web<->APP)(不含程式碼) - [ ] 數存APP框架說明(APP->Web->AP , APP->AP, Web<->APP)(不含程式碼) - [ ] 推播基本概念 ### iOS vs Android | iOS | Android | |-----|---------| | - [ ] Swift 基礎語法(變數、常數、控制流程、函式、閉包)<br>- [ ] Struct / Class / Enum / Protocol / Extension | - [ ] Kotlin 基礎語法(val/var、function、class、lambda) | | - [ ] UIKit 元件:UIViewController、Auto Layout | - [ ] Android UI 元件:Activity、Fragment、RecyclerView、ConstraintLayout / Jetpack Compose | - [ ] WebView:`WKWebView` | - [ ] WebView:`WebView` | | - [ ] JS 溝通:`WKScriptMessageHandler`、`evaluateJavaScript` | - [ ] JS 溝通:`addJavascriptInterface`、`evaluateJavascript` | | - [ ] 推播:APNs + Firebase | - [ ] 推播:Firebase Cloud Messaging (FCM) 、本地| | 資源:<br>• [Swift Book](https://docs.swift.org/swift-book/documentation/the-swift-programming-language/)<br>• [iOS鐵人賽教學(Day1 ~ Day 16)](https://ithelp.ithome.com.tw/users/20120243/ironman/7791?page=1) | 資源:<br>• [Android Basic(看1~5章,根據不同螢幕大小調整不用)](https://developer.android.com/courses/android-basics-compose/course?hl=zh-tw)<br>• [Material3](https://m3.material.io/) | --- ## (3) 公司 APP 業務邏輯(WebView + JS 溝通) ### 共通 - [ ] 行銀APP詳細架構說明(包含程式碼) - [ ] 數存APP詳細架構說明(包含程式碼) --- ## (4) 打包、測試、送審 ### 共通 - [ ] 後台操作 - [ ] 送審產出差異檔腳本 - [ ] 送審流程(電腦資源申請書,安控室進出,測試表) ### iOS (AppStoreConnect) vs Android (GooglePlayConsole) | iOS | Android | |-----|---------| | - [ ] 設定 Bundle ID / Provisioning Profile / Certificates | - [ ] Keystore / 簽署金鑰設定 | | - [ ] Xcode Archive → Testflight → App Store Connect | - [ ] 產生 APK | | - [ ] 上傳 TestFlight 測試 | - [ ] 上傳 Google Play Console(Internal / Closed / Open / Production) | --- ## (5) 實做一個Demo App (其中一個平台) - [ ] 做一個登入頁並呼叫API 並呼叫指定API (會提供測試API) - [ ] 能開啟WebView,並能 JS ↔ Native 雙向溝通 (會提供測試WebView) - [ ] 生物辨識:FaceID / TouchID / 指紋登入 - [ ] 推播:能做出一個本地推播 - [ ] 能完成一次送審流程