개자이너가 되고 싶었다.
개자이너라는 말이 있다. 개발자와 디자이너를 합친 말인데 (왜 ‘디발자’가 아닌 ‘개자이너’가 좀 더 보편적으로 쓰이는지는 모르겠다.) 말 그대로 두 가지를 다 할 수 있는 포지션을 지칭한다. 디자인 쪽 일을 하면서 어깨너머로 배운 개발 관련 내용들이 많아지자 자연스럽게 관심이 생겼고 그렇게 css 작업, 워드프레스 커스텀, html이메일 제작 등을 주제넘게 해 보았다.
하나 하기도 벅찬데..
하지만 이런 일들은 진짜 개발이라고 할 수 없었고 계속 미지의 영역으로 남은 곳이 있었으니 바로 앱 개발이었다. 특히 안드로이드. 그동안 개발 관련 책을 보면서 (보통 훑어보고 바로 반납한다. 무슨 소린지 이해가 안 가서..) 나와는 너무나 멀다는 생각만 해왔다. 보통 비개발자가 개발 관련 책을 선택할 때는 이런 단계를 거친다.
이 책들만 있으면 다 만들 수 있을 거 같았다.
책 표지의 타이틀에 유혹된다. (보통 며칠 만에 만드는..으로 시작한다.)
책을 구입, 대여한다. (가격이 만만치 않지만 좋은 투자라고 생각한다.)
결과물을 바로 만들고 싶지만 항상 앞단에는 기초개념이 잔뜩 실려있다.
나는 이론보다는 실전이 중요하다는 생각에 바로 예제로 넘어간다.
그저 책에 있는 코드를 따라 치는 것만 하다가 자괴감에 빠지지만 이론을 공부할 의지는 없다.
이런 패턴으로 몇 번을 허비한 끝에 정말 우연히 구매했던 태블릿에서 무료로 볼 수 있는 코틀린 기반의 안드로이드 개발 책을 발견하게 되었다. (정말 우연히)
도전의 시작점. 이 책이다.
보통 엄청난 두께를 자랑하던 개발 관련 책을 태블릿에서 가볍게 볼 수 있다는 장점도 있었지만 무엇보다 책 자체의 내용이 마음에 들었다.(표지가 아닌 내용이 마음에 든 건 처음이었다.) 어렵다는 느낌은 다른 개발 서적과 비슷했지만 한 가지 확실한 건 ‘그래, 이대로만 따라 하면 앱을 만들 수는 있겠구나’였다. 물론 책의 예시를 그대로 만드는 게 목표는 아니었지만 아무것도 없는 상태에서는 그대로 만드는 것을 1차 목표로 정했다.
한놈만 정해서 똑같이 만들어보자
책에 있는 여러 가지 예시 중 로또번호 추출기를 만들어보기로 정하였다. (이유는 간단했다. 그나마 가장 쉬워 보여서) 이미지 파일도 별도의 링크로 제공하니 책 내용만 그대로 타이핑한다면 앱이라는 게 만들어지는 구성이었다. 이런 생각을 나만 한 게 아닌지 실제로 구글 플레이스토어에 검색을 해보면 책 예시의 앱이 여러 개 만들어져 있다.
역전로 또로 검색하면 비슷한 앱들이 나온다 (책 많이 팔린 듯)
이 책도 물론 앞단에는 기본 개념에 대한 내용이 있지만 늘 그렇듯 당당하게 예제부터 따라 하기 시작하였다. 왜 이렇게 코딩을 하는지는 생각하지 않았다. 그냥 똑같이 타이핑을 할 뿐이다. 그렇게 하다 보니 몇 가지 느낀 점이 있다.
끌어다 놓기보다는 타이핑이 낫다
안드로이드 스튜디오는 UI화면을 만들 때 디자인 툴처럼 요소를 끌어다 놓으면서 만들 수 있다. 책에서도 이런 방법으로 화면을 그리나 웬만하면 타이핑으로 직접 쳐보는 것이 적응하는데 더 도움이 된다. 실제로 주변 개발자도 보통은 직접 타이핑을 해서 화면을 그린다고 한다.
타이핑으로 화면을 그려도 바로바로 확인이 가능하다
원리는 다음에 생각해도 좋다
랜덤으로, 또는 해시를 이용해서 번호를 추출하는 게 대체 어떤 원리로 되는 건지 아직도 이해가 가지 않지만 이런 부분을 신경 쓰다 보면 결국 자바의 기초로 되돌아가야 한다. (즉 책을 중간에 덮을 수도 있다는 말이다.) 원리보다는 우선은 그대로 카피하는 것이 중요하다. 그래야 조금이라도 익숙해지는 것 같다.
나에게는 아직 무시무시한 함수들..
개발에 필수 준비물은 구글링이다
책의 내용을 그대로 따라 하지만 자신의 컴퓨터 사양이나 여러 조건에 의해 책에 나온 대로 실행이 되지 않거나 에러가 나는 경우가 있다. 이때 에러 문구나 관련 내용을 조금만 찾아보면 비슷한 문제를 겪는 수많은 동지들을 쉽게 만날 수 있다. 그리고 그들을 성심성의껏 돕는 훌륭한 개발자들의 답변을 바로 찾아볼 수 있다.
안드로이드 스튜디오 고객센터 수준이다. 존경스러울 뿐
원리도 궁금했고 대체 이런 책 없이 쌩으로 코딩을 어떻게 하는 건지 개발자분들이 존경스러울 때가 한두 번이 아니었지만 어찌어찌하다 보니 책의 결과물과 같은 것을 만들게 되었다. 딱 여기까지만 만들 생각이었으면 시작도 안 했을 터, 다음에는 이것을 기반으로 최종적으로 나만의 로또번호 추출기 앱을 어떻게 만들었는지 이야기하고자 한다. (사실 후반부가 더 오래 걸렸다.)
디자이너가 앱을 만들어 보았다(2)
디자이너가 앱을 만들어 보았다(3)