[Android] Jetpack Compose를 사용해봤더니?
최근 회사에서 새로운 프로젝트를 2개 맡고있다.
신규 프로젝트다보니 아키텍처부터 어떻게 설계해야하는지, 차근차근 살피던 중 안드로이드 Jetpack Compose에 대해 알게되었다.
Jetpack Compose는 안드로이드의 UI를 그릴 때 기존 XML 파일에 그리던 방식을, 간단한 코드로 구현할 수 있도록 해주는 도구이다.
나는 XML 파일로 이것저것 레이아웃을 그리는 일이 적성에 맞아 재밌게 느껴질 때가 많았지만, XML 파일에서 레이아웃을 다 설계하고 코드로 다시 넘어와서 레이아웃을 정의하고 처리하는 일들이 번거롭게 느껴진 것은 사실이다.
그래서인지 Flutter 프로젝트를 맡게 되었을 때 신세계 같긴했다.(코드로 모든 UI를 그린다는 것이 매력적이었음.)
Jetpack Compose를 처음 봤을 때 이거 완전 Flutter랑 비슷하네! 라는 생각이 들었고, 마침 같은 프로젝트지만 iOS를 개발하는 동료가 Swift UI를 써보니 굉장히 편하다는 이야기를 해줘서 프로젝트에 적용해보게 되었다.
음 일단 약 한달정도 써본 후기는, 예상한대로 굉장히 편해졌다.
따로 XML 파일을 관리하지 않아도 되는 것도 좋고, 특히 위에서 이야기했던 RecyclerView와 Bottom Navigation, TapLayout 등 Adapter를 붙여주고 정의해주고 하는 일이 훨씬 줄어들었다.
리스트뷰같은 경우에도 LazyColumn 컴포저블을 생성해서 items만 정의해주면, 뚝딱뚝딱 완성되었다.
그리고 기존 XML로 작업했던 프로젝트와도 호환이 되기때문에, 앞으로는 많은 기업들이 Jetpack Compose로 넘어오지않을까? 라는 생각이 들었다.
실제로 원티드랩에서도 Jetpack Compose 사용 경험을 우대해준다는 내용이 많아졌다.
단점도 분명하게 존재했는데, 아직 출시된지 얼마 되지 않아서 그런지 레퍼런스가 많이 부족해 오류가 나거나 했을 때는 안드로이드 내부 코드를 직접 보면서 원리를 이해하고 사용해야하는 부분이 있었다.
난 내부 코드를 보는 것도 굉장히 도움된다고 생각하기때문에, 단점이자 장점일 수도 있겠다 ㅎㅎ
그리고, 기존의 View에 비해 구글이 만들어놓은 컴포저블이 많지 않거나 혹은 부족한 기능이 있을 때는 직접 하나하나 기능을 구현해야한다는 번거로움도 존재했다.
아직 출시된지 얼마 되지않았고, 분명 단점도 뚜렷하지만 직접 사용해보니 앞으로 Jetpack Compose를 사용하는건 머지않아 필수가 되지 않을까 추측해본다.
앞으로 Jetpack Compose 관련 포스팅을 많이많이 올려볼 생각이다! :)
'프로그래밍' 카테고리의 다른 글
[Git] SourceTree에서 Feature 브랜치 병합 Issue (0) | 2022.08.20 |
---|---|
[Android] Jetpack Compose Bottom Navigation (0) | 2022.08.18 |
안드로이드 과외 첫 수업 리뷰 (0) | 2022.08.16 |
댓글
이 글 공유하기
다른 글
-
[Git] SourceTree에서 Feature 브랜치 병합 Issue
[Git] SourceTree에서 Feature 브랜치 병합 Issue
2022.08.20 -
[Android] Jetpack Compose Bottom Navigation
[Android] Jetpack Compose Bottom Navigation
2022.08.18 -
안드로이드 과외 첫 수업 리뷰
안드로이드 과외 첫 수업 리뷰
2022.08.16