[Android/Kotlin] 3 새롭게 다루는 것들

[Android/Kotlin] 3 새롭게 다루는 것들

더 나은 성능, 사용성을 위해 새로운 기술들을 배워보겠다.


젯팩(Jetpack)

  • x안드로이드는 모든 버전과 기기에서 일관되게 동작하는 젯팩(Jetpack) 라이브러리를 제공한다.

  • 안드로이드 개발자들은 수많은 파편화로 인해 각각의 버전 및 기기별로 여러 버전의 코드를 작성해 왔다.

  • 이런 문제들을 해결하기 위해 젯팩이 개발되었고, 개발자들은 필요한 로직에만 집중할 수 있게 되었다.

젯팩을 사용하는 이유

  • 젯팩을 사용하는 이유는 다음과 같이 세 가지로 볼 수 있다.

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

    • 낮은 복잡도

  • 모든 버전 및 기기에서 일관된 동작으로 코드의 복잡도를 낮춰준다.

젯팩 라이브러리

  • 젯팩은 약 90개 정도의 라이브러리르 제공한다.

  • 다음은 입문 단계에서 꼭 필요한 라이브러리이다.

    • Collection

    • ConstraintLayout

    • Fragment

    • RecyclerView

    • ViewPager2

    • Preference

    • Room

뷰 바인딩(ViewBinding)

  • 안드로이드에서 뷰 객체에 접근하기 위해서는 findViewById()를 사용하였다.

  • 안드로이드는 findViewById를 떨쳐내고(deprecate) 뷰 바인딩을 지원한다.

코루틴

  • 백그라운드 처리를 위해 사용되던 스레드(Thread)를 경량화한 코루틴(Coroutine)이 제공된다.

  • 동시성 프로그래밍이 가능한 코루틴은 다른 언어에서 이미 사용되고 있는 개념이며, 이를 Kotlin에 도입한 것이다.

  • 기존의 스레드는 코루틴을 위해 실행 가능한 공간을 제공하는 역할만 하며, 하나의 스레드에 여러 개의 코루틴이 존재할 수 있도록 설계되었다.

    • 그래서 2개 이상의 코루틴이 있을 때 프로세스 흐름이 코루틴 1에서 코루틴 2로 변경된다 하더라도 기존 스레드의 변경에서 발생할 수 있었던 성능 저하는 발생하지 않는다.

© 2023. All rights reserved.

by SoftyChoo