오준석의 안드로이드 생존코딩 리뷰

01

한빛 미디어 서평단 활동의 일환으로 책을 제공 받고 작성된 리뷰입니다.

함께 성장하는 Android

현업 안드로이드 앱 개발자로서 안드로이드는 매력적인 OS라고 느낀다. 하지만 OS가 가진 기능적 매력보다도 안드로이드가 가진 철학에 더 큰 매력을 느낄 수 있었다. Google에서 안드로이드를 만들 때 누구나 쉽게 앱 개발을 시작할 수 있도록 Java와 오픈 소스를 채택하였다. 결과적으로 iOS보다 후발 주자였던 안드로이드가 전 세계 모바일 OS 80%를 점유하여 iOS보다 더 많은 앱이 마켓에 등록되었으며 더 큰 규모의 생태계를 키워올 수 있었다. 그리고 이렇게까지 키워올 수 있었던 데는 안드로이드 개발자 커뮤니티 역시 큰 지분이 있다고 생각한다. 애초에 오픈소스로 시작한 OS이기 때문에 개발자들도 오픈소스에 친숙한 분위기이고 이 점이 커뮤니티에도 영향을 미쳐서인지 안드로이드 개발자 중에 유독 오픈소스 활동을 열심히 하거나 발표나 강의 등 대외활동을 많이 하는 분들이 많은 편이다. 이런 활동의 특징은 다른 사람의 성장에 기여한다는 점이다.

저자 역시도 책과 강의를 통해 오랜 시간 안드로이드 개발 입문자를 위한 기여를 꾸준히 해오고 있다. 그래서 책 전반에서 저자의 강의 노하우를 느낄 수 있다. 초심자의 템포에 맞게 차분하지만 쉽고 친절하게 설명하여 누구라도 충분히 따라올 수 있도록 한다. 마치 입문자가 어느 포인트에서 어려움을 겪고 지루해하는지 정확하게 알고 있는 듯한 느낌을 받는다. 또한, 중간마다 안드로이드 앱 개발자가 반드시 알아야 하는 기본 개념과 용어들도 필요한 순간에 필요한 만큼만 적재적소로 배치해두어서 처음부터 지레 겁먹지 않도록 배려하고 있다. 이 책을 안드로이드 앱 개발 입문자에게 꼭 추천해주고 싶은 이유가 여기에 있다.




실전 시나리오

이 책에서 다루는 개발 시나리오는 다음과 같다.

  • 비만도 계산기
  • 스톱워치
  • 나만의 웹 브라우저
  • 수평 측정기
  • 전자액자
  • 지도와 GPS
  • 손전등
  • 실로폰
  • TODO 리스트

이 책은 다른 입문서에 비해 훨씬 두께도 얇아 간결하지만, 앱 개발 시나리오를 통해 오히려 더 알차다는 느낌을 받는다. A부터 Z까지 순서대로 구구절절 설명하는 대신 특정 기능의 앱을 개발한다는 시나리오를 가지고 설명하기 때문에 책을 읽기만 해도 정말로 내가 마치 앱을 개발하는 듯 간접체험도 할 수 있다. 코드를 따라치면서 마치 실제로 프로젝트에 투입된 것처럼 필요한 기능을 순차적으로 개발해 나갈 수 있다. 그래서 책에서 설명하는 기능들이 왜 필요한지, 언제 필요한지, 어떻게 확장할 수 있는지를 상상하게 한다. 덕분에 장황하게 순차적으로 개념설명부터 시작하는 여타 다른 입문서와 달리 마치 스토리가 있는 소설처럼 술술 읽혀서 부담이 적고 기억에도 더 오래 남는다. 게다가 개발 시나리오들 역시 최대한 다채롭게 구성하여 이 책 한 권만 정독하면 웬만큼 기본적인 기능들은 거의 구현할 수 있는 수준을 기대할 수 있다.



친절

01

또다른 특징은 입문자의 입장을 고려하여 정말 친절하다는 것이다. 예를 들면 코드 중간중간에 번호를 이용하여 설명할 때 어느 코드 위치인지 명확하게 밝히고 있어서 읽을 때마다 매번 코드와 설명을 왔다갔다 비교해가면서 읽을 필요가 없다. 스크린 샷도 최대한 활용하여 실습 중간에 놓치는 상황을 방지하고 있다. 또한 필요한 개발 시나리오에 따라 읽는 순서가 다를 수 있기 때문에 앞에서 다룬 내용을 모를 수 있다는 가정하에 반복하여 설명하고 있다. 그 외에도 에뮬레이터가 동작하지 않는 기술적인 에러, Google 지도 API 키 발급 방법, Google Play에 앱 배포와 업데이트하는 방법 등 코드 외적인 부분에 대해서도 친절하게 설명하고 있는 부분 역시 굉장히 인상적이었다.



