모던 안드로이드 - Jetpack Compose 입문

Android의 새로운 UI 작성법인 컴포즈 입문편

Jetpack Compose는 네이티브 UI를 빌드하기 위한 Android의 최신 도구 키트입니다. 적은 수의 코드, 강력한 도구 및 직관적인 Kotlin API를 사용하여 앱을 빠르고 생동감 있게 구현할 수 있습니다.

이런 걸 배워요

  • Compose로 UI 구성 방법
  • 오준석의 안드로이드 생존코딩 책의 예제들을 Compose로 작성하기
  • Compose와 연동하기 위한 ViewModel 작성 방법


좀 더 모던한 방식으로 안드로이드 UI 작성하기 📖

본 강의는 '오준석의 생존코딩 코틀린편' 책에 있는 예제들을 컴포즈를 활용하여 다시 만들어 보면서 어떻게 기존 기술들이 컴포즈에서 구현될 수 있는지 알 수 있습니다. 책을 보셨거나 그에 상응하는 지식을 가지고 계신 분들이 보시면 도움이 됩니다. 책에 실린 예제를 다른 기술로 재구성하지만 책이 필요하지는 않습니다.


왜 Jetpack Compose 인가요?

Compose를 사용하면 획기적으로 개발이 빨라지고, UI와 비지니스 로직의 분리가 확실해 집니다. 이러한 선언적 UI 방식은 다른 플랫폼이나 프레임워크(Flutter, Swift UI)에서 이미 검증된 개발 방법이며 앞으로 안드로이드 개발을 할 때 필수로 선택될 것입니다.

기존 안드로이드 개발의 어려운 부분은 추상화된 어댑터의 작성과 복잡한 프레임워크 코드들, 리액티브 앱 개발의 어려움 등 입니다.
Compose는 이러한 부분들을 개선하기 위해 많은 노력이 담긴 라이브러리입니다. Compose를 통해서 네이티브 안드로이드 앱을 좀 더 빠르고 쉽게 만들 수 있습니다.
예를 들면 기존에 스크롤 되는 리스트를 작성하기 위해 어댑터와 리사이클러뷰를 작성하는데만 해도 엄청 많은 코드와 시간이 필요합니다.

기존의 안드로이드 리스트 코드

하지만 Compose에서는 단 몇 줄의 코드만 작성하면 됩니다.

Jetpack Compose의 리스트 코드


강의 기획 배경

Compose 정식 버전이 발표되었지만 아직 많은 분들이 모르거나, 관심이 없거나, 아니면 참고할 만한 레퍼런스가 부족한 상황입니다. 이 강의는 Compose에 입문하려는 분들이 참고할 만한 레퍼런스 역할을 위해 제작하였습니다.


수강 타겟 🔑

강의 수강 대상

강의는 이미 안드로이드 개발 지식이 어느 정도 있는 사람을 대상으로 합니다. 따라서 아예 안드로이드 개발 경험이 없거나, 코틀린 문법을 모른다면 본 강의를 듣기 어렵습니다.
적어도 간단한 앱을 코틀린 코드로 작성해 보고 공부해 본 사람이 본 강의의 대상이 됩니다.


강의 특징 ✨

강의 특징

이 강의에서는 '오준석의 생존코딩 코틀린편' 책의 예제를 Compose로 작성하면서 기존 방식을 어떻게 Compose에 맞게 작성할 수 있는지를 배우게 됩니다.

책을 통해 학습했다면 좀 더 비교하며 공부하는데 시너지를 발휘할 수 있습니다.

강의는 Compose에 대해서 깊은 곳까지 가르쳐 주는 수업은 아닙니다. 예제를 작성해 나가면서 필요한 지식을 습득해 나갑니다.


학습 내용 📚

이 강의에서는 컴포즈의 기초를 다룬 이후에 다음 예제를 다룹니다.
각 예제에서 배울 수 있는 내용은 다음과 같습니다.

  • 비만도 계산기
    • 화면 전환 (Navigation
  • 스톱워치
    • Timer 활용
    • ViewModel
  • 나만의 웹 브라우저
    • WebView의 컴포저블화
  • 전자액자
    • 좌우 스크롤되는 화면
    • 스크롤시 애니메이션 효과
  • 수평측정기
    • 가속도계 센서 활용
    • Canvas
  • 실로폰
    • 소리 재생
    • 반복되는 UI 쉽게 작성하는 방법
  • Gps Map
    • 구글 맵
    • 위치 정보
    • 지도 위에 이동경로 그리기
  • TodoList
    • MVVM 패턴
    • Room