기존 안드로이드 개발에는 어떤 어려움이 있을까요? 추상화된 어댑터의 작성, 복잡한 프레임워크의 코드들, 리액트 앱 개발의 어려움... Compose는 이러한 부분들을 개선하기 위한 많은 노력이 담긴 라이브러리입니다. Compose를 통해서 네이티브 안드로이드 앱을 좀 더 빠르고 쉽게 만들 수 있습니다.
단 몇 줄의 코드로 완성하는 UI
스크롤이 되는 리스트를 작성할 때를 예로 들어봅시다. 기존 안드로이드 코드로 리스트를 작성하기 위해서는 어댑터와 리사이클러뷰를 작성하는 데만 해도 엄청나게 많은 코드와 시간이 필요합니다.
기존의 안드로이드 리스트 코드
하지만 Compose에서는 단 몇 줄의 코드만 작성하면 됩니다.
Jetpack Compose의 리스트 코드
이렇듯 Compose를 사용하면 개발이 획기적으로 빨라집니다. UI와 비즈니스 로직의 분리 또한 확실해집니다. 이러한 선언적 UI 방식은 다른 플랫폼이나 프레임워크(Flutter, Swift UI)에서 이미 검증된 개발 방식입니다. 앞으로는 안드로이드를 개발할 때도 필수적일 것입니다.
강의 기획 배경
Compose의 정식 버전이 발표되었지만, 아직 많은 분들이 잘 모르거나, 관심이 없거나, 혹은 참고할 레퍼런스가 부족하다는 이유로 입문을 어려워하는 상황입니다. 이 강의는 Compose에 입문하려는 분들이 참고할만한 레퍼런스 역할을 위해 제작되었습니다.
좀 더 모던한 방식으로 안드로이드 UI 작성하기
이 강의는《오준석의 안드로이드 생존코딩 코틀린편》에 있는 예제들을 Compose를 활용하여 다시 만들어보는 형식으로 진행됩니다. 이 과정을 통해 어떻게 기존 기술들이 Compose에서 구현될 수 있는지 알 수 있습니다. 책을 읽는 것이 이 강의를 수강하는 데 도움은 줄 수는 있으나, 꼭 책이 필요하지는 않습니다. 책에서 다루고 있는 것과 상응하는 지식을 가진 분이라면 충분히 도움이 될 것입니다.
강의 수강 대상
이 강의를 수강하기 위해서는 이미 안드로이드 개발 지식이 어느 정도는 있어야 합니다. 안드로이드 개발 경험이 없거나, 코틀린 문법을 모른다면 이 강의를 수강하기 어렵습니다. 적어도 간단한 앱을 코틀린 코드로 작성해보고 공부해본 경험이 있어야 강의 내용을 이해할 수 있습니다.
강의 특징
이 강의에서는 Compose의 깊은 내용까지 다루지 않습니다. 《오준석의 안드로이드 생존코딩 코틀린편》에 수록된 8가지 예제를 Compose로 작성하는 과정을 통해 기존 방식을 어떻게 Compose에 맞게 작성할 수 있는지를 배우게 됩니다. 예제를 작성해 나가면서 필요한 지식을 습득할 수 있을 것입니다.
예제로 배우는 Jetpack Compose
이 강의에서는 먼저 Compose의 기초를 익힌 이후 예제를 통해 Compose의 사용법을 배우게 됩니다. 각 예제에서 배울 수 있는 내용은 다음과 같습니다.
비만도 계산기 화면 전환 (Navigation)
스톱워치 Timer 활용, ViewModel
나만의 웹 브라우저 WebView의 컴포저블화
전자액자 화면 좌우 스크롤, 스크롤 애니메이션
수평측정기 가속도계 센서 활용, Canvas
실로폰 소리 재생, 반복되는 UI 쉽게 작성하기
Gps Map 구글 맵, 위치 정보, 지도 위에 이동경로 그리기
TodoList MVVM 패턴, Room
예상 질문 Q&A
Q. 안드로이드 초보인데 이 강의를 수강해도 될까요?
코틀린 문법을 공부했다면 수강할 수 있습니다. Compose는 기존 안드로이드의 개발 방법을 아예 모르더라도 새롭게 배울 수 있습니다. 다만 문법에 대한 학습은 어느 정도 하고 듣는 것을 추천합니다.
Q. 수강 전에 강의가 어떻게 진행되는지 알 수 있는 방법이 없을까요?
이 강의에서는 비만도 계산기 예제를 무료로 공개하고 있습니다. 강의를 수강하기 전에 무료 강의를 들어보시고 강의 스타일이 맞다면 수강신청을 진행하시면 됩니다.
Q. 강의에서 사용하는 소스 코드가 제공되나요?
강의에서 다룬 모든 소스 코드는 물론, 강의에서는 다루지 않지만 《오준석의 안드로이드 생존코딩 코틀린편》에는 언급된 손전등 예제의 소스 코드도 제공됩니다.
Thank you for the great lecture.
I think it's really good as an introductory course because you explain things through practical exercises.
It helped me a lot in understanding the overall content of Compose.
Thank you for making a good lecture.
This is my first time with Android itself.
As a backend developer, I knew the Kotlin grammar.
I think this is a lecture that even those who are new to Compose and Android itself like me can listen to without any hesitation.
The only thing I was a little disappointed about was
I thought it would be a little difficult to apply in practice.
(I think it's probably because it's a beginner's lecture.)
Do you have any plans to make an intermediate lecture?
I would like to try a lecture that is close to practical source code.
Since there is no demand for Android lectures, I am focusing on offline classes for intermediate and advanced levels, but I will think about it. Thank you.
I am currently teaching at the Seoul City Seed Youth Academy. It is an education program for the unemployed, and the next session will be next year. If you have any questions about the offline lectures, please email me at junsuk.oh@survivalcoding.com and I will provide you with more information.
It was nice to be able to learn about Compose, even if it was late.
However, it really goes back a lot to apply the latest dependencies related to Scaffold and especially snackbar^^;;
That part is a little disappointing, but overall, it was a very valuable lecture.