[Android] ViewBinding과 DataBinding 파헤치기

ansehun·2022년 12월 13일
0
post-thumbnail

개요

안드로이드 어플리케이션을 만들면서 Viewbinding과 Databinding이 최근에 많이 적용되는 것을 볼 수 있다. 기존에는 findViewById()를 사용했는데 왜 바뀌었는지 알아보려 한다!

정의

  • 연결된 두 데이터 혹은 소스를 일치시키는 기법
  • XML에 Data를 부착하는 것

장점

  • findViewById()를 더 이상 사용하지 않아도 된다. 기존에는 XML의 모든 View에 대해서 호출을 하기 위해 매번 Layout 파일 트리를 탐색했다면 이제는 그렇지 않아도 된다.
  • Data가 바뀌면 자동으로 View를 변경할 수 있다.

Databinding VS Viewbinding

  • 이 부분에 대해서 많이 궁금해서 찾아봤는데 결론은 'Viewbinding은 Databinding'에 속한다!
  • 기존에는 View와 Model을 엮어주는 역할을 하기 위해서 Databinding을 만들었음.
  • 많은 사람들이 Layout의 View를 참조하기 위한 목적으로 사용하기에 Viewbinding을 따로 만들었음.

Viewbinding

  • 태그가 필요하지 않고 Annotation도 없기 때문에 Databinding 보다 빠름.
  • Null과 Type에 대해 안전하다는 장점이 있음.
  • 동적 UI 콘텐츠를 XML에서 사용할 수 없음.
  • 양방향 바인딩, Binding Adapter을 할 수 없음.

Databinding

  • 태그가 필요하며 viewbinding 보다 느림.
  • 동적 UI 콘텐츠를 XML에서 사용할 수 있음.

사용법

android {
  buildFeatures {
  viewBinding = true
      }
}

Viewbinding

Databinding

0개의 댓글