본문 바로가기

recomposition

[ComposeInternals] Compose Runtime 고급 사용 사례 (Advanced Compose Runtime use cases) Jetpack Compose Internals를 참고하여 작성하였습니다 Compose Runtime vs Compose UICompose RuntimeCompose의 기본적인 기계 장치와 제공상태 관리와 composition 관련 원시 요소(primitives)를 제공UI에 제한되지 않고 다양한 트리 구조를 관리할 수 있음Kotlin이 실행되는 모든 플랫폼에서 사용 가능Android나 UI에 직접적인 의존성이 거의 없음Compose UI새로운 안드로이드 UI 툴킷, 캔버스 위에 LayoutNode 트리가 표현하는 내용을 그림안드로이드 UI 개발에 특화됨 멀티플랫폼 지원Compose Runtime은 UI 외에 다양한 트리 구조를 만드는데 사용할 수 있다Compose for DesktopAndroid 구현.. 더보기
[ComposeInternals] 컴포즈 런타임 (ComposeRuntime) - (3) Recomposer Jetpack Compose Internals를 참고하여 작성하였습니다 https://kancho.tistory.com/61 ComposeRuntime - (2)에서는 Composition에 대한 내용을 작성 이 글에서는 Recomposer에 대해 알아본다  RecomposerRecomposer는 ControlledComposition을 제어하고 변경 사항들을 적용하기 위해 필요할 때 Recomposition을 트리거한다또한 Composition을 시작하거나 Recomposition할 스레드 및 변경 사항을 적용할 때 필요한 스레드를 결정한다  Recomposer를 생성하고 invalidation을 대기 시키는 방법  Recomposer 생성 (Spawning the Recomposer)클라이언트에서 C.. 더보기
[Compose] Compose Phases Compose 공식 문서를 참고해 번역한 내용입니다.  Compose는 UI를 그리기 위해 3개의 단계를 거친다CompositionLayoutDrawing Compose Phase의 특징단방향 데이터 흐름 및 순차적 실행 (Composition -> Layout -> Drawing)이전 단계의 결과를 재사용할 수 있고 조건에 따라 단계를 skip할 수 있다최적화 (단계 내에서 상태(State)를 추적해 필요한 단계만 다시 실행)State 변경 -> Composition 다시Size 변경 -> Layout 다시색상 변경 -> Drawing 다시 CompositionComposable 함수를 실행하고 UI 설명을 생성UI 트리를 생성하거나 업데이트하는 단계이전 Composition과 비교해 변경된 점을 찾는.. 더보기
[Compose] Compose 이해하기 Compose 공식 문서를 참고해 번역한 내용입니다. Compose 이해Compose는 선언형 UI 도구선언형 API를 제공하여 앱 UI를 쉽게 관리 선언형 프로그래밍 패러다임 (Declarative Programming Paradigm) 기존 Android View 계층 구조는 UI 위젯의 트리로 표시findViewById 같은 함수를 사용해 트리를 탐색하고 메서드를 호출해 노드를 변경하는 방식기존 방식의 문제점휴먼에러가 발생할 가능성이 크다 대안으로 선언형 UI 프로그래밍으로 전환- 화면 전체를 개념적으로 재생성하고 필요한 변경사항만 적용하는 방식- Compose는 선언형 UI Framework Compose는Data를 받아 Composable 함수들을 정의하여 UI 요소를 내보내 UI를 빌드할 수 .. 더보기