본 게시글은 Flutter in Production 컨퍼런스 참여 후 작성한 글입니다.
들어가며..
이번 세션의 발표자는 컨퍼런스 당일, 건물 들어갔을 때 막 이번 컨퍼런스 설명도 해주시고 Flutter Seoul 소속 명함을 주신 에이든 님이다.
그러고 보니 지난 Flutter AI 컨퍼런스 때에는 앱 개발 workflow 에 대한 내용을 발표를 하셨었던게 기억난다.
pc 와 web, mobile 과 mobile pltorm SDK, IOS 등 정말 다양한 분야에서 다양한 기술을 활용해서 개발을 하고 계시다고 들었다. (리스펙...)
AI 에 관심이 많아 AA기업에 오래 다니다가 AI 스타트업으로 이직하셨다 들었고,
멀티 플랫폼 개발 도구에 관심이 많으며 그 중 Flutter 에 매료되어 Flutter 에 대해 공부 중이라고 들었다.
잡담..
나는 개인적으로 평생을 window 와 Android 만 사용해와서 업무도 Android 쪽을 주로 맡게 되었었다. (물론 처음에는 백엔드, 웹 등의 업무를 하기도 했었지만)
사실 ios 쪽은 관심이 거의 없었기 때문에, 멀티 플랫폼에 많은 관심이 있었던 것은 아니었다.
그런데 회사에서 우연한 계기로 Flutter 를 접하게 되었고, 놀라운 개발 생산성에 신세계를 접하게 된 기분이었다.
특히, Android 에서 grdle 설정에 지쳐있었던 터라 관심이 확 생기기 시작했었다.
위젯 preview 도입 배경(아직 정식은 아니지만..)
최초에 제안된 것은 2022 년이었다. (github 이슈)
내용을 잠깐 보자면, dart 코드만 봐서는 해당 위젯이 어떤 형태인지 알 수 없다는 내용이 나온다.
Andorid 의 Compose Preview 나 Swift 의 UI 와 같이 위젯의 형태를 볼 수 있으면 좋겠다, 라는 내용이다.
이 제안에 대해 계속 토론하다가 24년 3월 27일에 담당자가 배정되면서 widget preview 에 대한 지원 계획이 공식화 되었다!!
그리고 마침내 12월, Flutter "3.28.0-1.0.pre" 버전에서 preview 라는 커맨드와 함께 사용 가능하도록 지원이 된 것이다.
FVM
여기서 잠깐!
정식으로 나온 Flutter 버전은 3.27, 하지만 widget preview 가 포함된 버전은 3.28.0.-... 버전이다.
여기서 필요한게 FVM(Flutter Version Manager) 이다.
정식 릴리즈되지 않은 Flutter SDK 버전을 손쉽게 사용할 수 있게 해준다.
Flutter widget preview 어떻게 사용할까?
flutter widget-preview start : 프리뷰 스케폴드 생성
flutter widget-preview clean : 생성된 스케폴드 삭제
하지만..
위젯 프리뷰는 현재 초기 개발 단계이며, 윈도우 환경에서만 동작한다.
어떻게 활용하면 좋을까?
사실 flutter 에서는 hot reload 가 있기 때문에 preview 기능이 크게 필요 없을 지도 모른다..
하지만 그럼에도 불구하고 이 기능이 있다면!
위젯 수준에서 UI 를 빠르게 테스트 할 수 있고, SoC(관심사 분리)가 이루어진 코드에서 효과적일 것이다.
마지막으로 어떻게 동작되는지 살펴보도록 하자.
이미지 출처: https://docs.google.com/presentation/d/12_CThrF4fExoJuh8vNCIu-PgvGi0i0lCRYhKCw1RRjg/edit?usp=sharing
