【Compose Multiplatform】手機使用依賴注入Koin
2024, Jul 10
前言
在 Compose Multiplatform 專案中
依賴注入是一個重要的設計模式
Koin 作為一個輕量級的 DI 框架
非常適合用於跨平台開發
本文將介紹如何在 Compose Multiplatform 中
使用 Koin 進行依賴注入
目錄
- 【Compose Multiplatform】專案轉移探討與開發指南
- 【Compose Multiplatform】手機使用依賴注入Koin
- 【Compose Multiplatform 】跨平台App但Android需要context作法並搭配Koin
- 【Compose Multiplatform】手機本地持久化儲存DataStore實作
- 【Compose Multiplatform】手機資料庫SqlDelight實作
- 【Compose Multiplatform】CMP中使用ROOM開發資料庫 - [KSP2] Annotation value is missing in nested annotations
- 【Compose Multiplatform】CMP專案中導入CocoaPods及無CocoaPods情況下使用IOS Swift/Obj-C
實作步驟
1. 導入庫
在 .toml 文件中添加:
在 build.gradle.kts 中添加:
2. 實作 DI 內容
接下來,我們需要實作 DI 的具體內容:
這裡可以依據你實際要用的去實作
像是我們可能會規劃使用viewmodel、database、datastore等等
就可以根據你實際要用的去做分類
使得程式碼更好維護、管理
3. 初始化 Koin
如果剛好你實作的東西需要跨平台
取得
例如要在Android取得Context
所以依賴注入就必需要分開注入
根據不同的平台和需求,我們有多種方式初始化 Koin:
in iOSMain:
in androidMain:
如果剛好你實作的東西不需要跨平台
取得
你可以用以下的方式去在commonMain裡面直接注入
對於 koin-compose 1.2.0 版本,可以用KoinApplication
讓你的代碼更有整體性
或也可以用原本的 startKoin
:
4. 實際使用
之後直接用koinViewModel
就能直接注入viewmodel
或是有些要組成的東西在moduel那邊使用get()
就能幫你取得實例
總結
- Koin 能在 Compose Multiplatform 使用
- 通過適當的配置,可以在不同平台上靈活使用 Koin
- 使用 Koin 可以大大簡化跨平台項目的依賴管理
- 根據項目規模和複雜度,選擇合適的初始化方式