sysong7***
2021-02-18

유용하고 효율적인 플러터로 수준 높은 모바일 애플리케이션을 구축하는 방법을 소개한다. 다트 기초를 간단히 살펴보고 플러터의 방대한 내장 위젯으로 아름다운 UI를 구현하는 방법을 자세히 알아본다.
누구나 쉽게 앱개발을 시작할 수 있을까?
은행의 계정계 프로그램으로 Web 개발자로 커리어를 시작한 후 문득 비대면 강화가 추세인 요즘, 어떻게 하면 App 개발도 이해할 수 있을지에 대해 늘 고민이 되었다. 마치 전혀 다른 분야여서 진입 장벽이 높게만 느껴졌기 때문도 있을 것이다.
하지만, Flutter in Action은 오픈 소스를 통해 제목처럼 (in Action) 생동감있는 App 개발을 체험할 수 있도록 안내하고 있다. 특히 Flutter의 초기버전부터 접해온 저자가 전하는 최신 App 개발의 처음부터 끝까지 한 Cycle을 그려볼 수가 있다.
이 책은 크게 4개의 Part로 나누어져 있다. Part1. 플러터와 다트 Part2. 사용자 상호작용과 스타일, 애니메이션 Part3. 상태 관리와 비동기 작업 Part4. 기초를 넘어Part1은 이 책에서 "Flutter 개발 걸음마 떼기"와 같은 존재이다. 단순히 이 책은 넘어 Flutter를 사용한 App 개발에 필요한 개념들을 모두 소개한다. 예를 들면, Flutter가 사용하는 프로그래밍 언어인 다트나 SDK(Software Development Kit)와 같은 것들이 그 예이다. Flutter로 App 개발하기 준비운동이 끝났다.Part2에서는 Flutter UI와 위젯을 살펴보는 장이다. Part1에서는 내부적으로 Flutter가 어떻게 동작하는지를 살펴보았다면, 실제 사용자가 만나는 App의 얼굴인 UI와 그 동작에 대해 살펴본다. 실제 Part1과 Part2 만으로도 Flutter를 이용한 App 개발은 끝났다고 볼 수 있다.Part3은 이전과 조금 다른 내용을 다루는데, 바로 "상태관리"이다. 화면의 데이터에 따라서 동적으로 UI를 동적으로 구현하는 것을 의미하는 것 같다. 쉽게 구현하진 못하지만, 중요한 관점을 소개하고 있다.Part4에서는 Flutter와 직접 연관이 있지 않으나, App에서 필요한 기능을 다룬다. 내가 만든 App을 어떻게 Test하고 보완할지에 관해 소개하고 있다. 개발자라면, Test는 가장 중요한 주제이지만 잊기도 쉬운 주제일 것이다.
1. Flutter의 상세한 가이드와 예제
Flutter in Action은 시중에 나온 Flutter 관련 서적 중 가장 최신의 책이다. 그리고 Flutter를 알파버전부터
사용해 온 저자가 직접 전하는 App 개발에서 필요한 개념과 객체지향 프로그래밍의 이해 그리고 부족하지 않은 실습은 눈 여겨볼 만하다.
특히, 본격적인 Flutter를 사용한 App 개발을 시작하면서는 라인별로 굉장히 자세한 주석을 기재하였기 때문에 혼자 공부하더라도 부족함이 없을 것이라 생각한다.
2. App 개발 시작부터 Testing까지 Cycle을 아우르는 개발서적
대개 개발관련 서적을 보면, 그 언어로 특정 프로그램을 작성해보고 실행결과를 보는 것에서 그치는 반면, 저자는 "테스트" 과정까지도 소개하고 있다. 테스트는 프로그램을 넘어 프로젝트의 품질을 좌우하는 중요한 단계이나 지나치기 쉬운 부분이기도 하다는 것을 몸소 배웠기에 이 책에서 가장 마음에 드는 부분이었다.
개념 - 개발 실습 - 테스트 App 개발의 한 Cycle을 경험해 보는 것은 정말 중요하다가고 생각한다. 내가 만든 App이 의도한 기능 뿐 아니라, 사용자의 관점에서 오류를 잡아내고 개선할 수 있는 중요한 단계이기 때문이다.
3. 친철한 저자의 강의 구성
이 책에서 도움을 많이 받은 것은 내용보다도 구성이다. 도입에서 상세하게 어떤 내용을 다룰지 소개가 되어 있으나, 본문에서 소개되는 여러 코드와 개념으로 방향을 잃지 않도록 여러 차례 가이드를 해주고 있었다.
도입에서 Chapter에서 다룰 주요 내용을 소개한 후, 본문에 들어가서도 다시 한번 전체적인 흐름을 요약해주고 있다. Part의 맨 마지막에서는 친절하게도 Chapter에서 가장 중요한 내용들을 다시 한번 더 소개해주고 있다.
마치 독자가 길을 잃지 않도록 셰르파 역할을 톡톡히 해주고 있는 것이다. 기술 관련 서적을 읽다보면 장 마다 다루는 내용들이 얽히고 예제 문제들을 지나다보면, 중요한 내용을 잊을 때가 있었다. Flutter in Action의 저자는 이러한 것을 우려한 것일까.
다양한 예제와 이미지로 코드에 한참 빠져있다가도, "사실 그보다 중요한 맥락은 이것이었어" 라는 것을 알려주기라도 하듯 정리를 해주고 있기 때문에 읽으면서 불편하지 않았다.
[단점]
Flutter를 주제로 하고 있지만, 상당 부분을 "개발"을 이해시키는 것에 할애하고 있기 때문에 화려하고 복잡한 App 구성에서 오는 어려움을 해소하기 위해 찾는 독자들에게는 아쉬움이 남을 것이다.
하지만, 이렇게 얇은 두께에 전반적인 개발 방법을 소개하고, 하나의 오픈소스와 더불어 개발의 Cycle을 이해할 수 있는 내용을 소개한다는 것에서 좋은 가이드가 틀림없다.
[기대하는 점]
App을 위한 Flutter 말고도 Web을 위한 Flutter가 출판 당시에 베타 버전이 기술 검토 중이라고 소개가 되어 있는 것에 굉장히 설렌다. App UI와 동작을 간단하고 쉽게 구현할 수 있었던 것이 Web 버전에서도 가능하다면 또 하나의 프레임워크로서의 역할을 하는 Flutter가 기대된다.
[추천]
App 개발에 입문하는 사람
언어에 상관없이 "개발"을 이해하고 싶은 사람
최신의 오픈소스 사용법이 궁금한 사람
Flutter in Action을 추천하고 싶다.
[소감]
막연히 App 개발도 공부해야지 했던 필자가 2주 간 Flutter를 사용해 App 개발을 이해하고 실습하면서 크게 느껴졌던 진입장벽이 무색하게 되었다. 필자와 같이 객체지향에 대한 개념은 있지만 App 개발이 처음인 사람에게 절대 부담스러운 양의 내용은 아닐 것이다.
덧붙여 앞으로 Web을 위한 Flutter를 지켜보게 될 것 같다. 직장에서 사용할 일은 없겠지만, 나중에 개발 관련 컨텐츠를 게시하는 홈페이지를 만드는 작은 프로젝트를 진행해보고 싶다.