Flutter의 '프로덕션 시대' 기념

12월 17, 2024
Michael Thomsen Group Product Manager

이 기사는 Flutter에 교차 게시됨


저희는 불과 6년 전에 Flutter 1.0을 선보였습니다. 오늘은 커뮤니티에서 활동하며 도움을 주시는 수천 명의 참여자로부터 받은 엄청난 지원부터 멀티 플랫폼 앱 경험을 개발하기 위한 프로덕션급 앱 프레임워크로서 Flutter의 폭넓은 채택에 이르기까지, 그동안의 성공을 #FlutterInProduction에서 기념하고자 합니다.

아직 Flutter를 경험해 보지 않은 분이라면 꼭 한번 사용해 보시기 바랍니다! 앞서 말씀드렸듯이 여러분은 아주 많은 사용자에 합류하게 됩니다. Flutter는 전 세계 월간 활성 개발자 수가 1백만 명 이상이며, 모든 새로운 iOS 앱의 약 30%를 구동합니다. 90,000명 이상의 개발자가 60여 개 국가에서 Flutter Meetup에 적극적으로 참여하고 있습니다. 성공적인 Flutter 앱을 새로 디자인하거나 개발하는 데 도움이 필요한 분을 위해 Flutter 컨설턴트 목록을 마련해 두었습니다. 이 목록은 지금도 방대하지만 계속해서 새로운 컨설턴트가 추가되고 있습니다.

“Apptopia는 Apple AppStore 및 Google Play 스토어에서 수백만 개의 앱을 추적하고, 앱을 만드는 데 사용된 개발자 SDK를 분석하고 감지합니다. Flutter는 저희가 추적하는 가장 인기 있는 SDK로 손꼽힙니다. Apple AppStore에서는 사용 비중이 꾸준히 증가해, 2021년에는 추적된 전체 무료 앱의 약 10%가 사용했지만 2024년에는 거의 30%를 기록했습니다!”
— Apptopia Inc.

프로덕션 시대를 목표로 달려온 혁신의 10년

(지금은 실험의 시대라고 부르는) 2014년부터 코드명 'Sky'라는 Google 실험으로 시작한 놀라운 여정이었습니다.

Flutter가 등장하기 전에는 타협이 불가피했습니다. 어느 한 프레임워크가 여러 플랫폼에서 진정한 프리미엄 경험을 제공할 수 있을지에 대해 많은 개발자가 회의적이었습니다.

저희는 그와 같은 기술 딜레마를 해결하겠다는 분명한 사명을 갖고 2018년 Flutter 1.0을 출시하게 되었습니다. 모든 플랫폼에서 보기에도 좋고 성능도 뛰어난 사용자 인터페이스를 제작할 수 있는 최고의 앱 프레임워크로 개발자에게 힘을 실어주고자 했습니다. 또한 개발자가 더 적은 비용더 짧은 시간을 들여 고객이 관심을 갖는 모든 플랫폼에서 고품질 앱으로 모든 고객에게 다가갈 수 있도록 돕고자 했습니다.

모바일, 웹, 데스크톱에 걸쳐 6가지 주요 플랫폼에 대한 지원을 추가하면서도 Flutter의 성장기 내내 저희의 초점은 바뀌지 않았습니다. 그뿐만 아니라 Toyota에서 인포테인먼트 시스템용 Flutter를 사용하도록 지원하는 등 계속해서 그 이상의 목표를 향해 전진해 왔습니다.

Flutter production timeline over the last decade

이제 '프로덕션 시대'로 들어선 지금, 이를 #FlutterInProduction으로 기념합니다! 이번 이벤트에서는 실제 애플리케이션에서 Flutter를 사용하는 여러 개발자의 성과를 집중 조명합니다.

Link to Youtube Video (visible only when JS is disabled)

커뮤니티와 제휴해 추진하는 개발

도움을 주신 1,400여 분과 50,000개 이상의 패키지를 작성한 10,000여 명의 패키지 게시자 그리고 열정적인 Flutter 콘텐츠 제작자와 애호가로 구성된 멋진 커뮤니티가 없었다면 이 모든 것은 불가능했을 겁니다.

모든 구성원이 함께 참여해 만든 프로젝트가 GitHub 톱 5 오픈소스 프로젝트에 이름을 올렸습니다!


놀라운 사용자 경험

이 모든 성과는 놀라운 사용자 경험의 실현에 초점을 맞추는 데서 시작합니다. Flutter는 일반적인 플랫폼 제약 조건 없이 광범위한 디자인 언어 세트를 지원하는데, Material Design과 Apple에서 영감을 받은 Cupertino 위젯은 SDK 제공 시 함께 지원됩니다. 이 생태계는 또한 Windows에서 영감을 받은 fluent_ui, macOS에서 영감을 받은 macos_ui, Ubuntu에서 영감을 받은 yaru 위젯 등 광범위한 디자인 라이브러리를 제공합니다.


