본문 바로가기
르탄즈 5기

[르탄즈 5기] chapter 1-3. 새롭게 다루는 것들

by 박매트 2024. 1. 18.

젯팩(Jetpack)

  • 안드로이드는 모든 버전과 기기에서 일관되게 동작하는 젯팩(Jetpack) 라이브러리를 제공합니다.
  • 안드로이드 개발자들은 수많은 파편화로 인해 각각의 버전 및 기기별로 여러 버전의 코드를 작성해 왔습니다.
  • 이런 문제들을 해결하기 위해 젯팩이 개발되었고, 개발자들은 필요한 로직에만 집중할 수 있게 되었습니다.

젯팩 사용 이유

  • 하위 버전 호환성
    최신 설계 방식을 바탕으로 빌드된 젯팩 라이브러리는 이전 버전과의 호환성 기능이 통합되어 비정상 종료와 메모리 누수를 줄일 수 있게 해줍니다.
  • 반복되는 코드 제거
    젯팩은 개발자가 비즈니스 로직을 작성하는 데 집중할 수 있도록 백그라운드 작업, 수명 주기 관리 등 반복적이고 지루한 코드를 제거해줍니다.
  • 낮은 복잡도
    모든 버전 및 기기에서 일관된 동작으로 코드의 복잡도를 낮춰줍니다.
     

젯팩 라이브러리

  • 젯팩은 약 90개 정도의 라이브러리를 제공합니다.
  • 다음은 입문 단계에서 꼭 필요한 라이브러리라고 볼 수 있습니다.
     
    Collection
    ConstraintLayout
    Fragment
    RecyclerView
    ViewPager2
    Preference
    Room
     
     

뷰 바인딩(ViewBinding)

  • 안드로이드에서 뷰 객체에 접근하기 위해서는 findViewById()를 사용하였습니다.
  • 안드로이드는 findViewById를 떨쳐내고(deprecate) 뷰 바인딩을 지원합니다.

 

코루틴

  • 백그라운드 처리를 위해 사용되던 스레드(Thread)를 경량화한 코루틴(Coroutine)이 제공됩니다.
  • 동시성 프로그래밍이 가능한 코루틴은 다른 언어에서 이미 사용되고 있는 개념이며, 이를 Kotlin에 도입한 것입니다.
  • 기존의 스레드는 코루틴을 위해 실행 가능한 공간을 제공하는 역할만 하며, 하나의 스레드에 여러 개의 코루틴이 존재할 수 있도록 설계되었습니다.
     
  •  비동기적으로 실행되는 코드를 간소화하기 위해 Android에서 사용할 수 있는 동시 실행 설계 패턴입니다.

 

느낀 점

fragment..collectiono.. 등등 다 jetpack 의 라이브러리였구나..

코루틴은 백그라운드 처리를 위해 사용되는 스레드를 경량화 한 것 이었군. . .