[Book] 이것이 안드로이드다 with 코틀린

책 소개

이미지를 클릭하시면 네이버 책으로 이동합니다.


책 정보

하나! 코틀린이 낯설다고요? 걱정하지 마세요, 코틀린 기본 문법부터 설명합니다.
안드로이드 앱 개발은 자바와 코틀린 이 두 가지 언어로 할 수 있는데요. 구글이 안드로이드 공식 언어로 코틀린을 채택한 뒤로 코틀린은 안드로이드를 학습하는 데 필수 언어가 되었습니다. 이 책은 코틀린을 모르는 독자도 앱을 개발할 수 있도록 안드로이드 앱 개발에 필요한 코틀린 기본 문법부터 설명합니다. 앱 개발에 꼭 필요한 내용을 모두 담았습니다.

둘! 안드로이드 프로그래밍의 기초, UI 구성과 생명주기부터 설명합니다.
안드로이드 스튜디오를 설치하고 기본 화면 구성부터 설명합니다. 위젯과 레이아웃을 다루고, 액티비티와 컨테이너, 뷰를 통해서 화면 전체를 컨트롤하는 방법을 순서대로 설명합니다. 설명을 따라 작성하는 작은 프로젝트는 나중에 실전 프로젝트에 활용할 수 있습니다.

셋! 실무에서 사용하는 앱 개발에 필요한 개발 지식을 다룹니다.
앱 개발은 단순히 코틀린 언어를 익히고 안드로이드의 화면을 구성한다 해서 완성할 수 있는 게 아닙니다. 네트워크나 데이터베이스와 파일 입출력, 오픈 API 등 안드로이드 앱 개발에 필요한 다양한 개발 지식을 다루고 실습합니다.

넷! 실전 프로젝트를 포함한 70개의 예제로 다양한 기능을 실습합니다.
실생활에서 가장 많이 사용하는 사진, 카메라, 타이머, 메모장, 음악 플레이어, 오픈 API를 활용한 서울시 도서관 찾기 프로젝트 등을 제공합니다. 또한 3판에서는 파이어베이스를 활용한 실시간 채팅 앱과 맵 클러스터링 등 다양한 실습을 추가로 제공합니다. 여러 기능을 익히고 활용하여 맞춤형 앱을 개발해보세요.


리뷰

피할 수도, 피해서도 안 되는 Kotlin

안드로이드 개발에 처음 입문한 건 2015년 초, MVC 패턴이 주를 이뤘고, 이벤트 버스와 버터나이프가 언급되며, 간간히 Eclipse와 Android Studio를 같이 쓰던 때였다. 그때를 생각하면 지금이 양반이다 싶지만, 만족스러운 성장을 했느냐를 묻는다면 당당히 그렇다고 답변할 순 없을 것 같다.

안드로이드에 Kotlin이 대세가 된 것도 벌써 몇 년이 지났다. 회사에서는 여전히 Java를 사용하고 있었기에, Kotlin을 사용할 수밖에 없는 환경에 나를 몰아넣기로 했다. 그렇게 시도한 것이 1. MashUp(동아리)2. 사내 프로젝트에 Kotlin 도입 이었다. 매시업 덕분에 2020년에 드디어 Kotlin과 직접적[1]으로 마주할 수 있었다.

Kotlin과 안드로이드에 천천히 익숙해질 때쯤 사내 프로젝트[2]를 하나 맡게 되었다. 기획, 설계, 개발, 테스트, 배포, 가이드 제작까지 모두 직접(물론 혼자) 해야 하는 일이었다. 이미 이렇게 받은 일이 두 번째[3]이기에, 이번에는 새로운 도전을 해 보기로 했다. 이 프로젝트를 팀 내 첫 번째 순수 코틀린 프로젝트로 만들기로 결심[4]한 것이다. 그런데, 아무래도 Java에 익숙해져 있다 보니 코틀린에 손에 착 붙진 않았다. 가장 공들였던 부분이 바로 Null Safety, 지연 초기화, 스코프 함수, 그리고 확장 함수였다.

이 부분은 Kotlin 언어 이해도에 따라 설계 효율성이 달라지는데, 위 사진처럼 Kotlin 언어에 대해서도 친절하고 자세히 적혀 있어서 내가 짠 코드를 다시 한번 되돌아볼 수 있는 계기가 되었다. 책에는 확장 함수 내용이 포함되지 않아 아쉽긴 했지만, 확장 함수는 Kotlin의 특징 중 하나이기에 이 책에서 다루는 게 약간의 오버(?)처럼 느껴질 수도 있을 듯하다.


안드로이드 서비스 개발자의 숙명, 레이아웃(View)

다정함과 세심함에 놀랐던 파트이다. 이미 어느 정도 안드로이드 지식을 갖고 있는 나에게는 아는 내용이 대부분이었지만, 입문자도 어렵지 않게 따라갈 수 있도록 디테일을 잡았다.

