[리뷰] 안드로이드 프로그래밍 Next Step
빠르게 변하는 안드로이드
안드로이드는 현재 개발 및 사용하는 플랫폼 중 둘째 가라면 서러울 정도로 큰 인기를 끌고 있는 플랫폼입니다. 그러다 보니, 새로운 라이브러리나 디자인 기법이 쏟아짐과 동시에 그 트렌드 또한 빠른 속도로 변화하고 있습니다.
때문에, 안드로이드 개발자로 살아남으려면 이러한 기술들을 내 것으로 만들거나, 최소한 어떤 것들이 논의되고 있는지 잘 알고 있어야 합니다. 잠시만 기술 습득에 한눈을 팔아도 내가 가진 기술이 해묵은 기술이 되는 일이 정말 빈번하게 일어납니다.
핵심 컴포넌트와 동작 방식, 얼마나 알고 계신가요?
그러나, 아무리 트렌드가 바뀌어도 거의 변하지 않는 부분이 있습니다. 바로 안드로이드 플랫폼의 기본 구성과 내부 핵심 컴포넌트의 동작 방식입니다.
가장 친숙하고 많이 사용하는 액티비티부터 시작하여 서비스, 서비스, 브로드캐스트 리시버 등 앱을 개발하다 보면 빠질 수 없는 구성요소까지, 이러한 요소를 사용하는 방법이나 이들의 동작 방식은 안드로이드가 처음 나왔을 때 부터 지금까지 크게 변하지 않았습니다.
하지만 대부분의 경우 이를 사용하는 방법만 관심을 기울였지, 내부의 구현이 어떠한지, 그 구현의 특성을 고려하였을 때 어떤 식으로 코드를 작성하는 것이 올바른지에 대한 논의는 상대적으로 덜 이루어졌습니다.
물론, 이는 상대적으로 이 분야에 대한 관심이 적어서일 수도 있습니다. 하지만 더 큰 이유는 이 부분을 다루고 있는 글이나 책이 없다 보니 이 부분을 자세히 알아보기 어려웠던 것이라 생각합니다.
현업 안드로이드 개발자를 위한 두 번째 책
안드로이드 프로그래밍 Next Step은 이와 같이 중요하지만 그 동안 간과하고 있었던 여러 가지 주제들에 대해 꼼꼼하게, 하지만 너무 어렵지 않게 다루고 있습니다.
대표적인 예로, ANR(Application Not Responding)문제를 다룬 부분을 들 수 있습니다.
ANR은 메인 쓰레드에서 시간이 오래 걸리는 작업을 수행하게 되면 발생하는 오류입니다. 보통은 이를 피하는 방법에 대해서만 다루곤 하는데, 이 책에선 단순히 이 현상의 해결책만을 다루는 것이 아니라 안드로이드 내부에서 UI 업데이트가 어떤 과정으로 일어나는지, 이 과정에 어떠한 컴포넌트들이 관여하는지까지 자세히 알아보고 있습니다.
따라서 안드로이드 개발은 어느 정도 해 봐서 기본적인 개발 방법은 알겠지만 좀 더 깊은 이해를 원하시는 분, 내가 만드는 앱을 조금 더 안전하고 꼼꼼(?!)하게 만들고 싶으신 분들께서는 이 책을 읽어보시면 많은 도움이 되리라 생각합니다.