모바일 애플리케이션은 해마다 더욱 대중화되고 있으며, 다행히도 개발자들이 활용할 수 있는 도구 또한 다양합니다. 그중에서도 최근 각광받고 있는 것이 바로 구글의 Flutter입니다.
Flutter란 무엇인가?
Flutter는 구글이 2017년 5월 출시한 무료 오픈소스 모바일 UI 프레임워크입니다. 한마디로 요약하면, 하나의 코드베이스만으로 네이티브 모바일 앱을 만들 수 있게 해주는 도구입니다. 즉, 하나의 프로그래밍 언어와 하나의 코드베이스로 iOS용과 Android용 두 가지 앱을 동시에 개발할 수 있습니다.
Flutter는 크게 두 가지 핵심 요소로 구성됩니다.
- SDK(Software Development Kit): 애플리케이션 개발에 필요한 도구들의 모음입니다. 작성한 코드를 iOS와 Android용 네이티브 머신 코드로 컴파일해 주는 도구들도 포함되어 있습니다.
- 프레임워크(위젯 기반 UI 라이브러리): 버튼, 텍스트 입력창, 슬라이더 등 재사용 가능한 UI 요소들의 집합으로, 필요에 맞게 자유롭게 커스터마이징할 수 있습니다.
Flutter로 개발할 때 사용하는 언어는 바로 Dart입니다. Dart는 2011년 10월 구글이 만든 언어로, 지난 몇 년간 눈부시게 발전해 왔습니다.
Dart는 프론트엔드 개발에 특화되어 있으며, 모바일과 웹 애플리케이션 제작에 모두 활용할 수 있습니다.
프로그래밍 경험이 조금이라도 있다면 Dart는 충분히 익힐 수 있습니다. Dart는 타입 시스템을 갖춘 객체지향 언어로, 문법은 JavaScript와 비교해 볼 만합니다.
"Flutter는 단일 코드베이스로 모바일, 웹, 데스크톱에서 아름답게 동작하는 네이티브 컴파일 애플리케이션을 만들기 위한 구글의 UI 툴킷입니다." — Google, flutter.dev
Flutter를 배워야 하는 이유
제가 Flutter를 좋아하고 앞으로 계속 사용하고 싶은 이유 몇 가지를 정리했습니다. 아래에서 자세한 내용과 솔직한 후기를 확인해 보세요.

배우고 사용하기 쉬움
Flutter는 현대적인 프레임워크라는 점을 실감하게 됩니다. 모바일 앱 개발이 훨씬 간단해집니다. Java, Swift, React Native를 사용해 본 적이 있다면 Flutter가 얼마나 다른지 바로 느낄 수 있을 것입니다.
저 역시 Flutter를 접하기 전까지는 모바일 앱 개발이 그다지 마음에 들지 않았습니다.
Flutter의 가장 큰 매력은 적은 코드만으로 진짜 네이티브 애플리케이션을 만들 수 있다는 점입니다.
빠른 컴파일, 극대화된 생산성
Flutter 덕분에 코드를 수정하고 결과를 실시간으로 확인할 수 있습니다. 이것이 바로 '핫 리로드(Hot Reload)'입니다. 저장 직후 짧은 시간 안에 앱 화면이 업데이트됩니다.
대규모 변경이 있을 때는 앱을 다시 로드해야 하지만, 디자인 작업 중 요소의 크기를 조정하는 정도의 수정은 실시간으로 반영됩니다!
스타트업 MVP에 최적
투자자에게 제품을 최대한 빨리 선보이고 싶다면 Flutter가 좋은 선택입니다.
MVP 개발에 Flutter를 추천하는 핵심 이유 4가지는 다음과 같습니다.
- iOS와 Android용 앱을 따로 만들고 유지보수할 필요가 없어 개발 비용이 크게 절감됩니다.
- 개발자 한 명만으로도 MVP를 완성할 수 있습니다.
- 성능이 뛰어나 네이티브 앱과 Flutter 앱의 차이를 거의 느낄 수 없습니다.
- 디자인이 아름답습니다. Flutter가 제공하는 위젯을 손쉽게 활용하고 커스터마이징하여 고객에게 가치 있는 UI를 만들 수 있습니다(아래에서 Flutter로 만든 앱 예시를 확인하세요).

