기존의 안드로이드 View 10년도 더 된 2010년에 설계 되었다. 그래서 한정된 하드웨어에서 맞춰져서 설계가 되어있다.

2021년에 들어와서는 더 넓은 화면, 더 좋은 사양, 폴더블 같은 동적인 표현력 있는 UI를 어떻게 구현할 것인가 대한 문제와 기존에 존재하던 View를 점점 발전 시키기에 한계가 있다.

그래서 6년전 부터 구글에서 Jetpack Compose를 개발하기 시작하였다.

JetPack Compose는 코틀린 기반으로 구현 되어있다. → 그뜻은 코틀린 언어의 장점들을 그대로 가지고 있다는 뜻

Unbundled releases

기존의 안드로이드 View 넘어설려면 플랫폼과의 강한 결합을 끊을수 있어야 한다.

기존의 View들은 안드로이드 OS를 통해서 전달 되기때문에 호환성 라이브러리를 계속 제공 하는것 보다는 완전히 분리된 플랫폼을 제공 하는게 좋다는 결론이 나왔다.

Jetpack Compose는 (지금 21년 11월 기준 ) 최대한 2주에 한번정도 라이브러리를 업데이트 하는 목표를 가지고 있다. 그래서 빠르게 새로운 기술이라던가 bug fix등 이뤄지고 있다.

안드로이드 API 21( Android 5.0 롤리팝)이상이면 어디든지 동일하게 UI를 구현할수 있다.

Declarative UI Toolkit

jetpack compose 강점중에 하나인 선언형 UI이다.

UI가 어떤식으로 구현해야 한다 정의만 내리면 definition에 의해서 동작은 알아서 하겠다고 하는것이 Declarative 가 주는 가장 큰 골자라고 할수 있다.

xml code.PNG

미리보기 UI.PNG