2024/04 4

Jetpack Compose : Strong Skipping Mode

주의 사항 : Strong Skipping Mode는 현재 실험적이고 아직 프로덕션 용도로 사용될 준비가되지 않았습니다. Compose 1.7에서 활성화 하는 것을 목표로 하고있습니다 Strong Skipping ModeCompose Compiler 1.5.4 version에 추가된 실험적인 모드입니다.Strong Skipping Mode를 적용시킨다면 아래와 같은 두가지 방법으로 동작을 변경시킵니다.- 불안정한 매개변수가 있는 컴포저블을 안정화(skippable)하게 변경합니다.- 불안정한 Lambda는 remember를 적용시킵니다.skippable : 컴파일러가 컴포저블을 건너뛸 수 있음. 리컴포지션이 되지 않음  Composable skippability기본적으로 Compose 컴파일러는 Comp..

Preference Datastore

언제 쓸까?로그인 세부 정보 저장, 다크모드 설정, 글꼴 크기 등 작고 간단한 데이터 세트에 적합대용량 or 복잡한 데이터 → Room을 쓰자.  Jetpack DataStore 라이브러리 → 데이터 저장을 위한 간단하고 안전한 비동기Preference DataStore : key-value로 저장Proto DataStore : 프로토콜 버퍼를 사용하여 스키마 정의 → Strong Type 데이터 유지 가능Proto DataStore는 type safety, 효율적이지만 구성과 설정이 필요함Preference DataStore는 쉽게 설정 가능  필수 추가 종속성implementation("androidx.datastore:datastore-preferences:1.0.0")implementation("..

Android 2024.04.25

구글 권장 앱 아키텍처

Clean : UI → Domain ← Data Google : UI → Domain(optional) → Data UI Layer UI 레이어 : 화면에 애플리케이션 데이터를 표시 사용자 상호작용 또는 외부 입력으로 인해 데이터가 변할 때마다 변경사항을 반영하도록 UI가 업데이트 돼야함. UI Element + UI State = UI State를 활용해서 UI를 나타내줘야함 우수 사례 data class NewsUiState( val isSignedIn: Boolean = false, val isPremium: Boolean = false, val newsItems: List = listOf(), val userMessages: List = listOf() ) data class NewsItemUiS..

Android 2024.04.19

SOPT 34th 안드로이드파트 미미나 - Well Made Component

안녕하세요. SOPT 34기 안드로이드 파트 OB 박동민입니다. 이번 안드로이드 파트에서는 Android의 최신 기술인 Compose를 도입하였습니다. 그렇다보니 XML에 익숙한 많은 분들이 헷갈려하시고, 방향을 잡지 못하시는 것 같아 조금이나마 도움을 드리고자 미미나를 하게 되었습니다. 오늘 공유하고자 하는 내용은 Component를 "잘" 만드는 방법입니다. 목차 Compose UI의 구조 Composable을 재사용해보자 State Hoisting이란 뭐고 왜 적용해야 할까? Slot API이란 뭐고 왜 적용해야 할까? Compose UI의 구조 Compose 공식문서에서 위와 같이 Compose의 Layout은 Node로 구성되어있다고 설명되어있다. 즉, Compose는 Tree구조를 가지고 있다..

대외활동/SOPT 2024.04.08