훌륭한 공식 문서
새로운 기술에는 좋은 문서가 필수적이지만, 항상 갖춰져 있는 것은 아닙니다.
Flutter의 문서는 학습할 거리가 풍부하고, 기본 사용 사례마다 상세한 설명과 이해하기 쉬운 예제가 함께 제공됩니다. 저도 위젯 관련 문제가 생길 때마다 문서를 확인했고, 그럴 때마다 답을 찾을 수 있었습니다.

성장하는 커뮤니티
Flutter는 탄탄한 커뮤니티를 갖추고 있으며, 아직 시작에 불과합니다!
저는 웹사이트에서 프로그래밍 지식과 유용한 콘텐츠를 공유하는 것을 좋아하는데, 그만큼 잠재력이 크고 많은 지지자가 있는 기술을 다루고 있다는 확신이 필요합니다.
Flutter를 처음 접했을 때 가장 먼저 한 일은 커뮤니티를 찾아보는 것이었는데, 의외로 정보를 교환할 수 있는 곳이 상당히 많았습니다.
제가 매일 확인하는 곳 몇 곳을 소개합니다. 추천할 만한 곳이 있다면 Twitter로 메시지를 보내주세요.
- Flutter Awesome: 최고의 Flutter 라이브러리와 도구를 엄선해 소개하는 목록 사이트입니다. 매일 예제, 앱 템플릿, 팁 등 다양한 콘텐츠가 게시됩니다.
- Awesome Flutter: Flutter Awesome과 연동된 GitHub 저장소로, 아티클, 영상, 컴포넌트, 유틸리티 등이 체계적으로 정리되어 있습니다.
- It's all widgets!: Flutter로 만든 앱을 모아볼 수 있는 오픈 목록입니다.
- Flutter Community: 아티클과 튜토리얼 등을 만날 수 있는 Medium 출판 채널입니다.
Android Studio와 VS Code 지원
Flutter는 다양한 IDE에서 사용할 수 있습니다. 이 기술로 개발할 때 가장 많이 쓰이는 코드 에디터는 Android Studio(IntelliJ)와 VS Code입니다.
Android Studio는 모든 기능이 통합된 올인원 소프트웨어입니다. Flutter와 Dart 플러그인만 설치하면 바로 개발을 시작할 수 있습니다.
VS Code는 가볍고 빠른 도구로, 마켓플레이스의 플러그인을 통해 원하는 환경을 자유롭게 구성할 수 있습니다.
저는 별도 설정 없이 바로 작업할 수 있는 Android Studio를 사용하고 있습니다.
여러분은 선호하는 IDE를 자유롭게 선택하면 됩니다!
보너스: 프리랜서에게 유리
프리랜서 일을 시작하고 싶다면 Flutter를 적극적으로 고려해 보세요.
2020년에는 이 기술이 폭발적으로 성장할 것으로 전망됩니다. 그만큼 Flutter를 다룰 줄 아는 개발자에 대한 수요도 함께 늘어날 것입니다.
프랑스 최대 프리랜서 플랫폼인 Malt가 최근 발표한 올해의 기술 트렌드에 따르면, Flutter는 2018년부터 2019년 사이 무려 +303% 성장했습니다.

결론
지금까지 살펴본 내용, 어떻게 생각하시나요? 올해 Flutter를 배워볼 계획이 생기셨나요?
이 글이 여러분께 흥미와 동기를 불어넣어 줬기를 바랍니다. 도움이 되었다면 주변에 공유해 주세요.
이런 콘텐츠가 더 필요하다면 Twitter에서 저를 팔로우해 주세요. 웹 개발, 자기계발, 그리고 풀스택 개발자로서의 여정에 대한 이야기를 꾸준히 나누고 있습니다!