〈초보자도 프로처럼 만드는 플러터 앱 개발〉 (이정주, 디코딩)

Даня[다냐]·2023년 10월 28일
0

서평

목록 보기
9/12
post-thumbnail

〈초보자도 프로처럼 만드는 플러터 앱 개발〉

도서명저자출판사출간일예제 파일
초보자도 프로처럼 만드는 플러터 앱 개발이정주디코딩2023.09.08.링크

이 책은...

플러터에 입문하는 이들로 하여금 확실한 로드맵을 가지고 나아갈 수 있도록 안내한다. 앱 개발 과정을 빠르게 훑어본 후 자세히 알아보는 구성은 입문자들이 방향성을 잡고 학습하기 수월하게 한다. 단순히 "크로스플랫폼 앱 개발 프레임워크"라는 것 이상으로 플러터의 특징을 소개함으로써 자의적이든 타의적이든 플러터를 다루고자 하는 이들이 기술에 대한 목적성을 명확하게 갖도록 도와준다. 다트 문법에 대해서도 간결하면서도 실속있게 설명하고 있어, 다트 언어에 익숙하지 않은 사람도 실습을 따라가는 데 어려움이 없을 것으로 보인다.

2023년 5월 구글 I/O에서 발표된 내용을 포함하는 등 다트 3의 최신 정보를 바탕으로 작성되어, 플러터의 최신 기술을 담고 있다. 부록에서는 책 인쇄 직전 시기에 해당하는 2023년 8월 16일에 공식적으로 발표된 플러터 3.13에서의 주요 변경사항을 정리해놓음으로써 최신 정보를 보다 잘 담아내고자 한 저자의 노력이 드러난다. 또한 이후의 버전 업데이트 관련 내용을 깃허브에서 이어서 다룸으로써 책의 시의성이 떨어지지 않도록 한다.

전반적으로...

일반적인 개발 서적이 그렇듯 맥과 윈도우에서 실습을 하는 방법에 대해 알려준다. 우분투 사용자로서는 "플러터 여정 시작하기" 파트는 책을 보면서 따로 구글링도 하며 따라가야 하나 했지만, 공식 웹사이트에 들어가서 다운로드하고 등등의 과정은 운영체제별 차이가 크지 않아 적당히 책만 보고도 진행할 수 있었다.

따로 찾아본 건 안드로이드 스튜디오를 설치할 때 다음과 같이 설치할 수 있다는 것 정도?

$ sudo apt-add-repository ppa:maarten-fonville/android-studio
$ sudo apt update
$ sudo apt install android-studio

앱 개발 과정을 빠르게 훑어보는 Chapter 03에서는 앱 개발에 있어서 필요한 코딩 외적인 부분들에 대해 살펴보고, 기획 및 목업 작성부터 상태 관리, 서버 통신 등의 작업을 거쳐 배포하기까지의 과정이 존재함을 알아본 후, 예제 앱의 러프한 구성을 직접 구현해본다. 이로써 각 페이지는 어떻게 구성되고 위젯은 어떻게 구성되는지, 플러터에서는 상태 관리를 어떻게 수행하는지 등에 관해 직접 살펴보며 익힐 수 있다.

조금 아쉬운 건, "screens/list_screen.dart 파일을 생성하고 (이하생략)"라고 하면 프로젝트의 루트 디렉토리에 생성하라는 것 같은데 이 파일의 경로는 $PROJECT_ROOT/lib/screens/list_screen.dart 라는 것이다. 그 앞에 models/ 디렉토리를 생성할 때는 lib 안에 생성하라고 했는데 screens/ 디렉토리를 생성할 때는 별 말이 없어 헷갈리기 쉬울 것 같다. 물론 더 앞에서 파일 구조를 보여주었기에 lib/screens/ 라는 걸 알 수는 있긴 하지만... 직관적이지 않은 느낌? 익숙한 사람들은 "당연히 소스코드는 lib/ 안에 있어야지" 할 수도 있겠지만, 이 책으로 개발을 처음 입문하는 사람이 있다면 헷갈릴 수 있을 것으로 판단된다.

