본문 바로가기

안드로이드 프로그래밍/kotlin

[Android Studio] 03. 젯팩, 뷰 바인딩, 코루틴

▼ 젯팩

- 파편화되어 있는 수많은 버전에서 일관되게 동작하는 라이브러리 모음

 

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

 

- 젯팩을 사용하는 이유

① 하위 버전 호환성 

    최신 설계 방식을 바탕으로 빌드된 젯팩 라이브러리는 이전 버전과의 호환성 기능이 통합되어 비정상

    종료와 메모리 누수를 줄일 수 있게 해줌

② 반복되는 코드 제거 

    젝팩은 개발자가 비즈니스 로직을 작성하는 데 집중할 수 있도록 백그라운드 작업, 수명 주기 관리 등

    반복적이고 지루한 코드를 제거해줌

③ 낮은 복잡도

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

 

- 젯팩 라이브러리

  젝팩은 약 90개 정도의 라이브러리를 제공함

  • 컬렉션 (Collection)
  • 컨스트레인트 레이아웃 (ConstraintLayout)
  • 프래그먼트 (Fragment)
  • 리사이클러뷰 (RecyclerView)
  • 뷰페이저2 (ViewPager2)
  • 프리퍼런스 (Preference)
  • 룸 (Room)
  • 액티비티 (Activity)
  • 애너테이션 (Annotation)
  • 코어 (Core
  • .... 

 

 

 

▼ 뷰 바인딩

- 전통적인 findViewById() 에서 코틀린 익스텐션으로 대체되었던 뷰에 대한 접근이 뷰 바인딩이라는 방식으로 대체됨

  • 코틀린 1.4.20부터는 코틀린 익스텐션이 폐기 처리됨
  • 안드로이드 스튜디오 3.6 버전부터는 코틀린 익스텐션을 개선한 뷰 바인딩을 지원
  • 뷰 바인딩은 레이아웃 파일이 사용되는 모든 곳에서 코틀린 익스텐션을 대체할 수 있다.

 

 

 

▼ 코루틴

- 기존의 스레드를 대체하는 새로운 백그라운드 처리 방식

 

- 동시성 프로그래밍이 가능한 코루틴은 다른 언어에서 이미 사용되고 있는 개념을 코틀린에 도입한 것

 

- 기존의 스레드는 코루틴을 위해 실행 가능한 공간을 제공하는 역할만 하며, 하나의 스레드에 여러 개의 코로틴이 존재할 수 있도록 설계되었다. 그래서 2개 이상의 코루틴이 있을 때 프로세스 흐름이 코루틴 1에서 코루틴 2로 변경된다 하더라도 기존 스레드의 변경에서 발생할 수 있었던 성능 저하는 더 이상 발생하지 않는다.

728x90
반응형