1. Jetpack Compose란?
구글에서 안드로이드 UI 개발을 간소화하기 위해 설계한 최신 툴킷이다. UI가 어떻게 구성되어야 한다고 선언하는 방식이다.(선언형 UI 프레임워크) 명령형 UI 프레임워크가 아니다. 선언된 내용을 보고 Compose가 알아서 UI를 구성한다는 개념이다. 과거에 안드로이드 앱을 개발할 때는 앱의 디자인, 레이아웃은 XML로 구성하고 제어는 코틀린과 자바로 했었는데 Compose라는 툴킷이 등장하면서 이런 복잡함이 사라졌다. UI를 구성할 때는 코틀린을 사용한다. 데이터가 변경되면 프레임워크가 이러한 함수를 다시 자동으로 실행해 UI 계층 구조를 업데이트한다. Compose는 코틀린의 강력하면서도 직관적인 기능이다. Compose를 사용하면 구성 가능한 함수(데이터를 받아 UI 요소를 설명하는 함수)를 정의하여 UI를 빌드할 수 있다.
※ 장점
1. 선언형 프로그래밍 : UI 상태를 선언하고 UI 상태 변경 시 자동으로 업데이트
2. 코틀린 기반 : 개발자들이 이미 친숙한 언어고 읽기 쉬움
3. 반응형 프로그래밍 : UI 상태 관리에 걱정할 필요가 없음(상태 변경 시 자동 업데이트)
4. 모듈화 : 구성 가능한 함수(컴포저블)를 이용해 작은 요소 단위까지 나눌 수 있음
2. 구성 가능한 함수(컴포저블)
@Composable 주석이 붙는 함수를 구성 가능한 함수라고 한다. 컴포저블이라고도 부른다. 컴포저블은 다른 컴포저블을 호출할 수 있다. Jetpack Compose 컴파일러에는 다양한 내장 주석이 포함되어 있는데 @Composable, @Preview가 대표적인 예다. 컴파일러란 개발자가 작성한 코드를 한 줄씩 보고 컴퓨터가 이해할 수 있는 언어(기계어)로 변환하는 특수 프로그램이다. 구성 가능한 함수는 UI 일부를 설명하며 아무것도 반환하지 않는다. 그리고 몇 개의 입력을 받아 화면에 표시되는 내용을 생성한다. Jetpack Compose는 구성 가능한 함수를 중심으로 빌드되었다.
※ 구성 가능한 함수 이름 특징
1. 명사여야 함 : DoneButton()
2. 동사 또는 동사구이면 안 됨 : DrawTextField()
3. 명사화된 전치사이면 안 됨 : TextFieldWithLink()
4. 형용사 안 됨 : Bright()
5. 부사 안 됨 : Outside()
6. 명사 앞에 명사를 설명하는 형용사를 붙일 수 있음 : RoundIcon()
'IT > 코틀린(Kotlin)' 카테고리의 다른 글
코틀린(Kotlin) Text 함수 매개변수 2(글자 스타일, 글자 두께, 글꼴) (1) | 2024.11.19 |
---|---|
코틀린(Kotlin) Text 함수 매개변수 1(수정자, 글자 색상, 글자 크기) (1) | 2024.11.18 |
안드로이드 스튜디오 Install Android Emulator hypervisor driver 문제 해결 방법 (0) | 2024.11.11 |
안드로이드 스튜디오 가상 기기(AVD) 만드는 방법 (1) | 2024.11.09 |
안드로이드 스튜디오 Empty Compose Activity 보이지 않을 때 해결 방법 (0) | 2024.11.04 |