Color § Typo § Icon § Radius § 등 가장 기본적인 시각 규칙 모임 코어 컴포넌트 § Bar § Badge § Button § Chip § 등 공통으로 사용하는 기본 컴포넌트 프로덕트 컴포넌트 § Core comp Core comp § Core comp Non core comp § Non core Non core
Color § Typo § Icon § Radius § 등 가장 기본적인 시각 규칙 모임 코어 컴포넌트 § Bar § Badge § Button § Chip § 등 공통으로 사용하는 기본 컴포넌트 프로덕트 컴포넌트 § Core comp Core comp § Core comp Non core comp § Non core Non core
Color § Typo § Icon § Radius § 등 가장 기본적인 시각 규칙 모임 코어 컴포넌트 § Bar § Badge § Button § Chip § 등 공통으로 사용하는 기본 컴포넌트 프로덕트 컴포넌트 § Core comp Core comp § Core comp Non core comp § Non core Non core
3.0 § 생산성 제고 § 목적으로는 더 빠른 속도로 디자인 / 개발 / 배포하여 경험의 혁신 속도를 빠르게 가져가는 것 § 개발적으로는 중복 작업, UI 개발비용 절감 § 일관된 UI § 모양새는 비슷하더라도 Android / iOS / Web 별로 조금씩 별도로 제작되고 있는 UI/UX 통일 § 모양새는 비슷하더라도 각 서비스별로 조금씩 별도로 제작되고 있는 UI/UX 통일 배시시에 대해 더 궁금하다면? 우형 디자인시스템, 배시시를 소개합니다 발표 참조
Compose 는 디지털 인터페이스를 만들기 위한 포괄적인 시스템인 Material Design 구현을 지원합니다. § Color System § Typography § Shape § Ripple § Etc.. https://material.io/design/introduction#theming The color, typography, and shape of Material Components like buttons can be easily modified to match your brand. Material Theming makes it easy to customize Material Design to match the look and feel of your brand, with built-in support and guidance for customizing colors, typography styles, and corner shapes. Theming
Compose 는 디지털 인터페이스를 만들기 위한 포괄적인 시스템인 Material Design 구현을 지원합니다. § Color System Color Palettes § Light Color § Dark Color § Jetpack Compose는 기본으로 위 프리셋을 참조함 § 하지만… 그러기엔 너무 적은걸료..? 그리고 iOS 는..?
§ 하지만 우리는 100 Jetpack Compose 가 아닌데요?? § Resource 에 테마를 정의하고 Compose Theme 가 가져와서 사용하는 방식을 채택 § 을 했었다가 resource 는 resource 대로, Compose 는 Compose 대로 업데이트 하는 방식으로 다시 수정 삭. 제.
h5, body.. 등 § Theme 에서 lineHeight 를 설정할 수 있음 § 특이사항으로는 platformStyle 을 재정의하여 font padding 을 제거하고 있음 § Compose 1.2 이상 § https://developer.android.com/jetpack/compose/text?hl=ko#includefontpadding_and_lineheight_apis § 1.2.0-alpha05 – 1.2.0-alpha08 까지는 false 가 기본값, 1.2.0-beta01 부터 재정의 가능 Shape § RoundedConerShape
h5, body.. 등 § Theme 에서 lineHeight 를 설정할 수 있음 § 특이사항으로는 platformStyle 을 재정의하여 font padding 을 제거하고 있음 § Compose 1.2 이상 § https://developer.android.com/jetpack/compose/text?hl=ko#includefontpadding_and_lineheight_apis § 1.2.0-alpha05 – 1.2.0-alpha08 까지는 false 가 기본값, 1.2.0-beta01 부터 재정의 가능 Font padding = true Font padding = false
h5, body.. 등 § Theme 에서 lineHeight 를 설정할 수 있음 § 특이사항으로는 platformStyle 을 재정의하여 font padding 을 제거하고 있음 § Compose 1.2 이상 § https://developer.android.com/jetpack/compose/text?hl=ko#includefontpadding_and_lineheight_apis § 1.2.0-alpha05 – 1.2.0-alpha08 까지는 false 가 기본값, 1.2.0-beta01 부터 재정의 가능 Shape § RoundedConerShape
것은? § 피그마파일을 보고 사용하는 개발자가 한눈에 이해할 수 있는가? 디자인시스템을 사용함으로써 공수가 줄어들어야 함 Product Developer 가 참고하는 화면 한눈에 이해하기 위해서는? § 네이밍과 타입, 상태 등을 피그마와 동일시하기 § 전부 맞출 순 없겠지만.. 그래도 최대한..
Jetpack Compose 시멘틱 § Content Description § nullable 이긴 하지만 default parameter 가 없음 ex: Image § Content Description 만 설정해도 많은 문제가 해결됨 § Role 을 지정해보자 § clearAndSetSemantics 를 활용하는 방법 https://developer.android.com/jetpack/compose/semantics?hl=ko
Compose 가 Material Design 혹은 Guideline 을 매우 잘 지키고 있음 § 구현코드 속에 숨어있어, 발견하기 쉽지 않은 문제 § 사소하지만 View 와는 다른 API § Ex Compose Text 에서는 Ellipsize TextOverflow.Ellipsis middle 옵션을 제공하지 않음
Compose 가 Material Design 혹은 Guideline 을 매우 잘 지키고 있음 § 구현코드 속에 숨어있어, 발견하기 쉽지 않은 문제 § 사소하지만 View 와는 다른 API § Ex Compose Text 에서는 Ellipsize TextOverflow.Ellipsis middle 옵션을 제공하지 않음
Compose 가 Material Design 혹은 Guideline 을 매우 잘 지키고 있음 § 구현코드 속에 숨어있어, 발견하기 쉽지 않은 문제 § 사소하지만 View 와는 다른 API § Ex Compose Text 에서는 Ellipsize TextOverflow.Ellipsis middle 옵션을 제공하지 않음
비용 실제 컴포넌트 개발에 사용하는 비용 § Jetpack Compose 의 장점! 빠른 개발속도! § 선언형 API § 컴포넌트의 상태에 따라 그리기만 하면 되기 때문 비즈니스 로직 분리 § 간단하게 작성할 수 있는 코드 RecyclerView § 컴포넌트 재사용 § 다른 컴포넌트와 합성하여 사용할 수 있기 때문에 개발시간 단축 § 코드 감소
불편한 Preview § 잘못 사용했을 경우 잘 그려지지 않음 § 느린 LiveEdit 기능 § 배시시에서 사용하기 위해 Compose 버전업 § 메인 프로젝트 kotlin 버전업 ? § 메인 프로젝트 target 버전업 ? https://developer.android.com/jetpack/compose/tooling#live-edit