학교에서 기본 교과로 Java 학습했다는 전재 하에 그다음 어떻게 안드로이드를 공부해야 할지에 대한 로드맵을 작성하겠습니다 (Java가 꼭 필수는 아니지만 알아두면 좋습니다, 그리고 사실 Java가 아주 필수는 아니라는 거..)저의 개인적인 생각으로 만든 주관적인 자료이기 때문에 너무 믿지는 말아주세요
아래에서 소개하는 인강들은 광고 같은 게 아닌 실제로 들어보고 좋다고 판단한 강의들을 참조하였습니다
그럼 시작해 보겠습니다!
로드맵 소개를 하기 이전에 어디서 공부를 어떻게 하는 게 더 좋을지에 대한 저의 의견입니다
공부는 인강이 답,
인강은 패스트캠퍼스, 유데미가 답이다..
공부방법에는 크게 책을 읽거나 인강을 보거나 공식문서나 블로그 등을 찾아보는 방법이 있습니다
책은 초보자에게 너무 지루하게 다가올뿐더러 한 권을 다 읽기는 정말 생각보다 힘든 일입니다(지쳐요..;)
그리고 한국어로 되어있는 책은 대부분 기초들을 중심으로 다룹니다
공식문서나 블로그를 찾아서 공부를 해볼 수는 있지만 공식문서는 대부분 영어로 되어있고 어려운 말들 천지입니다
초보자에게는 힘들겠죠, 블로그 또한 맨땅에 헤딩하는 그런 기분을 느끼실 수도 있습니다
그래서 저가 추천하는 건 바로 인강입니다, 접근성도 낮고 너무 지루하거나 지치지도 않으며 커리큘럼이 알아서 만들어져 있기 때문에 그냥 따라가면 됩니다, 그리고 그 커리큘럼대로 따라가다 어떠한 내용이 좀 더 공부하고 싶으면 키워드를 검색해 좀 더 깊게 공부를 하면 되기 때문에 저는 인강을 추천드리고 저 또한 이렇게 공부했습니다
인강 사이트는 여러 군데가 있는데 대표적으로 인프런, 패캠, 유데미 등이 있습니다, 하지만 왜 저가 패캠과 유데미를 위해서 언급했을까요??
우선 인프런에서 안드로이드 강의들을 저가 살펴본 결과 안드로이드 강의는 대부분 기초들만 얇게 설명하는 강의들 뿐이었습니다
기초를 쌓을 때는 선택할 수 있을지 몰라도 그 뒤로는 볼만한 강의가 딱히 없습니다.. 때문에 저는 아래 2개의 강의 사이트들을 추천합니다
패스트캠퍼스는 기본적인 탄탄한 내용들과 조금 더 심화적인 내용이 한국어로 있다는 게 장점입니다, 하지만 다소 가격대가 있다는 게 큰 단점입니다
유데미는 심화적인 내용이나 매력적인 내용들의 강의들이 정말 많이 있고 가격이 2만 원 내외입니다(거의 매주 할인을 함), 하지만 한국어 강의가 아니라는 점이 큰 단점이긴 하지만 그래도 매리트가 있는 강의 사이트입니다
하지만 언제나 그렇듯 돌파구는 한 개쯤 있습니다! 유데미를 한국어로 자동번역을 해 듣는 방법이 몇 가지 있습니다
첫 번째는 크롬 스토어에 있는 유데미 한국어 번역 플러그인입니다
두 번째는 이전에 글에서도 쓴 적이 있는 크롬 콘솔 창을 이용하는 방법입니다
2021.07.15 - [Tip/Study] - 유데미 강의 한국어 자동번역이 안될 때
1. 코틀린 (Kotlin)
예전은 Java였지만 대세는 이미 기울었습니다. 구글은 Kotlin을 공식 언어로 지정하고 Java로 만들어진 예제들을 Kotlin으로 바꾸는 등 대대적으로 코틀린 사용을 밀어주는 분위기입니다. 때문에 지금 시작을 한다면 Java를 알면 도움은 되지만 Kotlin으로 시작을 하는 게 더 편합니다
2. 안드로이드 기본기 (Android Basic)
안드로이드 기본기에는 기본적인 layout부터 시작해 전반적인 기본 베이스들을 뜻합니다. 기준이 굉장히 모호하긴 하지만 인강 하나를 추천하겠습니다
https://fastcampus.co.kr/dev_online_androidstandard
다소 가격대가 있는 강의입니다
3. 라이브러리 (Library)
안드로이드를 개발하게 될 때 실제로 여러 라이브러리들을 사용하게 됩니다
대표적으로 안드로이드에서 제공해주는 jetpack 라이브러리나 retrofit 등 직접 자신이 만들고 싶은 프로젝트를 만들게 되면서 필요한 기능에 대해 알아가며 공부하면 될 것 같습니다
팁으로는 만들고 싶은 다른 앱에 기능을 캡처해서 커뮤니티나 카톡방 등에 질문으로 올리면 어떤 것을 공부해야 할지 많은 안드 선배님들이 조언해 주실 겁니다!
공부를 추천하는 라이브러리 종류
- 네트워크 통신 : Retrofit2, Okhttp
- 비동기 처리 : Coroutine, RxJava, RxKotlin, RxAndroid
- JetPack : LiveData, ViewModel, Navigation component(Fragment 전환 관련), compose(XML을 대체하는 UI 툴킷), DataBinding, ViewBinding, Room(DB)
- 이미지 처리 : Glide
- 의존성 주입 : Dagger Hilt, Koin
필요하고 유용한 라이브러리들은 더 많지만 일단 이 정도로 정리해 두겠습니다
4. 디자인 패턴 (Design Pattern)
기본적인 베이스가 되는 MVC에 대해 이해하고 MVP, MVVM 등을 학습합니다. 회사 우대사항이나 기술 스택 사항에 MVVM이 많으니 꼭 공부해야 하는 것 중 하나입니다
5. 비동기 (Asynchronous)
서버 통신을 하는데 거의 필수적으로 필요한 것이 바로 비동기 처리입니다, 안드로이드에서는 비동기 처리가 중요하고 이 때문에 비동기 처리를 도와주는 좋은 라이브러리들이 존재합니다.
대표적으로 Coroutine, RxJava 등이 있습니다
5. 아키텍처 (Architecture)
안드로이드에서 클린 아키텍처 등을 이용하여 앱을 좀 더 체계적이고 구조를 나눠 만들 수 있습니다
공부해서 Clean Architecture를 적용해 프로젝트를 만들어 보세요
5. CS/ 안드로이드 개념 (CS/ Concept)
대충 열심히 공부하다 보면 어느새 3학년이 되어있을 겁니다!
취업준비를 해야 하겠죠, 이때 중요한 건 면접 준비를 준비해야 한다는 건데요, 경험상 한 번에 몰아서 하면 힘듭니다..;
조금씩 CS와 안드로이드 기본적인 개념 4대 컴포넌트 등의 아주 기본적이면서도 그냥 자연스럽게 지나쳤던 모든 개념들을 한 번씩 다시 봐보고 정리해볼 필요가 있습니다
'취뽀' 카테고리의 다른 글
안드로이드 개발자로 취업 준비하기 (feat.마이스터고) (2) | 2022.03.21 |
---|---|
안드로이드 면접 질문 대비 (2) | 2022.03.08 |