Kotlin logo

Kotlin

A concise multiplatform language developed by JetBrains

Multiplatform

Compose Multiplatform 1.8.0 출시: 프로덕션에 사용 가능한 iOS용 Compose Multiplatform 안정화

Read this post in other languages:

iOS용 Compose 안정화 버전인 Compose Multiplatform 1.8.0이 출시되어 Kotlin Multiplatform 여정에서 획기적인 전환점이 마련되었습니다. 이번 업데이트를 통해 Kotlin Multiplatform은 완벽한 모바일 개발 솔루션으로 거듭나 앱 품질의 저하 없이 플랫폼별 기능을 제어하면서 비즈니스 로직과 UI 전반에서 유연하게 코드를 공유할 수 있도록 지원합니다.

실제 앱 구축에 필요한 모든 것

iOS용 Compose Multiplatform에는 실제 앱의 매력적인 UI를 구축하는 데 필요한 모든 기능이 포함되어 있습니다.

  • 모든 주요 사용 사례에서 Jetpack Compose와 동일한 기능 제공
  • 딥 링크를 지원하는 타입 안정성을 갖춘 네비게이션
  • 유연한 리소스 관리 
  • VoiceOver, AssistiveTouch 및 전체 키보드 액세스를 통해 최고 수준의 접근성 지원
  • 이 외에도 다양한 기능이 있습니다.

1.8.0 버전에서는 핵심 API의 모양이 완성되었고 접근성 및 탐색에 대한 구체적인 개선 사항과 함께 광범위한 버그 수정과 성능 개선 사항이 적용되었습니다(자세한 내용은 1.8.0 새로운 기능 참조). 이제 모든 주요 API가 공식적으로 안정화되어 앞으로 강력한 호환성이 보장되고 대폭적인 변경이 거의 없을 것으로 예상됩니다.

이러한 안정적 기반은 빠르게 성장하는 에코시스템으로 뒷받침됩니다. Jetpack 라이브러리에 멀티플랫폼 기능이 채택되고 있으며, 커뮤니티의 노력으로 아키텍처와 종속성 삽입부터 이미지 로딩과 그래프 렌더링까지 모두 포괄하는 고품질 라이브러리가 만들어지고 있습니다(공식 Kotlin 멀티플랫폼 라이브러리 카탈로그인 klibs.io에 모두 수록).

이러한 구성 요소가 제공되므로, 여러분도 Compose Multiplatform 앱이 이미 프로덕션에 적용된 것처럼 강력하고 다양한 기능을 갖춘 앱 개발을 바로 시작할 수 있습니다.

진정한 네이티브 느낌의 앱

iOS 사용자는 매끄럽고 자연스러운 동작을 기대하며, 그런 차이를 민감하게 인지합니다. iOS용 Compose Multiplatform은 앱이 플랫폼에서 익숙한 느낌을 주고 빠르게 반응하도록 세부적 부분을 정확하게 구현하는 데 중점을 둡니다.

  • 네이티브 iOS 동작과 일치하는 스크롤 동작
  • 네이티브 선택 및 오른쪽에서 왼쪽으로의 텍스트 편집 지원
  • 시스템과의 드래그 앤 드롭 통합
  • 글꼴 크기 및 대비와 같은 시스템 설정을 따르는 적응형 UI
  • iOS 사용자에게 자연스럽게 느껴지는 탐색 동작
Respawn iOS 앱은 Compose Multiplatform으로 제작되었으며, 코드의 96%를 Android와 공유합니다.

Compose Multiplatform은 Kotlin Multiplatform의 핵심 철학을 충실하게 따르면서 네이티브 및 크로스 플랫폼 개발의 장점을 결합합니다. 1.8.0 릴리스에서는 SwiftUI 및 UIKit과의 상호 운용성이 더욱 개선되어 기존 앱에 Compose를 원활하게 내장하거나 네이티브 뷰를 Compose 화면에 통합할 수 있습니다. 이러한 접근 방식은 점진적인 도입을 지원하고 코드를 공유하는 방법과 위치를 완벽하게 제어할 수 있게 해줍니다.

바로 프로덕션으로 진행할 수 있는 성능

