제목이 당신에게 잘못된 방향으로 작용했다면 사과부터 시작하겠습니다. 저는 항상 Google 제품, 특히 모바일 개발에 대한 Google의 노력을 좋아했습니다.
Xamarin, React Native 및 Flutter와 같은 인기 있는 크로스 플랫폼 모바일 개발 프레임워크에 있어서 저는 Flutter를 선호합니다. 이러한 선호는 부분적으로는 Google의 참여에 기인하고 부분적으로는 Stack Overflow 질문에 대한 최근 통계에서 알 수 있듯이 Flutter의 인기가 높아지기 때문입니다.
https://insights.stackoverflow.com/trends?tags=react-native%2Cflutter%2Cionic-framework%2Cxamarin
그러나 최근 예상치 못한 발전이 있었습니다. Google은 Flutter 및 Dart 팀에서 팀원을 해고했습니다( 출처 ). 이것은 나에게 놀라운 일이었고 그 뒤에 있을 수 있는 이유를 숙고하게 만들었습니다.
특정 분야에만 영향을 미친 것으로 보여 광범위한 구조조정은 아닌 것으로 보인다. 이는 Google 대변인 Alex García-Kummert가 다음과 같이 지적한 것처럼 투자의 우선순위 지정과 점진적인 매각 전략을 의미합니다. " 우리는 회사의 가장 큰 우선순위와 앞으로 다가올 중요한 기회에 책임감 있게 투자하고 있습니다. "( 출처 )
추가 조사를 통해 나는 이것이 고립된 사건이 아니라는 것을 발견했습니다. Google은 이미 작년에 Flutter 기반 운영 체제를 구축하는 Fuchsia 팀 의 일부를 해고했습니다 ( 출처 ). 이로 인해 나는 이러한 행동이 계획된 전략의 일부라고 믿게 되었습니다.
이러한 최근 사건과 새로운 추세를 고려할 때 Flutter의 미래에 대해 점점 더 불확실해졌습니다. Flutter가 처음 등장한 이유부터 시작하여 제 관점을 공유하겠습니다.
1. Flutter는 아마도 Google의 백업 계획이었을 것입니다.
2010년에 Oracle은 특히 Android에서 Java를 사용하는 것에 대해 Google을 상대로 소송을 제기했습니다( 출처 ). 이 법적 싸움은 수년 동안 계속되었습니다. 진행 중인 소송에도 불구하고 Android는 2010년대 초반 내내 계속해서 성장했으며 Google이 모바일 사용자에게 접근하고 기술적 영향력을 확장하는 데 중요한 플랫폼으로 남아 있습니다. Oracle 대 Google 소송의 패소는 모바일 환경에서 Google에 심각한 영향을 미칠 수 있습니다.
결과적으로 Google은 Java에 대한 의존도를 줄이는 방법을 전략화해야 했습니다. 한 가지 중요한 움직임은 2017년에 Kotlin을 일류 시민으로 채택한 것입니다. 이 결정은 Oracle 대 Google 소송의 결과에 관계없이 Android 개발의 연속성을 보장함으로써 모바일 시장에서 Google의 입지를 보호했습니다.
분명히 당시에는 Kotlin을 일류 시민권으로 승격시키기로 한 결정이 성급하게 느껴졌습니다. 특히 Android Studio 3.0의 준비가 부족하다는 증거를 고려할 때 더욱 그렇습니다. 나는 당시 썼던 글( 기사 )에서 이런 고민을 자세히 강조했다.
Kotlin에만 의존하면 위험이 따릅니다. Kotlin은 Google이 아닌 JetBrains에서 개발한 언어이기 때문입니다. 이러한 위험을 완화하기 위해 Google은 완전히 소유한 언어를 기반으로 또 다른 옵션을 구축하려고 했습니다.
2015년 초에 Google은 Dart 프로그래밍 언어와 나중에 Flutter로 발전한 Sky( 출처 )라는 프레임워크를 사용하여 Java가 필요 없는 모바일 개발 접근 방식에 대한 계획을 세웠습니다. Flutter 는 Kotlin이 Android 개발을 위한 최고 시민으로 지정되는 것과 동시에 2017년에 공식적으로 출시되었습니다( 출처 ). Google의 이러한 전략적 움직임은 Android 개발 생태계에서 더 큰 유연성과 제어력을 보장하는 대체 솔루션을 제공했습니다.
2017년부터 지금까지 Kotlin과 Flutter는 모두 상당한 성공을 거두었으며, 이는 둘 다 가까운 미래에도 계속해서 두드러질 것이라고 믿게 되었습니다.
그러나 최근 추세와 사건에 따르면 Google은 결국 하나를 다른 것보다 우선시하여 잠재적으로 보조 옵션을 단계적으로 폐지할 수도 있습니다. 이는 아래에 설명된 발전 상황에서 분명하게 드러납니다.
2. Kotlin은 더욱 성공적이었습니다.
Kotlin이 Android 개발의 최고 시민으로 발표된 이후 Google과 JetBrains는 Kotlin이 두각을 나타내는 지점까지 지속적으로 Kotlin을 향상시켜 Android 개발의 정점을 대표합니다.
두 회사는 2013년 IntelliJ를 100% 기반으로 한 Android Studio를 출시한 이후 조화롭게 협력해 왔습니다. 10년 이상 지속된 이 파트너십은 상호 이익이 되는 것으로 입증되었습니다. IntelliJ는 Android 개발을 넘어 Kotlin을 확장했으며, Google은 Android 개발을 위한 Kotlin 통합을 심화했습니다.
통계에 따르면 Kotlin이 분명히 Dart보다 앞서 있습니다.
- Kotlin은 19위, Dart는 26위( Tiobe Index )
- Kotlin 선호도 9%, Dart 선호도 6%( StackOverflow 2023 설문조사 )
Jetpack Compose 및 Kotlin Gradle
Google 측에서는 2019년 Jetpack Compose가 도입되면서 Android 개발에서 Kotlin의 지배력이 더욱 분명해졌습니다( 출처 ). 순수하게 Kotlin을 기반으로 하는 이 프레임워크는 기본 Android 개발에 대한 Kotlin의 연결을 더욱 강화했습니다.
또한 Gradle 빌드 환경이 Groovy 사용에서 Kotlin으로 전환되었습니다. 그 결과, 이제 Android 개발 생태계의 대다수가 Kotlin을 중심으로 돌아가며 Android 개발을 위한 확실한 일급 시민으로서의 위상을 확고히 다졌습니다.
Kotlin 멀티플랫폼(KMP)
JetBrains는 Kotlin Multiplatform 개발을 통해 iOS 및 웹 개발을 대상으로 Android 개발을 넘어 Kotlin을 확장했습니다.
이 전략은 Kotlin을 React Native, Xamarin, Flutter와 같은 다른 모바일 개발 프레임워크와 차별화합니다. 프레임워크보다는 플랫폼 역할을 더 많이 하기 때문입니다. 이러한 프레임워크와 달리 Kotlin Multiplatform은 전체 앱의 아키텍처를 지정하지 않고 기존 기본 iOS 및 Android 프로젝트를 해당 아키텍처로 확장할 수 있도록 허용합니다.
멀티플랫폼 프레임워크와 Android 환경의 원활한 통합을 위해 Google 직원은 개발에 적극적으로 기여했습니다( 출처 ). 이러한 협력을 통해 프레임워크와 Android 운영 체제의 정렬이 촉진되어 이 플랫폼의 개발 프로세스가 단순화되었습니다.
이러한 유연성을 통해 필요에 따라 순수 네이티브 개발과 다중 플랫폼 개발 간의 원활한 전환이 가능해지며 개발자는 변화하는 요구 사항에 따라 프로젝트를 조정할 수 있습니다.
저는 얼마 전에 개인적으로 이 기능을 조사한 후 크로스 플랫폼 개발을 가능하게 하는 다른 프레임워크와 차별화되는 고유한 접근 방식을 발견했습니다. 이 기사에 설명된 대로 Kotlin Multiplatform이 아직 초기 단계에 있을 때 그 잠재력을 기대합니다.
3. Kotlin 멀티플랫폼(KMP)과 Flutter
위에서 언급했듯이 Kotlin Multiplatform은 실제로 다른 모바일 개발 프레임워크와 다릅니다. 프레임워크가 아닌 플랫폼입니다.
따라서 이는 실제로 사과 대 사과 비교가 아닙니다. 초기 Kotlin Multiplatform은 특히 iOS 및 Android UI 특정 영역에서 기본 개발에 여전히 많이 의존하고 있습니다.
Jetpack Compose + Kotlin 멀티플랫폼
그러나 최근 몇 년 동안 JetBrain은 Jetpack Compose를 Kotin Multiplatform으로 전환하고 이를 Compose Multiplatform 이라고 불렀습니다.
이를 통해 iOS와 Android의 기본 UI 측면을 동시에 개발하고, 플랫폼 측면에서 위로 확장하고, 두 플랫폼 모두에서 작업할 필요성을 줄일 수 있었습니다.
Compose Multiplatform은 선언적 사용자 인터페이스를 한 번 빌드하고 이를 여러 대상 플랫폼에 사용할 수 있게 해주는 Kotlin Multiplatform 애플리케이션의 선택적 레이어입니다. ( 원천 )
이러한 발전으로 인해 Flutter 제품에 대한 매우 훌륭한 경쟁자가 되었습니다. Google에서 만든 것은 아니지만 Google에서 거의 지원합니다.
Reddit에도 토론이 있으며 이 영역에서 KMP의 잠재력을 보여줍니다: https://www.reddit.com/r/FlutterDev/comments/1afeo2r/has_anyone_used_compose_multiplatform/
Google에 대한 Flutter의 가치 제안은 무엇인가요?
Flutter는 처음에는 급성장하는 모바일 개발 환경에 대한 투자, Oracle과 Google 간의 Java 소송과 관련된 위험 완화 등 다양한 영역을 해결하는 Google의 전략적 움직임이었습니다.
그러나 Kotlin의 눈부신 성공과 Kotlin Multiplatform의 유망한 잠재력, Google과 IntelliJ의 강력한 협력으로 인해 모바일 개발 환경이 재편되었고, 그로 인해 Google에 대한 Flutter의 원래 가치 제안이 줄어들었습니다.
Flutter는 여전히 Google의 성공입니다.
그럼에도 불구하고 Flutter는 Alibaba, ByteDance 및 Google과 같은 주요 공급업체가 Google Pay 및 Google Earth와 같은 앱을 채택하여 상당한 성공을 거두었습니다( 출처 ). 더욱이, 계속해서 채택을 옹호하는 번성하는 Flutter 커뮤니티가 있습니다.
Fuchsia 팀은 약간의 규모 축소를 겪었지만 프로젝트는 현재까지도 활발하게 진행되고 있습니다.
Google의 다음 행보에 베팅합니다.
내 예측은 Google이 가까운 미래에 Flutter를 유지할 가능성이 높다는 것입니다. 최고의 선택은 아니더라도 최고의 크로스 플랫폼 모바일 개발 프레임워크 중 하나로 남아 있습니다. 따라서 2024년 5월 1일에 지원이 종료된 Xamarin처럼 Google이 이를 갑자기 중단할지는 의문입니다( 출처 ).
Flutter 및 Dart 팀의 점진적인 축소로 인해 개발 속도가 느려지는 반면 Google은 모바일 환경에서의 지배력, JetBrains와의 파트너십, 커뮤니티의 참여 및 기술 방향을 관찰합니다.
개인적으로 나는 모바일 프레임워크를 지지하는 사람은 아니지만( 여기 내 기사에서 논의한 대로), 커뮤니티가 Flutter에 크게 의존하고 있다는 점을 고려하여 Google이 다른 많은 프레임워크( source1, source2 ) 에서 그랬던 것처럼 Flutter를 완전히 포기하지 않기를 바랍니다.
최소한 Google이 최종 결정을 내리기 전에 커뮤니티 지원에 개방하는 것을 고려하기를 바랍니다.
동료 Flutter 개발자들에게 최선을 다하길 바랍니다!
*참조한 원본 글 https://elye-project.medium.com/is-flutter-facing-its-end-9da4d42334f9
'인생그것은약속위반 > 관심' 카테고리의 다른 글
닛산은 시끄러운 "가라오케" 밴 컨셉으로 성공을 거두었습니다. (0) | 2024.05.18 |
---|---|
매우 기대되는 신규 안드로이드 업데이트의 멋진 기능 5가지 (15버전 이후) (0) | 2024.05.18 |
독서(책) 애호가를 위한 필수 앱 11가지 (1) | 2024.05.18 |
댓글