에디터 구성을 우선적으로 설명하고, 그 아래 ‘여기서 잠깐’ 파트를 만들어 난감할 수 있는 상황에 대한 해결법을 함께 제시했다는 점이 인상깊었다. 후배가 생긴 이후로 '어디서부터 얼마나, 어떻게 설명해야 하는지’에 대해 늘 고민하던 나에게 깨달음이 되었다.

그 뒤에 나오는 내용은 위젯을 어떻게 배치할 수 있는지, 그리고 각 위젯에서 자주 사용하는 속성에 관한 내용을 설명하고 있었는데, 차근차근 훑어보며 늘상 책상에 두고 읽고 싶다고 생각했다. 업무 특성 상 레이아웃과 그리 친하진 않은지라 위젯 속상은 매번 ‘이게 뭐가 있었는데, 뭐더라…’ 라고 생각하며 검색[5]하곤 했었다. 이젠 귀찮은 검색 대신 잊어버릴 때마다 책을 여러 번 읽기로 다짐했다.


그 외에도

현업에서 개발할 때 자잘자잘하게 신경써야 하는 부분을 언급해 주어 고마운 책이었다. 특히, ‘권한 체크’ 가 필수인 몇 가지 항목들이 있는데, 위험 권한 승인 팝업을 띄우고 결과를 전달받는 예제 코드가 있다는 것이 꽤나 매력적[6]이었다. 무엇보다 후반부로 갈 수록 참고할 내용[7]이 많아져서, 두고두고 읽을 좋은 참고서를 만났다는 생각에 기분이 좋아졌다. 가장 좋았던 건, 매 챕터마다 시작 전 간략하게 무엇을 할 것인지 목표를 설명한다는 점이다. 그 부분만 잠깐 읽어 보면 이 챕터의 내용이 필요한 것인지, 그렇지 않은 것인지 구분할 수 있다는 이점이 있었다.


누구에게 추천할 것인가?

한빛미디어에서 제안한 이 책의 추천 독자는 다음과 같다.

* 이 책이 필요한 독자
· 코틀린은 처음이다.
· 만들고 싶은 앱이 있다.
· 안드로이드 앱 개발자가 되고 싶다.
· 입사 후 의지와 상관없이 업무상 앱 개발을 담당하고 있다.
· 우연히 유튜브 강의로 접하고 본격적으로 앱 개발을 하고 싶다.

위 리스트 모두에게 추천하고 싶지만, 꼭 봐야만 하는 딱 하나의 독자를 고르자면 만들고 싶은 앱이 있는 독자이다. 이 책은 가벼이 넘길 수 있는 문제도 세심하게 알려주는 친절함이 돋보이는 책이지만, 프로젝트 베이스로 진행되는 책은 아니다. 그 말인 즉, 명확한 목표가 없다면 많은 것을 얻지 못할 수 있다는 것. 그러나 역으로, 내가 만들고 싶은 앱이 있고 그 방법에 대한 것을 고민하는 중이라면 누구보다 많은 것을 얻어갈 수 있다고 생각한다.

추가로, 코드 타이핑 없이 안드로이드 개발의 느낌을 살펴보고 싶다면 5장의 액티비티를 읽은 다음 4장의 위젯과 리소스 다루기를 읽어보는 것을 추천한다. 우선 책에 제시된 예제 코드들을 보며 흐름과 코드 구성을 한번 생각해 보고 여유가 될 때 4장의 위젯과 리소스를 직접 만들어 보아도 된다.

그리고 개인적으로는 언어’만’을 공부하는 것에 큰 흥미를 느끼지 못해서 코드로 부딪힌 다음 빈 지식을 도큐먼트를 읽으며 채우는 편이다. 그런 의미에서 개발의 기초 지식이 있는 분들은 초반의 Kotlin 언어 파트를 스킵하고 필요할 때마다 보는 것도 나쁘지 않은 선택이라고 생각한다.

꿀팁을 하나 남기자면, 한빛미디어에서 무료 동영상 강의를 제공한다. 아직 영상을 보진 못했지만, 영상 리스트로 봤을 땐 기본 지식이 없지만 당장 현업에 사용해야 할 때 급하게 볼 수 있을 정도의 강의인 것 같아서 종종 애용하지 않을까 싶다.


위 서평은 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성되었습니다.




  1. 언제나 시도하긴 했었다. ↩︎

  2. 안드로이드 라이브러리(SDK) 개발 관련 ↩︎

  3. 안드로이드 SDK 개발기는 이 포스팅에 기록했다. ↩︎

  4. 결심 이후 팀장님과 팀원들의 동의를 받아 시작했다. ↩︎

  5. 자주 안 쓰다 보니 자꾸 까먹는다. 키워드가 생각이 날 듯 말 듯할 때 적당히 검색해서 사용하기 신공… ↩︎

  6. 꼭 필요하지만 귀찮은 일이기에 베이스 코드를 미리 만들어 두면 도움이 될 듯하다. 어차피 늘상 사용해야 하는 것이기 때문. ↩︎

  7. 코루틴, Room, 서비스, 구글 지도, 네트워크, 파이어베이스 등 안드로이드 개발시 언젠가 한 번은 꼭 사용하게 되는 것들에 관한 내용이 풍부했다. ↩︎

Share