훌륭한 사용자 경험은 단순히 UI 동작에만 국한되지 않습니다. 성능도 중요합니다. 부드러우면서도 빠른 상호 작용이 사용자 만족의 핵심입니다. 이러한 이유로 이번 안정화 작업에서는 성능에 많은 무게를 두었습니다. 1.8.0 버전에서는 다음과 같은 이점을 제공합니다.

  • 앱 시작 속도가 네이티브 앱과 유사하여, 첫 프레임이 빠르게 표시됩니다.
  • 고주사율 기기에서도 스크롤 성능이 SwiftUI와 동등한 수준입니다.
  • Compose Multiplatform은 동일한 UI 로직과 애셋을 가진 네이티브 SwiftUI 앱과 비교해 iOS 앱 크기를 약 9MB밖에 늘리지 않습니다.
벤치마크 프로젝트는 GitHub에서 찾아볼 수 있습니다. 방법론에 대한 자세한 설명은 KMP 개발 포털에 곧 게시될 예정입니다.

가장 중요한 사실은 이 결과가 개발자들의 실제 경험과 일치한다는 것입니다. 최근 설문조사에 따르면 iOS에서 Compose Multiplatform을 사용하는 팀의 96% 이상은 별다른 성능 문제를 보고하지 않습니다.

효율성을 높이는 개발 도구

Compose Multiplatform 앱을 더 빠르고 원활하며 쉽게 구축하도록 KMP 도구를 적극적으로 개선하고 있습니다. IntelliJ IDEA 및 Android Studio 모두에 새로운 KMP 플러그인이 곧 제공될 예정입니다. 공통 로직을 작성하기 위한 기능 외에도 공통 코드에서 Compose Previews와 리소스 관리를 위한 도구도 지원됩니다.

더 즐거운 소식은 Compose Hot Reload가 이미 사용 가능하다는 것입니다. 이를 통해 앱을 다시 시작하거나 현재 상태를 벗어나지 않고도 UI 코드 변경 후 결과를 즉시 확인할 수 있습니다. 작업하는 동안에 코드를 지능적으로 다시 로드하므로 그 어느 때보다 UI 반복이 더욱 빠르고 원활합니다.

Compose Hot Reload 사용해 보기

실서비스에 바로 쓸 수 있는 안정성과 간편한 도입

iOS용 Compose Multiplatform은 안정적 API, 훌륭한 성능, 네이티브 느낌과 최신 도구 등 완전한 패키지를 제공합니다. 사용자는 편안한 UI를 경험하고, 개발팀은 더 적은 버그, 중복 작업의 감소, 플랫폼 간 더 빠른 개발 속도라는 차이를 분명히 느낄 수 있습니다.

또한 처음부터 시작할 필요가 없다는 점이 무엇보다 큰 장점입니다. Markaz, Wrike, Feres, Physics Wallah 등 많은 팀이 이미 Compose Multiplatform을 대규모 앱에 도입하고 있으며, 한 화면이나 하나의 기능부터 단계적으로 적용해 나가고 있습니다. 기존 워크플로에 무리 없이 통합되며, 필요에 따라 유연하게 확장할 수 있습니다.

iOS용 Compose Multiplatform은 안정화 단계에 도달했고, 에코시스템이 활력을 띠고 있습니다. 도구도 이미 준비를 마쳤으니 이제 여러분이 어떤 앱을 만들어갈지 기대됩니다.

Compose Multiplatform 시작하기

모바일을 넘어 확장되는 Compose Multiplatform

웹용 Compose Multiplatform도 빠르게 발전하고 있습니다. 1.8.0 버전부터 Navigation 라이브러리가 브라우저의 뒤로 가기 및 앞으로 가기 버튼을 지원하여, 웹 앱이 보다 네이티브 앱처럼 느껴지도록 개선되었습니다. 개발자는 포인터 커서 사용자 지정과 리소스 사전 로드 API도 실험해볼 수 있으며, 이를 통해 레이아웃 전환을 줄이고 체감 성능을 향상시킬 수 있습니다.

이러한 업데이트로 웹용 Compose Multiplatform은 한층 더 완성도 높은 프로덕션급 경험을 제공할 수 있게 되었습니다. 앞으로도 Kotlin 웹 개발에 대한 새로운 소식을 기대해 주세요.

더 읽어보기

게시물 원문 작성자

Ekaterina Petrova

Ekaterina Petrova

image description

Discover more