스칸디나비아 항공(SAS)이 수상한 디자인상

Flutter를 사용하면 디자인 팀에서 구상하는 모든 디자인을 유연하고 강력하게 실현할 수 있습니다. Flutter로 새로운 모바일 앱을 만든 후 레드닷 디자인 어워드, 웨비 어워드의 피플스 보이스상, iF 디자인 어워드의 골드상 등 권위 있는 디자인상을 휩쓴 SAS의 사례가 이를 잘 보여줍니다. SAS의 Charlotte Svensson EVP 겸 CIO는 이렇게 설명합니다.

"단순히 업계에서 수여하는 상이 아니라 전 세계적으로 인정받는 디자인상을 받게 되어 매우 자랑스럽습니다. 이 상은 저희가 고객 경험 개선에 집중하면서 한계를 넘어서고 고객과 함께 상호 작용하며 발전할 때 어떤 일을 해낼 수 있는지에 대한 증거입니다. SAS는 항상 항공 산업의 혁신에 앞장서 왔으며, 이 상은 고객에게 탁월한 디지털 솔루션을 제공하기 위해 저희가 기울여 온 헌신적 노력을 인정받았다는 데 의미가 있습니다."
Scandinavian Airline design awards

뛰어난 성능과 신뢰성

성능과 신뢰성은 긍정적인 사용자 경험과 브랜드 인식을 위해 매우 중요합니다. 속도가 느리거나 장애가 잦은 앱은 단기간에 사용자에게 실망감을 안겨줄 뿐 아니라 부정적인 리뷰와 입소문을 통해 장기적으로 브랜드 인지도를 손상시킬 수도 있습니다.

Flutter는 처음부터 성능과 신뢰성을 우선시했습니다. 저희는 Dart 프로그래밍 언어를 선택하여 네이티브 기계어 코드 또는 웹 어셈블리에 대한 사전 컴파일을 통해 빠른 시작 시간을 보장합니다. Dart의 풍부한 null 안전형 시스템은 개발 중에 오류를 포착하여 신뢰성을 더욱 향상시키는 데 도움을 줍니다. 또한 멀티 플랫폼 UI용으로 특별히 설계된 Flutter의 맞춤형 Impeller 렌더링 엔진은 자연스러운 애니메이션을 제공하며 UI 소스 코드부터 GPU까지 렌더링 스택을 하향식으로 완벽하게 제어할 수 있게 해줍니다.


유니버설 스튜디오가 얻은 성능과 신뢰성

예를 들어, 유니버설 스튜디오 테마파크(UDX: Universal Destinations and Experiences)에 따르면 최근 Flutter를 채택함으로써 앱 크기를 줄여 인터넷 연결 상태가 불안정한 사용자에게 상당한 이점을 주었을 뿐만 아니라 앱 충돌을 거의 제로 수준으로 획기적으로 줄여 총 소유비용도 낮췄다고 합니다.

Link to Youtube Video (visible only when JS is disabled)

LG전자가 얻은 성능

LG전자는 전통적인 네이티브 앱 개발에 들어가는 높은 비용에 대한 우려 때문에 webOS로 구동되는 스마트 TV를 웹 앱에 의존해 왔습니다. 하지만 웹 앱이 네이티브 앱보다 실행 속도가 느리고 더 많은 메모리를 소비한다는 사실을 알게 되었습니다. LG전자는 Flutter를 통해 빠른 개발 속도와 우수한 성능을 결합한 솔루션을 보유하게 되었습니다. 그 결과, 2025년부터 전 세계 webOS TV의 주요 애플리케이션에 Flutter를 사용할 계획입니다.

Link to Youtube Video (visible only when JS is disabled)

최고 수준의 개발자 경험과 번창하는 생태계

Flutter의 성공은 개발자 경험에 대한 집중에서 그 뿌리를 찾을 수 있습니다. 저희는 스테이트풀(Stateful) 핫 리로드를 통해 즉각적인 개발자 워크플로를 개척했으며, Flutter의 성장기를 거치면서 Flutter DevTools를 추가하여 진단 및 디버깅 워크플로를 대폭 가속화했습니다.

Flutter의 커뮤니티에는 강력한 타사 서비스 및 기술과 더불어 10,000여 명의 게시자가 올린 50,000여 개의 패키지로 구성된 개방적인 생태계가 번성하고 있습니다. 또한 새롭고 성공적인 Flutter 앱을 디자인하거나 개발하는 데 도움이 필요한 분을 위해 수많은 Flutter 컨설턴트가 담긴 목록이 준비되어 있습니다.


