전 여러 플랫폼에서 잘 작동하는 앱을 개발하려고 하는데 어떤 언어, 프레임워크, 도구가 내게 적합한지 어떻게 알 수 있나요?
커뮤니티에서 개발자들이 이런 질문을 흔히 던지곤 합니다. 때로는 Google에서 제공하는 옵션이 너무 많아서 오히려 결정하기 어려울 수 있다는 가벼운 충고도 뒤따르는데, 그런 의견을 경청하고 있으며 충분히 이해합니다!
앱에 적합한 결정을 내리는 것은 팀 및 제품 목표를 포함한 다양한 요인에 따라 달라집니다. 저희는 개발자 여러분을 위해 Google의 모든 제품과 서비스를 더 쉽게 만들려고 노력하고 있습니다. 이 블로그 게시물에서는 프로젝트에 적합한 기술 스택을 선택하는 데 도움이 되는 몇 가지 가이드를 제공합니다.
Kotlin은 Android의 최신 독특한 최신 기능을 앱에 활용하려는 경우에 권장되는 프로그래밍 언어입니다. Kotlin으로 개발된 Android의 최신 UI 툴킷인 Jetpack Compose와 Kotlin을 함께 사용하면 최신 Android 전용 기능과 서비스에 모두 액세스하여 고품질의 프리미엄 앱을 만들 수 있습니다. 또한 스마트폰, 태블릿, 폴더블, 노트북, 워치, TV, 자동차 등 Android에서 실행되는 모든 기기 유형과 화면에서 최상의 앱 성능에 액세스할 수 있습니다. Kotlin Android 앱은 하드웨어 및 Android 플랫폼과의 긴밀한 통합에 액세스할 필요가 있는 앱에 가장 적합한 선택이기도 합니다. Kotlin과 Jetpack Compose를 사용하면 Live Edit 코드 편집, Android Studio의 Compose UI 미리보기 도구 지원, 직관적인 Kotlin API를 통해 Android에서 UI 개발을 간소화하고 가속화할 수 있습니다. Compose를 시작하는 방법에 대해 자세히 알아보세요.
Kotlin Multiplatform(KMP)은 여러 앱에 걸쳐 비즈니스 로직을 공유하는 데 권장되는 방법입니다. 올해 Google I/O에서 저희는 Android가 모바일, 데스크톱, 웹, 서버에서 비즈니스 로직을 공유하는 Kotlin Multiplatform을 지원한다고 발표했습니다. KMP를 사용하면 Kotlin 코드를 플랫폼별 바이너리(예: Android, iOS, JVM, WASM)로 컴파일하여 최소한의 오버헤드로 플랫폼별 API를 호출할 수 있습니다. KMP는 코드 중복을 줄이고 공유 비즈니스 로직을 더 쉽게 유지 관리하는 데 도움이 되며, 계속해서 플랫폼별 API를 사용하여 UI를 개발할 수 있습니다. Android용 Kotlin Multiplatform에 대한 최신 업데이트에 관해 자세히 알아보세요.
Flutter는 모든 플랫폼에서 비즈니스 로직과 UI 코드를 공유하여 일관되고 안정적인 사용자 경험을 제공하려는 경우에 Google에서 권장하는 SDK입니다. Flutter를 사용하면 단일 공유 앱 코드베이스에서 Android, iOS, 웹, 데스크톱(Windows, macOS, Linux) 전반에 걸쳐 풍부한 앱 경험을 만들 수 있습니다. Flutter 앱은 대부분의 플랫폼(예: iOS, Android)에서 기계어 코드(예: ARM, x86, RISC-V)로 직접 컴파일하는 DART 프로그래밍 언어를 사용하여 작성됩니다. DART는 JavaScript로 컴파일되는 Web에서도 사용되며 오늘 Google I/O에서 발표한 바와 같이 WebAssembly로도 컴파일됩니다. DART는 개발 중에 스테이트풀 핫 리로드도 제공하는데, 이는 Flutter 개발자가 시각적 변경 사항에 대해 빠르게 반복하는 데 사용됩니다. Flutter를 시작하는 방법에 대해 자세히 알아보세요.
계속해서 선택권을 드리고 싶으므로 모든 플랫폼에 걸쳐 상호 운용성 측면에서 Flutter와 Kotlin을 모두 개선하려 적극적으로 노력하고 있습니다.
Flutter를 사용하여 여러 플랫폼에 걸쳐 UI 및 비즈니스 로직을 공유하든 공유 비즈니스 로직을 위해 Kotlin Multiplatform으로 개발하든, 비즈니스에 가장 적합한 접근 방식을 선택할 수 있습니다. 이러한 기술을 사용해 더 빠르고 효율적으로 훌륭한 앱을 개발할 수 있기를 바랍니다.