또한, 코드가 없던 부분에 내용이 추가된 경우는 문제 없이 알아볼 수 있지만, 기존의 위젯 바깥에 새로운 위젯을 씌우는 경우와 같이 코드 중간 일부가 변경된 경우에는 파악하기가 어려워, 변경된 부분을 볼드 처리하거나 색상을 다르게 하여 구분해주었으면 좋았을 것 같다.

약간 불필요하게 반복되는 부분이 있다는 점도 아쉬운 부분 중 하나다. 가령, '상세 화면으로 이동' 주석 부분에 코드를 작성하는 내용이 상세 화면 구현 직후에도 있고 뒤에 내비게이션 섹션에서도 있어서 중복된다거나?

보다 자세히 살펴보며 구체적인 앱 개발 과정을 밟는 Chapter 04에서는 플러터의 UI 개념에 대한 보다 심층적인 이야기로 시작하여 위젯에 대해 구체적으로 살펴본다. 주요 위젯은 어떤 것이 있으며 어떻게 사용할 수 있는지, 그리고 상태를 관리하는 주요 함수는 어떤 것이 있으며 어떻게 사용할 수 있는지 살펴봄으로써, 데모 앱이 아닌 다른 앱을 만들더라도 독자가 필요한 기능을 찾아 사용할 수 있도록 돕고 있다.

다만, 여기에도 설명이 아쉬운 부분이 있다. Customer 에 대해 이야기하면서 return 으로 시작되는 코드블록을 넣어 놨는데, 이게 어느 함수에서 반환하는 건지 모르겠다. 관련 예제 코드가 제공되어 있을까 확인해봤더니 CHAPTHER 04 로 시작하는 압축파일은 없더라. (나중에 보니까 board_app 이 Chapter 04 내용이긴 한데, 이 부분과는 상관 없는 뒷부분 내용이고...) 전역 상태 관리에 대해 좀 아는 사람이 보면 이해가 잘 될지 모르겠지만, 나 같은 초보자가 보기엔 이해하기가 너무 어려웠다.

플러터와 직접적으로 관련있지는 않은 파이어베이스나 스토어에 등록할 때 알아야 할 점 및 등록 방법과 같은 부차적이면서도 앱 개발과 연관된 내용을 상세하게 다루는 점은 좋았다. 자칫 간과하기 쉬운 내용이지만 앱을 개발하고 배포하는 과정에서 빠질 수 없는 부분이니 말이다.

마지막으로 파이널 프로젝트가 진행되는 Chapter 05에서는 앞의 내용을 다 이해했다는 전제 하에 간단한 앱을 함께 구현해보는 시간을 갖는다. 배운 내용을 전반적으로 활용하고 있을 뿐더러 실제 앱 개발 시 활용하게 될 수 있는 구글 지도와 같은 외부 라이브러리를 사용하는 방법을 다루고 파이어베이스를 통해 서버 통신을 직접 해본다는 점에서 단순히 배운 내용을 정리하는 것을 넘어서 독자로 하여금 보다 효과적인 성장을 할 수 있게 한다.

이런 사람에게...

아무래도 iOS 앱 개발을 위해서는 flutter라는 크래스플랫폼 앱 개발 프레임워크뿐만 아니라 xcode가 설치된 MacOS의 기기가 필요하므로 맥북을 가지고 있는 개발자가 모든 내용을 빠짐 없이 익힐 수 있을 것이다. 그렇다고 해서 Windows나 Linux 사용자가 못 따라갈 정도는 아니긴 하지만 아무리 크로스플랫폼 앱 개발 프레임워크라도 iOS가 오픈소스가 아닌 이상 어쩔 수 없는 한계는 존재한다.

이론적인 부분은 세세하게 담고 있는 반면 실습 부분에서는 부차적인 부분들을 많이 생략하여, 크로스플랫폼 앱 개발은 처음이지만 코딩 경험이 어느 정도 있는 개발자가 플러터를 공부하기에 적절한 책인 것 같다.


📚 한빛미디어 〈나는 리뷰어다〉 활동을 위해서 책을 제공받아 작성된 서평입니다.

profile
연극인 정단휘 鄭丹輝; 가끔은 출판인; 어쩌면 체육인?; 개발자들 사이에서 다른 이야기를 중얼거려 봅니다👀

0개의 댓글