MGM과 개발자 생산성

앱 에이전시 Superformula는 2020년 8월부터 Flutter를 사용해 앱을 개발해왔습니다. 그 과정에서 Flutter가 배우기 쉽고 잘 문서화되어 있어 신입 팀원이 빠르게 적응해 실무를 시작하고 효과적으로 기여할 수 있다는 사실을 깨달았습니다.

Superformula는 MGM Resorts에 위치한 400여 레스토랑에서의 디지털 다이닝 경험에 새로운 활력을 불어넣는 데에도 Flutter를 사용했습니다. Flutter 기반의 새로운 MGM Rewards 앱을 단 4개월 만에 재구축하여 전체 코드 양을 절반으로 줄이고 전송 속도를 4배 향상시켰습니다. Superformula의 생산성을 높이는 핵심 요소 중 하나는 모바일, 태블릿 기반 키오스크, 웹 기반 도구에서 코드를 공유하는 기능입니다.

Link to Youtube Video (visible only when JS is disabled)

GEICO user interface elements - Flutter
웹, iOS, Android에서 공유되는 GEICO 사용자 인터페이스 요소.

미래상 엿보기

앞서 말했듯이 Flutter 팀이 향후 몇 년간 수행할 가장 중요한 작업에는 전 세계 수억 명의 사용자에게 Flutter 기반 경험을 제공하는 기업이 요구하는 지원의 깊이와 품질을 꾸준히 유지하는 일이 꼽힙니다.

이처럼 변화하는 니즈에 부응하고자 저희는 다음 몇 가지 핵심 영역에 주력하고 있습니다.

  • 더욱 심층적인 iOS 충실도: Cupertino 위젯을 확장하여 Apple의 디자인 언어에 대한 충실도를 훨씬 더 높이기 위해 꾸준히 노력하고 있습니다. 또한 Swift Package Manager 같은 최신 Apple 생태계 표준을 채택하고 있습니다.

  • 원활한 플랫폼 통합: '직접 네이티브 상호 운용성'이라는 상호 운용성에 대한 새로운 접근 방식을 살펴보고 있습니다. 이러한 상호 운용성이 C, 자바, Kotlin, ObjectiveC 또는 Swift로 사용할 수 있는 플랫폼별 API에 대한 액세스를 간소화할 것으로 생각합니다.

  • 개발자 생산성 향상: 실시간 시각적 속성 편집과 함께 라이브 위젯 미리보기 도구를 제공할 수 있는 잠재적인 새로운 UI 디자인 기능을 탐색함으로써 개발자 도구를 지속적으로 개선하고 있습니다.

  • 간결하고 읽기 쉬운 코드: 개발자 생산성을 높이고자 Flutter 코드를 더 빠르게 작성하고 더 쉽게 읽을 수 있는 방법을 모색하고 있습니다. 여기에는 ‘기본 생성자' 및 ‘enum 약칭’과 같은 잠재적인 신규 언어 기능이 포함됩니다. 또한 공통 코드 작성을 위한 보다 간결한 방법을 제공할 수 있는 새로운 API를 파악하기 위해 Flutter 프레임워크를 검토하는 작업도 진행 중입니다.

Rivers가 정확히 언급한 바와 같이 여러 가지가 확실히 "조금 더 매끄러워졌고 조금 더 전문화" 되었습니다. 그리고 앞으로도 이런 느낌이 쭉 유지되도록 하는 것이 저희의 목표입니다.


#FlutterInProduction을 사용할 준비가 되셨나요?

최근에 Flutter를 사용해 보지 않은 분이라면 이보다 더 좋은 때도 없습니다!

먼저 다른 사람들의 경험을 통해 더 많은 것을 배우고 싶으세요?

  • Flutter 커뮤니티 가입: https://flutter.dev/community에서 현지 모임을 찾아보거나 포럼에 참여하거나 Slack을 통해 소통하세요.

저희는 흔들림 없이 품질과 성능에 중점을 두고 개발자 여러분의 신뢰를 얻고자 최선을 다하고 있습니다. 이에 사용자의 니즈에 부합하는 로드맵을 지속적으로 추진하고 있습니다. 실험의 시대에 개인과 애호가들이 사용하던 수준에서 오늘날에는 대기업이 업무에 핵심적인 기능을 개발하는 데 Flutter를 활용하는 수준으로 Flutter 역시 지난 6년 동안 비약적으로 발전해 왔습니다.

언제나처럼 여러분이 다음에 무엇을 개발할지 정말 기대됩니다. 다음 시간까지 안녕히 계세요!