실전 트렌드

안드로이드 개발 입문자 단골 질문 : Java로 시작해야 하나요? Kotlin으로 시작 해야 하나요?

최신 안드로이드 현황에 맞게 코틀린을 사용하며 최신 API를 기준으로 설명하고 있다. 내가 입문할 당시에 읽었던 책은 이제는 deprecated 되어 더 이상 사용할 수 없거나 대체되어 버린 코드가 많다. 유독 기술 트렌드와 생태계가 급변하는 모바일 기술 서적들이 시간이 지나면서 모두가 겪는 문제지만 적어도 지금 시점의 이 책을 읽을 땐 그런 걱정은 접어두어도 된다. 특히 예제가 전부 Kotlin으로 쓰여있는 점도 큰 장점이다. 이 책을 통해 입문자는 Kotlin의 기본적인 문법 정도는 충분히 익힐 수 있고 이후에 예제를 참고할 때도 큰 도움이 될 것이다. 언어뿐만 아니라 AndroidX(Jetpack)를 적극 활용하여 지금 당장 현업 개발자들이 사용하는 라이브러리와 API를 익힐 수 있다. 대표적으로 ConstraintLayout, ViewBinding, RecyclerView, Room 등을 예제로 사용하여 독자가 실무에 투입되었을 때 당장 마주할 코드를 미리 익힐 수 있다. 그야말로 실전코딩인 셈. 독자가 취업하여 실무 프로젝트에 투입되었을 때를 상정하고 저자가 얼마나 많이 고민했는지 느낄 수 있는 지점이다.



선생님을 위한 선생님

02

입문자뿐만 아니라 만약 안드로이드 개발 강의를 목표로 하고 계신 분이 있다면 이 책을 반드시 추천하고 싶다. 이 책을 통해 안드로이드 개발을 이렇게 쉽고 재밌게 가르칠 수 있다는 것을 배웠다. 작년에 안드로이드 입문자를 위한 개발스터디를 진행했던 적이 있었는데 이 책을 읽으면서 그 당시를 많이 반성했다. 사실상 강의에 가까운 스터디를 직접 진행했는데 돌이켜 생각해보면 너무 어렵고 거창하게 진행해서 우선순위와 시간 분배에 실패했었다. 입문자에게 무엇이 중요한지 어떻게 접근하고 어떻게 설명해야 하는지를 비로소 배울 수 있었다. 독자의 입장에서 무엇이 필요한지를 항상 상정하고 중요한 내용은 반복하며 굳이 몰라도 되는 내용은 과감히 포기할 필요가 있다. 또한 어떤 앱을 개발할 지 목표 설정으로 충분한 동기부여를 하면 끝까지 집중하도록 유도할 수 있다. 예제 또한 너무 어려울 필요도 없으며 만약 어렵다면 단계적으로 접근하여 최대한 독자의 부담을 줄여야 한다. 큰 가르침을 주신 저자에게 감사를 드리고 싶다.




총평

안드로이드 앱 개발은 분명 매력적인 분야지만 새로운 것을 익히는 과정이 언제나 즐거울 수는 없을 것이다. 그러나 이 책과 함께라면 실전 안드로이드 앱 개발을 간접경험 하면서 한 발짝 씩 차근차근 즐겁게 배워나갈 수 있을 것이다. 그 과정을 통해 개발이 왜 재밌는지, 안드로이드가 왜 매력적인지를 쉽고 친절하게 일깨워 줄 수 있으리라 확신한다. 함께 안드로이드의 매력에 빠져보고 싶으신 분들이라면 이 책을 통해 당신도 안드로이드의 매력에 빠져보시길 바란다.




마치며

03

리뷰하다가 책이 인상깊어 오준석 작가님께 개인적으로 연락을 드렸는데 흔쾌히 만나주셨다. 이 리뷰에 대해서도 저자의 의도를 정확히 파악했다고 칭찬해 주시고 여러가지 조언도 들을 수 있었다. 좋은 책을 써주시고 조언도 아낌없이 해주신 오준석 작가님과 좋은 기회를 준 한빛미디어에도 감사 인사를 드린다.