이 글을 쓰고 있는 블로그도 구글 것, 매일매일 열어보는 유투브도 구글 것, 사용하는 휴대폰의 OS도 안드로이드로, 구글이 개발하는 것이며, 그 속에 있는 수 억 개의 어플리케이션도 물론, 안드로이드 스튜디오에서 개발된 것이므로 그 모체가 구글이다. 심지어 어느덧 태어난 지 10년이 넘은 프로그래밍 언어 'GO'도 구글에서 개발해 점점 발을 넓히고 있다.
그럼 이미 많은 사람들이 몸담고 있는 걸 벗어나 잠겨있는 이 세계관에서 살아남으려면, 나를 잠기게 한 것을 헤쳐나갈 수 밖에 없다. 해오던 것과 다른 선택을 해보면 된다. 나의 역할을 바꿔보면 보인다. 내가 일상적으로 사용하던 것을 사용자에서 개발자로 위치를 바꿔보는 것이다.
서론이 길었다. 그래서 안드로이드 어플리케이션 개발을 조금씩 시도하면서 겪은 다양한 오류를 비롯해서 더 나은 공부 방법 등을 기록하고자 한다.
안드로이드 개발에 입문하는 사람들을 위해서 학습의 순서를 대략적으로 알려주는 로드맵이 있다. 안드로이드 스튜디오 등에서 제공하는 공식 문서를 참고할 수도 있고, github를 비롯한 여러 사이트를 참고해 알아갈 수 있다.
2023 버전으로 정리된 안드로이드 개발 로드맵이다. 2022 버전의 로드맵도 같이 두었으니 천천히 훑어보길 바란다.
차례대로 간단히 훑어보자.
사용하는 IDE는 안드로이드 스튜디오로, 코드 작성부터 시작해서 에뮬레이터를 통한 실제 설치과 구현까지 진행할 수 있다. 이는 안드로이드 디벨로퍼 홈페이지에서 무료로 다운로드 받을 수 있다. 23년 6월 기준, 안드로이드 스튜디오 최신 버전은 Flamingo로, 22년 2월에 출시되었다.
또한 코틀린 언어에 대한 기본적인 학습과, OOP(객체 지향 프로그래밍), 데이터구조와 알고리즘, Gradle에 대한 이해가 동반되어야 한다. OOP와 데이터구조, 알고리즘은 프로그래밍 분야 중, 아키텍처에 대한 카테고리에서 다양한 서적과 강의 등을 통해 정보를 찾아볼 수 있다. Gradle은 안드로이드 스튜디오에 의해 개발된 앱이 설치시 제일 먼저 설치되는 것으로, 여러 버전이나 플러그인, implements 등의 내용을 담고 있다. 위의 내용에 대한 이론을 너무 깊게 들어가기 보다, 간단히 훑고 프로젝트를 만들면서 손과 눈으로 이를 배우는 과정을 추천한다.
버전 관리를 통해 가장 먼저 떠올릴 수 있는 방법은 Github이다. 이를 사용하는 방법을 배워 실제 레포를 호스팅할 때 이용할 수 있다. 레포 포스팅 서비스로는 GitLab, 또는 Bitbucket을 이용한다.
2022 버전은 2023보다 길고 자세하다. 참고를 위해 이미지를 첨부한다.
- 제로 베이스라면, 보고 따라하자.
사실 여러 영상으로 된 작업 코드를 보고 따라 치는 것 보다, 글로 되어있는 형식에 더 편안함을 느끼는 편이다. 관련 교재를 하나 사서 실습 해 보는 것을 추천한다.
- 따로 따로 배운 기능을 하나의 어플리케이션에서 구현해보자.
교재 한 권에 대한 실습을 끝냈다면, 그 교재 안에 있는 여러 기능을 합쳐보자. 더불어 어느 화면에 어떤 내용을 보이게 할지 고민하면서 와이어 프레임을 짜는 버릇을 들인다면 더 좋다.
- 최신 공식 문서를 살펴보자.
분명 교재 혹은 블로그 글을 보고 따라 쳤는데 오류가 난다면, 아마 해당 내용이 작성된 버전과 현재 코틀린, IDE, 혹은 특정 implement 등의 버전이 맞지 않는 것이다. 그럴 때에 가장 최신의 공식 정보를 읽어볼 필요가 있다. 추천하는 곳은 안드로이드 디벨로퍼 블로그, 그리고 안드로이드 드벨로퍼 문서 내용이다. 특히 관련 내용을 찾고자 할 때에는 가능 한 가장 최신 내용을 찾는 것이 좋다. 검색 필터를 최신 기준으로 정렬되도록 해보자.
- 발생하는 다양한 버그를 해결하는 방법으로 여러가지를 생각할 수 있다.
◽ 문장보단 단어 검색
◽ 네이버보단 구글 검색
◽ 오타 확인
◽ 페이지 간 연결의 논리 오류 점검
너무 많은 페이지를 연결하는 과정에서 헷갈린다면, 각 페이지 연결에 대해 적어두는 스토리보드, 와이어프레임, 설령 작은 메모가 도움이 될 수 있다. 기록해두는 것을 어려워하지 말자.
◽ 한국어보다는 영어 검색
◽ 나만의 개발 일지를 작성하며 반복해서 발생하는 오류 기록
◽ chat gtp 활용
chat gtp는 내가 작성한 코드 텍스트와 오류를 함께 물어보면 수정한 코드를 알려준다. 물론 모든 코드를 합쳐보았을 때의 실행 여부는 장담하지 못하지만 블로그에서 찾지 못한 해결책을 빠르게 알려주기도 한다. 그 외에도 코드 구문을 입력하고 설명을 요구하면 한글로 보다 쉽게 이해할 수 있도록 알려주며, 미처 확인하지 못한 타입 변형이나 인자를 알려주기도 한다.
◽ 주변의 개발자에게 물어보기
비슷한 환경의 개발자라면 겪어보았을 수도 있는 문제이다. 서로의 코드를 공유하는 것을 어려워하지 말자.
앞서 설명한 2022 안드로이드 개발 로드맵을 강연 소재로 한 사례도 있다. 이를 정리한 블로그 또한 참고할 수 있다.
더 다양한 개발 입문 인사이트를 얻고 싶다면?
👉 뚝딱이의 일기