시연 영상
https://drive.google.com/file/d/1l2h8Zi4Lx16Kep7FVLoUIfVoG_QY3i9s/view?usp=sharing
개요
KMM(Kotlin Multiplatform Mobile)을 이용하여 안드로이드와 iOS에서 이용 가능한 파일 업/다운로드 모듈을 구현하고, 이용한 파일 업/다운로드 안드로이드 애플리케이션을 구현하였습니다.
요구사항
- 어떤 프로젝트에서도 적용할 수 있도록 확장성을 고려한 설계 필요
- Kotlin Multiplatform Mobile 을 사용해서 구현
- 파일 일시정지, 이어받기(이어보내기), 취소 기능 구현
- UI / UX 고민 X
기술 스택
- KMM : ****Kotlin, Ktor-Client, Koin, Sqldelight
- Android : Android Studio, Kotlin, Hilt, MVVM
- API Server : Node.js(Express)
기술 어필 포인트
공통 비즈니스 로직을 KMM 으로 개발
파일 업/다운로드 기능 구현 시 안드로이드와 iOS가 각각 개발해야하는 공통적인 로직을 KMM으로 모듈화하여 개발하였습니다.
공통 로직은 수행하되, 외부에서는 드러나지 않도록 FileLoadSdk라는 하나의 엔드포인트를 두어 확장성이 용이한 설계를 하기 위해 노력하였습니다.
프로젝트를 통해 성장한 부분
- 새로운 언어와 프레임워크를 빠르게 학습하여 활용하는 경험
- 어디서나 활용될 수 있도록 확장성 있는 라이브러리를 만드는 경험
- Http Multipart 에 대한 이해 및 개발 경험
- 안드로이드 컴포넌트와 라이프사이클에 대한 이해