코틀린을 배워보며 안드로이드 앱을 만드는 와중에
기본으로 제공했었다는 kotlin-android-extensions 라는 플러그인이 더 이상 기본 제공이 되지 않는다고 한다.
그래서인지 자동으로 작동되지가 않더라.
(처음에 이유를 몰라서 삽질 좀 함....)
구글링해보니 편하긴 하지만 좋은 플러그인이 아니라고 한다. (왜..?)
여튼... 안드로이드 4.1 버전부터는 'kotlin-android-extensions'가 기본적으로 제공되지 않는다고 한다.
왜 더 이상 사용하지 않을까?
kotlin-android-extensions은 findViewById의 반복적인 작업을 제거하려고 만들어졌고,
내부적인 캐시를 통해 재사용성을 높인다고 한다.
하지만 RecyclerView의 ViewHolder에서는 그렇지 않다고 한다.
내가 아직 잘 몰라서 나중에 보완해서 내용 추가하겠다.
1. 동일한 id를 가진 widget이 문제가 된다고 한다.
특히 가장 큰 문제는 런타임 때 즉시 오류가 발생한다고 한다.
사실 id를 동일하게 네이밍 하는 경우는 혼자 개발할 경우에는 거의 없을 것이다.
하지만 개발이란게 혼자 하는것이 아니다보니... 어쩔 수 없나보다.
2. ViewHolder에서는 캐싱을 해주지 않는다.
사실 이러한 점들은 findViewById가 사용하기 편해졌기 때문에 findViewById만 사용해도 충분할 수 있다고 한다.
하지만 실수를 줄이기 위해서는 ViewBinding이 더 좋다고 한다.
(사실 이제 걸음마 수준이라 전혀 와닿지 않는다..ㅎㅎ;)
ViewBinding 관련 영상
(언젠가 영어 좀 능숙해지면 이런거 꼭 돌려본다....)
마무리
kotlin-android-extension 플러그인을 아예 사용하지 못하는것도 아니고...
사실 갖다 쓰면 된다.
하지만 기왕 하는거 권장하는 방식으로 바꿔서 해보려고 한다.
확실히 뭐랄까.... 앱 정말 재밌다.
꾸준히 공부해야지
'프로그래밍 > 기타' 카테고리의 다른 글
[Vue.js] click 이벤트 submit 새로고침 방지 (0) | 2022.01.27 |
---|---|
Vue 2에서 vue-cli 대신 Vite 사용하기 (0) | 2022.01.16 |
[nods.js] Express로 서버 구축하기 (w/o Generator) - 1 (0) | 2021.10.08 |
[CSS] 말줄임 표시 하는 방법 (0) | 2021.10.04 |
Spring과 React 통신 시에 CORS 에러 해결 (0) | 2021.06.10 |