moo***
2021-02-14

유용하고 효율적인 플러터로 수준 높은 모바일 애플리케이션을 구축하는 방법을 소개한다. 다트 기초를 간단히 살펴보고 플러터의 방대한 내장 위젯으로 아름다운 UI를 구현하는 방법을 자세히 알아본다.
manning 출판사에서 나온 책인 만큼 표지에 독특한 사람의 그림을 확인할 수 있었습니다. 모바일 프로그래밍에서 요즘 인기가 높아지고 있는 플러터에 관한 책이라, 내용을 바로 확인하고 싶었습니다.
이 책의 작가는 플러터 초창기부터 경험을 쌓았던 분이고, 번역가는 실제 모바일 개발을 하고 계신 분이어서, 새롭게 등장한 기술에 대한 설명을 이해도 높게 잘 전달할 것이라 기대가 되었습니다.
작가는 이 책에서 플러터로 개발하는 모든 기초 지식과 UI, 레이아웃, 애니메이션, 스타일링, 네트워크 요청, 상태 관리 등을 전달하고자 의도했습니다. 책이 450페이지 정도 분량이라, 이 많은 내용을 어떤 식으로 담았을까 하는 의문이 좀 들긴 했습니다.
기술 서적의 일반적인 순서라고 할 수 있지만, 플러터의 철학, 장점, 내부 구조 등으로 시작해서, 세부적인 컴포넌트와 라이브러리 등의 설명으로 이어졌습니다. 플러터가 다트라는 언어를 이용해서 만들어진 프레임워크이기 때문에, 본격적으로 설명을 진행하기 전에 이 언어에 대한 기본을 다루고 있습니다. 부가적으로 플러터를 설치하는 방법과 패키지를 다루는 방법 등의 설명이 있습니다.
최근에 node.js와 react.js를 이용해서 웹 관련 개발을 했고, 몇 년 전에는 JNI를 이용해 안드로이드 앱을 개발한 경험이 있어서 인지 - 자바와는 그리 친하지 않습니다 - 개념적으로 유사한 점이 많은 것 같다는 생각이 들었습니다. Pub 패키지 관리자는 npm 패키기 관리자와 연관이 되고, 위젯의 개념은 react의 컴포넌트와 매치 되었습니다. 다트 언어의 문법이나 지원 사항은 자바나 자바스크립트로부터 온 것 같다는 생각을 자주 들도록 했습니다.
세부적인 기능들의 설명에 들어가자 책 내용이 그리 친절하지는 않았습니다. 제목에 “in action” 이 들어간 것처럼 어느 정도 완성도가 있는 프로그램에 대해서 소스 코드를 펼쳐놓고, 중간중간 주석을 넣어가면서 설명을 하는 방식입니다. 이 책을 보기 전에 플러터의 튜토리얼 계열의 책을 먼저 읽어보면 훨씬 도움이 될 것 같습니다.
플러터를 이용해서 개발하기 위한 전반적인 내용을 다루고 있기 때문에 실제 개발을 해 가면서 참조하는 자료로는 훌륭할 것 같습니다. 실제 적용한 코드들과 이에 해당하는 설명들을 적절히 활용하면, 많은 추가 자료를 사용하지 않고도 개발 작업을 진행할 수 있으리라 생각합니다.
기술 서적에서 항상 논란이 되는 부분이긴 합니다만 용어의 번역에 조금은 무리한 선택이 있지 않았나 합니다. “자바스크립트 다리” 라던지, “기명 라우트” 등의 용어는 아직은 좀 익숙치 않습니다. 내용을 읽어가면서 자연스럽게 어떤 내용을 말하려는 용어인지는 알게 되니, 앞으로 이 용어가 많이 사용될 수 있길 기대해 봅니다.
초반에 “??= 연산자” 부분에서 두 번째 행의 x는 값을 가지므로 3이 할당된다 라는 문장이 있는데, 이는 앞의 설명과 명백히 상충되는 것이고, 실제 테스트를 해 봐도 x는 5로 유지하고 있습니다. 원본에서의 실수인지, 오역인지는 확인이 필요할 것 같습니다만, 초반 내용에서의 쉽게 눈에 띄는 오류는 책의 신뢰도를 많이 깎아버릴 수 있을 것 같습니다. 좀 더 꼼꼼한 편집 작업에 대해 아쉬운 면도 있습니다.
뒤로 갈수록 내용이 난해해지는 면이 있어서 아직 플러터에 대해 이해가 필요한 부분이 많습니다. 좀 더 시간을 내서 직접 예제 프로그램을 실행하거나 유사 프로그램을 작성해 가면서 좀 더 깊이 파헤쳐 보고 싶은 책입니다.