Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Compose 2025.1.27
Slide 2
Slide 2 text
©MIXI 2 MIXI Android / iOS / Flutter 2017 Android 2014 @oidy
Slide 3
Slide 3 text
UI 5
Slide 4
Slide 4 text
©MIXI 1. 4 val Gray = Color(0xFFCCCCCC) val LightGray = Color(0xFFEEEEEE)
Slide 5
Slide 5 text
©MIXI 2. 5
Slide 6
Slide 6 text
©MIXI 3. UI 6 @Composable fun UserIcon( uiState: UserScreenUiState ) @Composable fun PostButton( viewModel: PostScreenViewModel )
Slide 7
Slide 7 text
©MIXI 4. UI 7 @Composable fun UserIcon(...) @Composable fun UserIcon2(...) @Composable fun UserIcon3(...)
Slide 8
Slide 8 text
©MIXI 5. padding 8 16 - (48 - 18) / 2 = 1 Material Design 48 x 48 dp
Slide 9
Slide 9 text
©MIXI 9 minimo 3 2 1 Figma Figma Code Connect
Slide 10
Slide 10 text
minimo
Slide 11
Slide 11 text
©MIXI 11 https://minimodel.jp/about
Slide 12
Slide 12 text
©MIXI • • View Compose • Figma 12 app app : https://speakerdeck.com/oidy/regasina-android-apurinoriakitekutiyazhan-lue
Slide 13
Slide 13 text
Figma
Slide 14
Slide 14 text
©MIXI 14 Figma App Screen Screen A Screen B Library Components Styles UI ( )
Slide 15
Slide 15 text
©MIXI 15 app Figma App Screen Screen A Screen B feature:b feature:a
Slide 16
Slide 16 text
©MIXI 16 app Figma App Screen Screen A Screen B feature:b feature:a Library Components core:ui
Slide 17
Slide 17 text
©MIXI 17 app Figma feature:b feature:a Library Components Styles core:designsystem core:ui App Screen Screen A Screen B
Slide 18
Slide 18 text
©MIXI 18 app feature:b feature:a core:designsystem core:ui internal public Color, ColorScheme, Typography Theme core:ui Theme
Slide 19
Slide 19 text
©MIXI 19 Figma variables Kotlin internal val White = Color(0xFFFFFFFF) internal val Black = Color(0xFF1C1C1C) internal val lightColorScheme = lightColorScheme( surface = White, onSurface = Black, ) internal val darkColorScheme = darkColorScheme( surface = Black, onSurface = White, )
Slide 20
Slide 20 text
©MIXI 20 Kotlin internal val White = Color(0xFFFFFFFF) internal val Black = Color(0xFF1C1C1C) internal val lightColorScheme = lightColorScheme( surface = White, onSurface = Black, ) internal val darkColorScheme = darkColorScheme( surface = Black, onSurface = White, ) Material Color Scheme Color Scheme
Slide 21
Slide 21 text
©MIXI Color Scheme 21 internal data class MinimoColorScheme( val primaryVariant: Color, ) internal val lightMinimoColorScheme = MinimoColorScheme(BlueLight) internal val darkMinimoColorScheme = MinimoColorScheme(Blue) Material
Slide 22
Slide 22 text
©MIXI 22 internal val LocalMinimoColorScheme = staticCompositionLocalOf { lightMinimoColorScheme } CompositionLocal @Composable fun MinimoTheme(darkTheme: Boolean = isSystemInDarkTheme(), ...) { CompositionLocalProvider( LocalMinimoColorScheme provides if (darkTheme) { darkMinimoColorScheme } else { lightMinimoColorScheme }, ) { MaterialTheme(...) } } Theme
Slide 23
Slide 23 text
©MIXI 23 val ColorScheme.primaryVariant: Color @Composable @ReadOnlyComposable get() = LocalMinimoColorScheme.current.primaryVariant Extension Composable Text( text = text, color = MaterialTheme.colorScheme.primaryVariant, )
Slide 24
Slide 24 text
©MIXI 24 val ColorScheme.primaryVariant: Color @Composable @ReadOnlyComposable get() = LocalMinimoColorScheme.current.primaryVariant Extension Composable Text( text = text, color = MaterialTheme.colorScheme.primaryVariant, ) Theme
Slide 25
Slide 25 text
©MIXI 25 app feature:b feature:a core:designsystem core:ui
Slide 26
Slide 26 text
©MIXI UI 26 Buttons TextButton IconButton Chips FilterChip InputChip
Slide 27
Slide 27 text
©MIXI 27 Figma core:ui Buttons TextButton IconButton Chips Section Package FilterChip InputChip
Slide 28
Slide 28 text
©MIXI 28 Figma core:ui Buttons TextButton IconButton Chips Component Composable FilterChip InputChip
Slide 29
Slide 29 text
©MIXI 29 Figma core:ui Buttons TextButton text IconButton icon Properties Parameters Figma 1:1
Slide 30
Slide 30 text
Figma Code Connect
Slide 31
Slide 31 text
©MIXI Figma Code Connect Figma UI 2024 4 Compose, SwiftUI, React, HTML 31 @Composable fun Button(...) publish
Slide 32
Slide 32 text
©MIXI (2025 1 ) 32 Figma Code Connect Figma Dev Mode Relay Figma Organization or Enterprise Gradle Plugin & Library Figma Professional or Organization or Enterprise Figma Plugin Android Studio Plugin Ladybug Gradle Plugin Kotlin Plugin UI (JSON) Figma Figma Column, Row, Text build Composable
Slide 33
Slide 33 text
©MIXI UI 33 @FigmaConnect("https://www.figma.com/...") private class ButtonDoc { @FigmaProperty(FigmaType.Text, "text") private lateinit var text: String @FigmaProperty(FigmaType.Boolean, "enabled") private val enabled: Boolean = true @Composable private fun Example() { Button( onClick = {}, enabled = enabled, ) { Text(text = text) } } } URL Figma Property Boolean Text Enum Instance Compose Params Boolean String Enum Composable Figma
Slide 34
Slide 34 text
©MIXI UI 34 @FigmaConnect("https://www.figma.com/...") private class ButtonDoc { @FigmaProperty(FigmaType.Text, "text") private lateinit var text: String @FigmaProperty(FigmaType.Boolean, "enabled") private val enabled: Boolean = true @Composable private fun Example() { Button( onClick = {}, enabled = enabled, ) { Text(text = text) } } }
Slide 35
Slide 35 text
©MIXI UI 35 @FigmaConnect("https://www.figma.com/...") private class ButtonDoc { @FigmaProperty(FigmaType.Text, "text") private lateinit var text: String @FigmaProperty(FigmaType.Boolean, "enabled") private val enabled: Boolean = true @Composable private fun Example() { Button( onClick = {}, enabled = enabled, ) { Text(text = text) } } }
Slide 36
Slide 36 text
©MIXI : 36 @FigmaConnect(...) private class ButtonDoc { ... @Composable private fun Example() { if (enabled) { Button( onClick = {}, ) ... } else { Button( onClick = {}, enabled = enabled, ) ... } } }
Slide 37
Slide 37 text
©MIXI : Variant SwiftUI Code Connect hideDefault Compose 37 @FigmaConnect(...) @FigmaVariant("enabled", "false") private class DisabledButtonDoc { ... @Composable private fun Example() { Button( onClick = {}, enabled = false, ) ... } } @FigmaConnect(...) private class ButtonDoc { ... @Composable private fun Example() { Button( onClick = {}, ) ... } } enabled false
Slide 38
Slide 38 text
©MIXI UI 38
Slide 39
Slide 39 text
©MIXI : 39 ReservationHistoryMenu( ... price = "¥4,000", ) Figma Compose ( ) 1
Slide 40
Slide 40 text
©MIXI : 40 @FigmaProperty(FigmaType.Text, "price") private val price: Int = 0 ReservationHistoryMenu( ... price = "¥4,000", ) Int ( ) ReservationHistoryMenu( ... price = 4000, )
Slide 41
Slide 41 text
©MIXI UI Compose Preview publish CI 41 React "AI for prop mapping" Figma
Slide 42
Slide 42 text
©MIXI 42 minimo 3 2 1 Figma Figma Code Connect Figma : file, section, variable, component, property Compose : module, package, theme, composable, parameter Figma Figma UI