몇 년전 구글에서 안드로이드 프레임워크의 주언어를 코틀린으로 선택하고 프레임워크 전체를 자바에서 코틀린으로 포팅하는 작업을 진행 중이라는 충격적인 발표를 하였다. 자바 언어는 웹과 안드로이드 진영에서 큰 영향력을 행사하는 언어였으며 우리나라 대부분의 안드로이드 개발자는 자바에 익숙했기에 그 충격은 더욱 컸다고 생각한다.
구글 I/O에서 코틀린으로 안드로이드 프레임워크 기반의 어플리케이션을 만들 수 있도록 지원하고 안드로이드 개발자 사이트에서는 친절하게 코틀린 기반의 안드로이드를 개발할 수 있도록 다양한 컨텐츠도 지원하고 있다.(https://developer.android.com/kotlin?hl=ko)
이러한 와중에 자바 기반의 안드로이드 개발서적에서 코틀린 기반의 안드로이드 개발서적으로 빠르게 트렌드가 변화하면서 다양한 책들이 출간되었다. 이 책의 저자 오준석님도 이 책을 발간하였다.
책의 구성
이 책의 구성 중 가장 큰 특이점이라 한다면 목차를 살펴보면 알 수 있다. 다른 안드로이드 서적은 안드로이드 4대 컴포넌트부터 시작해서 다양한 프레임워크의 기반 기술을 나열하고 있다. 이 책의 목차를 보면 그러한 내용은 보기 어렵다. 그 대신 간단한 코틀린 언어에 대한 이론과 9개의 예제 프로젝트를 통해 해당 프로젝트에 필요한 기술들을 설명하고 있다.
안드로이드에 입문하는 많은 개발자들은 본인이 사용할 경우가 거의 없는 기능까지 책을 순차적으로 읽다보면 익히게 되는 경우가 있다. 그리고 그렇게 익히게 된 기능은 어떻게 프로젝트에 녹여내야 할지 알지 못해 답답해한다. 이 책은 그러한 문제점을 부수고 즐겁게 눈에 보이는 프로젝트를 진행하며 필요한 기능을 익히도록 하였다.
추천하는 이유
1. 다양한 예제 프로젝트
이 책은 다양한 프로젝트를 제공한다. 처음 프로젝트 설정부터 완성된 어플리케이션이 생성될 때 까지 모든 예제 코드들을 제공한다. 이 예제 프로젝트들은 난이도별로 제공된다. 초급, 중급, 고급으로 구성된 예제 프로젝트를 통해 손쉽게 안드로이드 개발을 접할 수 있다. 특히 많은 입문자들이 토로하는 불만인 *"그래서 이 기능을 어떻게 프로젝트에 사용해야 하는지 모르겠어요.."* 라는 문제를 간단하게 해결해줄 수 있다고 믿는다.
2. 저자의 유튜브 강의
저자는 개인의 유튜브 채널 을 운영하고 있다. 이 책을 기반으로 학습 중 이해가 안되는 부분은 직접 관련된 영상을 찾아 공부를 할 수 있다. 눈으로만 학습을 하는 것 보다 시청각자료가 있다는 것은 큰 메리트가 될 것이라고 생각된다.
3. 너무나 친절한 설명
안드로이드 어플리케이션 개발 시 사용자 화면 구성을 필수적이다. 하지만 사용자 구성 화면 시 설정이나 코드 등 어려운 부분이 있을 수 있다. 저자는 그러한 부분에서 헷갈리지 않고 쉽고 빠르게 이해를 적용할 수 있도록 매우 매우 친절하게 서적에 설명을 해두었다.
사용자 화면 구성 외에도 에뮬레이터나 안드로이드 스튜디오에서 설정하는 많은 내용들을 사진에서 화살표, 순서까지 매우 친절하게 정리해둬서 불필요한 요소에서 시간을 낭비하는 일이 없을 것이라 생각된다.
4. 리팩토링 or 새로운 기능 접목
필자같은 경우 해당 서적을 안드로이드의 기초를 공부하는 것 외에 다른 용도로 사용을 하였다. 해당 코드는 입문자들을 안드로이드 기본 구조와 기본 기능과 코드로 이루어져있다. 저자는 해당 코드 기반에서 다양한 코틀린 언어의 기능을 새롭게 사용해서 리팩토링해보거나 repository pattern등을 새롭게 적용해보고, Dependency Injection 등 다양한 기술을 접목하면서 효율적인 코드로 만들 수 있도록 연습하는 기반 코드로 사용을 하였다. 이러한 과정은 기초를 한번 더 다지고, 나를 한 단계 성장하게 만들어 주는 계기가 된 것 같다.
정리
안드로이드는 빠르고 효율적으로 변화하고 있고, 코틀린을 이용한 어플리케이션 개발을 위해 부족함 없이 지원되고 있다. 이러한 측면에서 봤을 때, 코틀린을 이용한 안드로이드 개발은 필수라고 생각한다. 그리고 이 책은 입문자들에게도 필수적인 서적이라고 생각한다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
'Book' 카테고리의 다른 글
[Review] 헤드퍼스트 디자인패턴 개정판 (0) | 2022.10.02 |
---|---|
[Review] Joyce의 안드로이드 앱 프로그래밍 (0) | 2022.08.21 |
[리뷰] 똑똑한 코드 작성을 위한 실전 알고리즘 (0) | 2022.06.26 |
Fundamentals of Software Architecture (소프트웨어 아키텍처 101) (0) | 2022.03.31 |
[Review] 잠시 고양이면 좋겠어 (0) | 2022.03.16 |