크로스/멀티 플랫폼 앱 개발의 진화
서론
최근 몇 년간 크로스/멀티 플랫폼을 지원하는 앱 개발 프로젝트들이 빠르게 확산되고 있습니다. 이제 개발자들은 단일 코드베이스로 여러 플랫폼에서 동작하는 앱을 만들 수 있는 다양한 도구와 프레임워크를 활용할 수 있게 되었습니다.
과거의 크로스 플랫폼 개발 도구들
과거에도 크로스 플랫폼 앱 개발을 시도한 많은 프로젝트들이 있었습니다. 그러나 그중 다수는 성능과 안정성 문제로 인해 큰 인기를 끌지 못했습니다. 그 결과, 많은 개발자들이 오히려 웹뷰(WebView)를 사용해 앱을 만드는 경우가 많았습니다. 이러한 방식은 기본적으로 웹 기술을 사용하기 때문에 빠르게 앱을 개발할 수 있지만, 네이티브 앱의 성능과 사용자 경험을 완전히 제공하지 못하는 한계가 있었습니다.
React Native와 Flutter의 등장
크로스 플랫폼 개발에 대한 인식이 바뀌기 시작한 것은 React Native와 Flutter가 등장하면서부터입니다. React Native는 JavaScript와 React를 사용해 네이티브 모바일 앱을 개발할 수 있는 프레임워크로, 기존 웹 개발자들이 비교적 쉽게 모바일 앱 개발로 넘어올 수 있도록 해주었습니다. 이후 Flutter는 Google이 개발한 오픈소스 UI 툴킷으로, Dart 언어를 사용하여 더욱 빠르고 일관성 있는 성능을 제공하며 주목받게 되었습니다. 이 두 프레임워크는 성능과 안정성 측면에서 과거의 도구들에 비해 훨씬 뛰어났고, 많은 개발자들 사이에서 크로스 플랫폼 개발의 대표적인 선택지로 자리 잡게 되었습니다.
Kotlin Multiplatform의 등장
Kotlin 언어의 발전과 함께 Kotlin Multiplatform도 주목받기 시작했습니다. Kotlin은 안드로이드 개발 언어로 많이 사용되었지만, 이제는 이 언어를 이용해 iOS 앱과 같은 다른 플랫폼에도 빌드할 수 있게 되었습니다. 이를 통해 안드로이드 개발자들이 새로운 언어를 배울 필요 없이 기존에 익숙한 Kotlin을 사용해 여러 플랫폼에 걸쳐 앱을 배포할 수 있게 되었습니다.
Swift 진영의 도전: “Skip” 프로젝트
안드로이드 쪽의 Kotlin Multiplatform과 유사하게, Swift 진영에서도 멀티 플랫폼 앱 개발을 위한 솔루션이 등장했습니다. 그 중 하나가 “Skip”이라는 툴입니다. Skip은 Swift를 사용하여 iOS 앱을 개발하면서도 안드로이드 앱으로 빌드할 수 있도록 해주는 도구입니다. Swift로 개발한 코드를 안드로이드에서 사용할 수 있게 만들어줌으로써, iOS 개발자들이 동일한 코드베이스를 사용해 안드로이드 플랫폼에 쉽게 접근할 수 있도록 해줍니다. Kotlin Multiplatform과 비슷한 개념을 가지고 있지만, 서로 대척되는 프로젝트로 볼 수 있습니다.
결론
크로스/멀티 플랫폼 앱 개발 도구들은 시간이 지나면서 더욱 발전하고 있습니다. React Native와 Flutter의 등장으로 인해 크로스 플랫폼 개발의 가능성이 현실화되었고, Kotlin Multiplatform과 Skip과 같은 툴들이 이를 더욱 확장하고 있습니다. 이로 인해 개발자들은 이제 단일 언어로 여러 플랫폼에 걸쳐 앱을 만들 수 있는 더 많은 선택지를 가지게 되었고, 이를 통해 개발 생산성과 효율성을 높일 수 있는 시대가 열리고 있습니다.
링크
- React Native: https://reactnative.dev
- Flutter: https://flutter.dev
- Kotlin Multiplatform: https://lnkd.in/gNqfPFQJ
- Skip: https://skip.tools
Subscribe to my newsletter
Read articles from Albert Hongseok Gu directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by