Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/KwonDae/ImagePicker

Compose Multiplatform ImagePicker
https://github.com/KwonDae/ImagePicker

android compose-multiplatform kotlin-multiplatform

Last synced: about 2 months ago
JSON representation

Compose Multiplatform ImagePicker

Lists

README

        

# Compose Multiplatform ImagePicker

### Android
|메인 화면|상세 화면|
|:-----:|:-----:|
|||

### iOS
|메인 화면|상세 화면|다국어 지원|
|:-----:|:-----:|:-----:|
||||

## Reference
[peekaboo](https://github.com/onseok/peekaboo)

## Article
- [빌표 자료](https://speakerdeck.com/easyhooon/compose-multiplatform-image-picker)
- [[Compose Multiplatform] Coil 을 이용한 Network Image Load](https://velog.io/@mraz3068/How-to-load-Network-Image-by-Coil-in-Compose-Multiplatform)
- [[Compose Multiplatform] moko-resources 를 이용하여 font 적용하기](https://velog.io/@mraz3068/Compose-multiplatform-apply-font-by-moko-resources)
- [[Compose Multiplatform] moko-resources 라이브러리를 통해 국제화(i18n) 적용하기](https://velog.io/@mraz3068/Compose-Multiplatform-i18n-by-moko-resources)
- [[Compose Multiplatform] Decompose 라이브러리를 통해 Navigation 구현하기](https://velog.io/@mraz3068/Compose-Multiplatform-Implement-Navigation-With-Decompose)

## Development

### Environment

- IDE : Android Studio Hedgehog, Xcode

### Language

- Kotlin, Kotlin Native

### Libraries

- AndroidX
- Activity Compose

- Kotlin Libraries (Coroutine, Serialization)
- Compose
- Material3

- Coil
- Ktor
- Decompose
- moko-resources
- Napier
- [zoomable](https://github.com/mxalbert1996/Zoomable)

#### Gradle Dependency

- Gradle Version Catalog

## ToDo
- [x] 프로젝트에 필요한 라이브러리 의존성 추가
- [x] 이미지 피커 UI 구성
- [x] 공통 로직 작성(expect)
- [x] Android 이미지 피커 로직 구현(actual)
- [x] iOS 이미지 피커 로직 구현(actual)
- [x] [moko-resources](https://github.com/icerockdev/moko-resources) 라이브러리 적용(Font, String(i18n))
- [x] [Decompose](https://github.com/arkivanov/Decompose) 라이브러리 적용(Navigation 및 ViewModel)
- [ ] [TouchLab SKIE](https://skie.touchlab.co/) 라이브러리 적용(CommonFlow 를 대체) -> flow 를 사용하지 않음

## About
This is a Kotlin Multiplatform project targeting Android, iOS.
* `/composeApp` is for code that will be shared across your Compose Multiplatform applications.
It contains several subfolders:
- `commonMain` is for code that’s common for all targets.
- Other folders are for Kotlin code that will be compiled for only the platform indicated in the folder name.
For example, if you want to use Apple’s CoreCrypto for the iOS part of your Kotlin app,
`iosMain` would be the right folder for such calls.

* `/iosApp` contains iOS applications. Even if you’re sharing your UI with Compose Multiplatform,
you need this entry point for your iOS app. This is also where you should add SwiftUI code for your project.

Learn more about [Kotlin Multiplatform](https://www.jetbrains.com/help/kotlin-multiplatform-dev/get-started.html)…