{"id":358191,"date":"2023-05-30T03:51:07","date_gmt":"2023-05-30T02:51:07","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=kotlin&#038;p=358191"},"modified":"2023-09-04T16:08:14","modified_gmt":"2023-09-04T15:08:14","slug":"compose-multiplatform-for-ios","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/ko\/kotlin\/2023\/05\/compose-multiplatform-for-ios\/","title":{"rendered":"Compose Multiplatform for iOS \uc54c\ud30c \ubc84\uc804 \ucd9c\uc2dc"},"content":{"rendered":"<p>Kotlin\uc73c\ub85c \ud06c\ub85c\uc2a4 \ud50c\ub7ab\ud3fc \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ub9cc\ub4e4 \uc218 \uc788\ub294 JetBrains\ub9cc\uc758 \uc120\uc5b8\ud615 \ud504\ub808\uc784\uc6cc\ud06c\uc778 Compose Multiplatform\uc5d0\uc11c \uc774\uc81c iOS\ub97c \uc9c0\uc6d0\ud569\ub2c8\ub2e4! \uc989, Compose Multiplatform\uc5d0\uc11c \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\ub97c 100% Kotlin\uc73c\ub85c \ud55c \ubc88\ub9cc \ube4c\ub4dc\ud558\uba74 Android, iOS \ub4f1\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774\ubc88 \ub9b4\ub9ac\uc2a4\uc5d0\uc11c \uc8fc\ubaa9\ud574\uc57c \ud560 \uc810\uc740 \uac04\ub7b5\ud558\uac8c \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li>Compose Multiplatform for iOS\uac00 \uc54c\ud30c \ubc84\uc804\uc73c\ub85c \ucd9c\uc2dc\ub418\uc5b4, \uc2e4\ud5d8\uc6a9\uc73c\ub85c \ub610\ub294 \ucde8\ubbf8 \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc0ac\uc6a9\ud574 \ubcf4\uc2dc\uace0 Kotlin\uc73c\ub85c \uacf5\uc720\ud558\ub294 \ubaa8\ubc14\uc77c \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\uc758 \ubbf8\ub798\ub97c \ub9cc\ub4e4\uc5b4 \ubcf4\uc138\uc694!<\/li>\n<li>Compose Multiplatform\uc740 Android\uc5d0\uc11c \uc774\ubbf8 UI \uac1c\ubc1c\uc5d0 \uc0ac\uc6a9\ub418\uace0 \uc788\ub294 API\ub97c \ud65c\uc6a9\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c Android \uac1c\ubc1c\uc790\ub3c4 Compose Multiplatform for iOS\ub97c \ube60\ub974\uace0 \uc190\uc27d\uac8c \uc2dc\uc791\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ucc98\uc74c \uc2dc\uc791\ud558\ub294 \uac1c\ubc1c\uc790\ub3c4 \uae30\uc874\uc758 \uac1c\ub150\uacfc \ubaa8\ubc94 \uc0ac\ub840\ub97c \ubc14\ud0d5\uc73c\ub85c \ud559\uc2b5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li>Compose Multiplatform for iOS\ub294 \uc54c\ud30c \ubc84\uc804 \ub9b4\ub9ac\uc2a4\uc774\uae30\uc5d0 \uc544\uc9c1 \uc791\uc5c5\uc774 \uc9c4\ud589 \uc911\uc778 \ubd80\ubd84\uc774 \ub9ce\uc2b5\ub2c8\ub2e4. \uacf5\uc720 Kotlin \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\uc758 \ubbf8\ub798\ub97c \ub9cc\ub4e4\uace0 \uc54c\ub9ac\uae30 \uc704\ud574\uc11c\ub294 \ucee4\ubba4\ub2c8\ud2f0\uc758 \ub3c4\uc6c0\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \uadf8\ub7ec\ub2c8 \ud55c\ubc88 \uc0ac\uc6a9\ud574 \ubcf4\uc2dc\uace0 <a href=\"#sharefeedback\">\ud53c\ub4dc\ubc31\uc744 \uacf5\uc720\ud574 \uc8fc\uc138\uc694<\/a>!<\/li>\n<\/ul>\n<p><!--more--><\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"CTA\" href=\"https:\/\/jb.gg\/compose\" target=\"_blank\" rel=\"noopener\">Compose for iOS \uc2dc\uc791\ud558\uae30<\/a><\/p>\n<p>JetBrains\ub294 Compose Multiplatform for iOS\ub97c KotlinConf 2023\uc5d0\uc11c \ucc98\uc74c\uc73c\ub85c \ubc1c\ud45c\ud588\uc2b5\ub2c8\ub2e4. \uc2e4\uc81c Compose Multiplatform for iOS\uac00 \uc2e4\ud589\ub418\ub294 \ubaa8\uc2b5\uc744 \uc790\uc138\ud788 \ubcf4\uace0 \uc2f6\uc73c\uc2e0 \uacbd\uc6b0 Sebastian Aigner\uc640 Nikita Lipsky\uc758 &#8220;Compose Multiplatform for iOS&#8221; \ubc1c\ud45c \uc601\uc0c1\uc744 \ucc38\uace0\ud558\uc138\uc694.<\/p>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Compose Multiplatform on iOS by: Sebastian Aigner and Nikita Lipsky\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/FWVi4aV36d8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n<h2 class=\"wp-block-heading\">\ube44\uc988\ub2c8\uc2a4 \ub85c\uc9c1\uc744 \ub118\uc5b4 \ud55c \ub2e8\uacc4 \ub354 \ubc1c\uc804\ud55c Kotlin Multiplatform<\/h2>\n<p><a href=\"https:\/\/kotlinlang.org\/docs\/multiplatform.html\" target=\"_blank\" rel=\"noopener\">Kotlin Multiplatform<\/a>\uc5d0\uc11c Kotlin \uac1c\ubc1c\uc790\ub4e4\uc740 \uc774\ubbf8 \uac80\uc99d\ub41c \ubc29\uc2dd\uc73c\ub85c \ucf54\ub4dc\ub97c \uacf5\uc720\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ud50c\ub7ab\ud3fc\ubcc4 API \ubc0f \uae30\ub2a5\uc5d0 \ub300\ud55c \uc561\uc138\uc2a4\ub97c \ud3ec\uae30\ud560 \ud544\uc694 \uc5c6\uc774 \ub2e4\uc591\ud55c \ud50c\ub7ab\ud3fc\uc5d0\uc11c \ube44\uc988\ub2c8\uc2a4 \ub85c\uc9c1\uc744 \uacf5\uc720\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub294 \ud504\ub85c\ub355\uc158 \uc0c1\ud0dc\uc758 \uc218\ub9ce\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uac80\uc99d\ub41c \ubc29\uc2dd\uc73c\ub85c\uc11c \uc810\uc810 \ub354 \ub9ce\uc740 \ud68c\uc0ac\uac00 \uc774\ub97c \ud65c\uc6a9\ud574 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ub0b4 \ubd88\ud544\uc694\ud55c \uc911\ubcf5 \ub85c\uc9c1\uc744 \uc5c6\uc560\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uadf8\ub7ec\ub098 \uc774\ub54c\uae4c\uc9c0 Kotlin Multiplatform\uc5d0\ub294 \ub9e4\uc6b0 \uc911\uc694\ud55c \ubd80\ubd84 \ud558\ub098\uac00 \ub204\ub77d\ub418\uc5b4 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \ud0c0\uae43 \ud50c\ub7ab\ud3fc\ub9c8\ub2e4 \ubcc4\ub3c4\uc758 \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ube4c\ub4dc\ud558\uace0 \uc720\uc9c0\ud558\uace0 \uc2f6\uc9c0 \uc54a\uc744 \ub54c \ud544\uc694\ud55c \uc194\ub8e8\uc158\uc774 \ubc14\ub85c \uadf8\uac83\uc774\uc5c8\uc2b5\ub2c8\ub2e4. \uc5ec\ub7ec\ubd84\uc758 \uc0c1\ud669\uc77c \uc218\ub3c4 \uc788\ub294 \uc774\uac83\uc774 \ud544\uc694\ud55c \uc774\uc720\ub294 \uc5ec\ub7ec \uac00\uc9c0\uc785\ub2c8\ub2e4. \uac01 \ud0c0\uae43 \ud50c\ub7ab\ud3fc\uc5d0 \ub9de\uac8c \uad6c\ud604\ud560 \ub9ac\uc18c\uc2a4\ub098 \uc778\ub825\uc774 \ubd80\uc871\ud574\uc11c\uc77c \uc218\ub3c4 \uc788\uace0, \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc0ac\uc6a9\uc790\uc5d0\uac8c \ucd5c\ub300\ud55c \ube68\ub9ac \ubc30\ud3ec\ud558\uace0 \ube60\ub974\uac8c \ubc18\ubcf5\ud574\uc57c \ud558\ub294 \uc0c1\ud669\uc774\ub77c \ub458 \uc774\uc0c1\uc758 UI\ub97c \ub3d9\uae30\ud654\ud558\uba70 \uc77c\uc77c\uc774 \uad6c\ud604\ud560 \uc2dc\uac04\uc774 \uc5c6\uc5b4\uc11c\uc77c \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>Compose Multiplatform\uc740 \uc774 \ubb38\uc81c\ub97c \ud574\uacb0\ud569\ub2c8\ub2e4. \uc5ec\uae30\uc5d0\uc11c \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ud55c \ubc88 \uad6c\ud604\ud558\uba74 \ubaa8\ub4e0 \ud0c0\uae43 \ud50c\ub7ab\ud3fc\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub294 Android \ubc0f iOS \uac04\uc5d0 \uacf5\uc720\ub418\uc5b4\uc57c \ud558\ub294 \uc77c\ubc18\uc801\uc778 \ubaa8\ubc14\uc77c\uc758 \uacbd\uc6b0\ub098 \ub370\uc2a4\ud06c\ud0d1 \ub610\ub294 \uc6f9\uacfc \uac19\uc740 \ucd94\uac00 \ud50c\ub7ab\ud3fc\uc774 \ud3ec\ud568\ub418\uc5b4\uc57c \ud558\ub294 \uacbd\uc6b0\ub97c \ubaa8\ub450 \uc544\uc6b0\ub985\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-356420\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/05\/architecture.png\" alt=\"\" width=\"840\" height=\"743\"><figcaption class=\"wp-element-caption\"><em>Compose Multiplatform\uc740 Kotlin Multiplatform \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc704\ud55c \uc120\ud0dd\uc801 \ub808\uc774\uc5b4\ub85c\uc11c, \uc774\ub97c \uc774\uc6a9\ud574 \uc120\uc5b8\ud615 \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ud55c \ubc88 \ube4c\ub4dc\ud558\uba74 \uc5ec\ub7ec \ud0c0\uae43 \ud50c\ub7ab\ud3fc\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/em><\/figcaption><\/figure>\n<h2 class=\"wp-block-heading\">Jetpack Compose\uc5d0\uc11c \ube4c\ub4dc<\/h2>\n<p>Compose Multiplatform\uc740 100% Kotlin\uc73c\ub85c \ub41c \ucd5c\uc2e0 Android \uac1c\ubc1c\uc5d0 \uad8c\uc7a5\ub418\ub294 UI \ud504\ub808\uc784\uc6cc\ud06c\uc778 Google\uc758 <a href=\"https:\/\/developer.android.com\/jetpack\/compose\" target=\"_blank\" rel=\"noopener\">Jetpack Compose<\/a>\ub97c \uae30\ubc18\uc73c\ub85c \ube4c\ub4dc\ub429\ub2c8\ub2e4. Compose Multiplatform\uc744 \uac1c\ubc1c\ud558\ub294 JetBrains \ud300\uc740 Google\uacfc \ud611\ub825\ud558\uba70 \ubcc0\uacbd \uc0ac\ud56d\uc744 \uc815\uae30\uc801\uc73c\ub85c Jetpack Compose \uc800\uc7a5\uc18c\uc5d0 \uc62c\ub9bd\ub2c8\ub2e4.<\/p>\n<p>Compose Multiplatform\uc758 API\ub294 Jetpack Compose\uc5d0\uc11c \uc774\ubbf8 \uac80\uc99d\ub41c API\uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c Jetpack Compose\ub97c \uc0ac\uc6a9\ud558\uc5ec \ucd5c\uc2e0 Android \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ub9cc\ub4e4\uc5b4 \ubcf8 \uacbd\ud5d8\uc774 \uc788\ub294 \uac1c\ubc1c\uc790\ub77c\uba74 \uc790\uc2e0\uc758 \uae30\uc220\uc744 \uadf8\ub300\ub85c \ud65c\uc6a9\ud558\uc5ec Compose Multiplatform\uc73c\ub85c iOS\uc640 \uae30\ud0c0 \ud50c\ub7ab\ud3fc\uc744 \ub300\uc0c1\uc73c\ub85c \uacf5\uc720 \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc791\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>API\uac00 \uc815\ub9d0 \uac19\ub2e4\ub294 \uc810\uc744 \uc124\uba85\ub4dc\ub9ac\uae30 \uc704\ud574, \uc0ac\uc6a9\uc790\uac00 \ubc84\ud2bc\uc744 \ub204\ub97c \ub54c\ub9c8\ub2e4 \uc774\ubbf8\uc9c0\uc758 \uac00\uc2dc\uc131\uc774 \ubcc0\ud654\ub418\ub3c4\ub85d \ud558\ub294 Compose Multiplatform \ucf54\ub4dc\uc758 \uc2a4\ub2c8\ud3ab\uc744 \uc608\uc2dc\ub85c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">\n@Composable\nfun App() {\n    MaterialTheme {\n        var showImage by remember { mutableStateOf(false) }\n        Column(Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally) {\n            Button(onClick = {\n                showImage = !showImage\n            }) {\n                Text(&quot;Toggle image&quot;)\n            }\n            AnimatedVisibility(showImage) {\n                Image(\n                    painterResource(&quot;compose-multiplatform.xml&quot;),\n                    &quot;Compose Multiplatform Logo&quot;\n                )\n            }\n        }\n    }\n}\n<\/pre>\n\n\n<p>Jetpack Compose\ub97c \uc774\uc804\uc5d0 \uc368 \ubcf8 \uacbd\ud5d8\uc774 \uc788\ub2e4\uba74 \ucf54\ub4dc\uc758 \uc0c1\ub2f9 \ubd80\ubd84\uc774 \uc775\uc219\ud558\uc2e4 \uac81\ub2c8\ub2e4. Compose Multiplatform\uc744 \uc0ac\uc6a9\ud558\uba74 \uc0c1\ud0dc \uad00\ub9ac, \ub808\uc774\uc544\uc6c3 \ubc0f \uc560\ub2c8\uba54\uc774\uc158\uc744 \ud3ec\ud568\ud55c \ucd5c\uc2e0 Android \uac1c\ubc1c\uc5d0 \uc0ac\uc6a9\ub418\ub294 \ub611\uac19\uc740 API\ub97c \ud65c\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub9ac\uc18c\uc2a4 \ub85c\ub4dc\uc640 \uac19\uc774 Jetpack Compose\uc5d0\uc11c \ud2b9\uc815 \uc2dc\uc2a4\ud15c\uc5d0 \ud55c\uc815\ub418\uc5b4 \uc788\ub294 \uc791\uc5c5\uc758 \uacbd\uc6b0, Compose Multiplatform\uc740 \uc704\uc758 \uc2a4\ub2c8\ud3ab\uc5d0 \uc788\ub294 <code>painterResource<\/code> \ud568\uc218\ucc98\ub7fc \ubaa8\ub4e0 \ud50c\ub7ab\ud3fc\uc5d0\uc11c \ud65c\uc6a9\ud560 \uc218 \uc788\ub294 \ud3b8\ub9ac\ud55c \ub300\uc548\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<p>\ubcf4\uc2dc\ub2e4\uc2dc\ud53c \uc774 \ucf54\ub4dc\ub294 Android \ubc0f iOS \ubaa8\ub450\uc5d0\uc11c \uc2e4\ud589\ub418\uba70 \uacb0\uacfc\ub3c4 \uc77c\uad00\ub429\ub2c8\ub2e4.<\/p>\n\n\n<figure class=\"wp-block-video\"><video controls loop muted src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/05\/gif2.mov\" playsinline><\/video><\/figure>\n\n\n<p>iOS\uc5d0\uc11c\ub294 \uadf8\ub798\ud53d \ub77c\uc774\ube0c\ub7ec\ub9ac\uc778 <a href=\"https:\/\/github.com\/JetBrains\/skiko\" target=\"_blank\" rel=\"noopener\">Skiko<\/a> \uae30\ubc18\uc758 \uce94\ubc84\uc2a4 \uad6c\ud604\uc744 \ud1b5\ud574 Compose Multiplatform \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\uac00 \ub79c\ub354\ub9c1\ub429\ub2c8\ub2e4. Android\uc5d0\uc11c Compose Multiplatform\uc740 Jetpack Compose\uc785\ub2c8\ub2e4. \uc774\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ud2b9\uc815 \ud50c\ub7ab\ud3fc\uc758 UI\ub85c \uc774\uc804\ud558\ub824\ub294 \uacbd\uc6b0\uc5d0\ub3c4 \uc5b4\ub5a0\ud55c \uc81c\uc57d\uc744 \ubc1b\uac70\ub098 \uc791\uc131\ud55c \ucf54\ub4dc\ub97c \ubc84\ub9ac\ub294 \uc77c \uc5c6\uc774 Android \uae30\ubc18\uc758 Compose Multiplatform \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uacc4\uc18d \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4\ub294 \uc758\ubbf8\uc785\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">Kotlin Multiplatform\uc5d0\uc11c \ube4c\ub4dc<\/h2>\n<p>Compose Multiplatform\uc73c\ub85c \ube4c\ub4dc\ub41c \uc571\uc740 Kotlin Multiplatform \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc785\ub2c8\ub2e4. \ub530\ub77c\uc11c \ub3d9\uc77c\ud55c \uae30\uc874\uc758 \uac80\uc99d\ub41c \uba54\ucee4\ub2c8\uc998\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc13c\uc11c, \ud658\uacbd \uc124\uc815, \ub370\uc774\ud130 \uc800\uc7a5, \uc554\ud638\ud654 \ub4f1\uacfc \uac19\uc740 \ud50c\ub7ab\ud3fc API\uc5d0 \uc561\uc138\uc2a4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub798\ud37c\ubd80\ud130 SDK\uc6a9 \ud06c\ub85c\uc2a4 \ud50c\ub7ab\ud3fc \ub798\ud37c\uae4c\uc9c0 \ubb34\uc5c7\uc774\ub4e0 \uc81c\uacf5\ud558\ub294 <a href=\"https:\/\/github.com\/terrakok\/kmm-awesome\" target=\"_blank\" rel=\"noopener\">Kotlin Multiplatform \ub77c\uc774\ube0c\ub7ec\ub9ac<\/a>\ub3c4 \ud65c\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubb3c\ub860, Kotlin Multiplatform\uc744 Compose Multiplatform\uacfc \ub3c5\ub9bd\uc801\uc73c\ub85c \uacc4\uc18d \uc0ac\uc6a9\ud558\uba70 \ube44\uc988\ub2c8\uc2a4 \ub85c\uc9c1, \ub124\ud2b8\uc6cc\ud06c \ubc0f \uae30\ud0c0 \ucd94\uc0c1\ud654\ub41c \ud56d\ubaa9\uc744 \uacf5\uc720\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">SwiftUI \ubc0f UIKit \ubdf0\uc640\uc758 \uc0c1\ud638\ud638\ud658\uc131<\/h2>\n<p>\uc2e4\uc81c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\ub294 \uae30\uae30\uc5d0 \ub9de\ub294 \uae30\ub2a5\uc774 \ud544\uc694\ud558\uba70, \uc0c1\ub2f9\uc218\uc758 \uacbd\uc6b0 UI \ub808\uc774\uc5b4\ub3c4 \uc608\uc678\uac00 \uc544\ub2d9\ub2c8\ub2e4. \ube0c\ub77c\uc6b0\uc800\ub97c \uc784\ubca0\ub4dc\ud558\uac70\ub098 \uc601\uc0c1\uc744 \uc7ac\uc0dd\ud560 \ub54c, iOS\uc758 \uae30\ubcf8 \uae30\ub2a5\uc5d0 \uc561\uc138\uc2a4\ud558\uc5ec \uc0ac\uc6a9\uc790 \uacbd\ud5d8\uc744 \ub2e4\uc591\ud558\uac8c \uad6c\uc131\ud558\uace0 \uc2f6\uc744 \ub54c\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc774\ub7f0 \uc0c1\ud669\uc744 \uc704\ud574 Compose Multiplatform\uc758 \uc54c\ud30c \ubc84\uc804\uc5d0\ub294 \uc591\ubc29\ud5a5 \uc0c1\ud638 \ud638\ud658\uc131\uc744 \uc9c0\uc6d0\ud558\ub294 \ud504\ub85c\ud1a0\ud0c0\uc785\uc774 UI \ub808\uc774\uc5b4\uc5d0 \ud0d1\uc7ac\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. <code>UIKitView<\/code>\ub97c \uc0ac\uc6a9\ud558\uba74 \uc9c0\ub3c4, \uc6f9 \ubdf0, \ubbf8\ub514\uc5b4 \ud50c\ub808\uc774\uc5b4 \ubc0f \uce74\uba54\ub77c \ud53c\ub4dc\uc640 \uac19\uc740 \ubcf5\uc7a1\ud55c \ud50c\ub7ab\ud3fc\ubcc4 \uc704\uc82f\uc744 \uacf5\uc720 \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\uc5d0 \uc784\ubca0\ub529\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\ub978 \ubc29\ubc95\uc73c\ub85c, <code>ComposeUIViewController<\/code>\ub97c \uc774\uc6a9\ud558\uba74 Compose Multiplatform \ud654\uba74\uc744 SwiftUI \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc784\ubca0\ub529\ud558\uc5ec Compose Multiplatform\uc744 \uc810\uc9c4\uc801\uc73c\ub85c iOS \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc801\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-356434\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/05\/interop-2800x1454.png\" alt=\"\" width=\"2800\" height=\"1454\"><p><\/p>\n<figcaption class=\"wp-element-caption\"><em>iOS\uc5d0\uc11c Compose Multiplatform\uc740 \uae30\ubcf8 \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\ub97c \ud1b5\ud574 \uc591\ubc29\ud5a5 \uc0c1\ud638\uc6b4\uc6a9\uc131\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. MapKit\uc758 MKMapView\uc640 \uac19\uc774 \ubcf5\uc7a1\ud55c UI \ubdf0\ub97c Compose UI\uc5d0 \ud1b5\ud569\ud560 \uc218\ub3c4 \uc788\uace0 Compose \ud654\uba74\uc744 SwiftUI \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc784\ubca0\ub529\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/em><\/figcaption><\/figure>\n<h2 class=\"wp-block-heading\">\uc6b0\uc218\ud55c \uc0ac\uc6a9\uc790 \uacbd\ud5d8 \ub9cc\ub4e4\uae30<\/h2>\n<p>Compose Multiplatform for iOS\ub294 \ud604\uc7ac \uc54c\ud30c \ubc84\uc804\uc774\ubbc0\ub85c \uc544\uc9c1 \uc791\uc5c5 \uc911\uc778 \uc601\uc5ed\uc774 \ub9ce\uc2b5\ub2c8\ub2e4. \uc5ec\ub7ec \ud50c\ub7ab\ud3fc\uc5d0\uc11c \uc6b0\uc218\ud55c \uc0ac\uc6a9\uc790 \uacbd\ud5d8\uc744 \uc81c\uacf5\ud558\ub824\uba74 \uac01\uace0\uc758 \ub178\ub825\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \ub610\ud55c, JetBrains \ud300 \ubaa8\ub450\ub294 Compose Multiplatform \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc5b4\ub290 \ud50c\ub7ab\ud3fc\uc5d0\uc11c\ub4e0 \ud3b8\uc548\ud558\uace0 \uc790\uc5f0\uc2a4\ub7fd\uac8c \ub290\uaef4\uc9c0\ub3c4\ub85d \ub9cc\ub4dc\ub294 \ub370 \ud544\uc694\ud55c \ubaa8\ub4e0 \uce21\uba74\uc744 \ud655\uc2e4\ud788 \ud574\uacb0\ud558\ub824\uace0 \ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ub178\ub825\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ubc14\ud0d5 \ub290\ub08c\uc744 \uc88c\uc6b0\ud558\ub294 \uc81c\uc2a4\ucc98\uc640 \uc2a4\ud06c\ub864\uc758 \ubb3c\ub9ac\uc801 \uc6c0\uc9c1\uc784\uacfc \uac19\uc740 \uac00\uc7a5 \uae30\ubcf8\uc801\uc778 \uc0c1\ud638\uc791\uc6a9\uc5d0\uc11c\ubd80\ud130 \uc2dc\uc791\ud558\uc5ec, \ub0b4\ube44\uac8c\uc774\uc158 \uc6d0\uce59 \ubc0f \uc804\ud658\uc774\ub098 \ud14d\uc2a4\ud2b8 \uc120\ud0dd, \uc785\ub825 \uad00\ub9ac, \ucee8\ud14d\uc2a4\ud2b8 \uba54\ub274\uc640 \uac19\uc774 \ubcf5\uc7a1\ud558\uac70\ub098 \uc720\uc0ac\ud55c \uc0c1\ud638\uc791\uc6a9\uc73c\ub85c\uae4c\uc9c0 \uc774\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n<p>\ub610\ud55c Compose Multiplatform \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \ud0c4\ud0c4\ud55c \uc811\uadfc\uc131 \ud1b5\ud569 \uae30\ub2a5\uc744 \uc81c\uacf5\ud574\uc57c \ud558\uba70 \uc0ac\uc6a9\uc790 \uc120\ud0dd\uc744 \uc874\uc911\ud574\uc57c \ud55c\ub2e4\ub294 \uc810\uc744 \uc800\ud76c\ub294 \uc778\uc9c0\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \uae30\ubcf8\uc801\uc778 iOS \uba54\ucee4\ub2c8\uc998, \uc989 \uc2dc\uc2a4\ud15c\uc758 TTS \uae30\ub2a5\uc5d0\uc11c\ubd80\ud130 \uc0ac\uc6a9\uc790\uac00 \uae30\uae30\uc5d0\uc11c \uc124\uc815\ud55c \ud655\ub300\/\ucd95\uc18c \ubc0f \ub300\ube44 \ud658\uacbd \uc124\uc815\uc5d0 \uc774\ub974\ub294 \ubaa8\ub4e0 \ud56d\ubaa9\uc744 \uacac\uace0\ud558\uac8c \ud1b5\ud569\ud558\uace0\uc790 \ub178\ub825\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ub2f9\uc5f0\ud558\uac8c\ub3c4 \uc8fc\uc758\ub97c \uae30\uc6b8\uc5ec\uc57c \ud560 \ub2e4\uc591\ud558\uace0\ub3c4 \uad11\ubc94\uc704\ud55c \uc601\uc5ed\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ubaa8\ub4e0 \uc601\uc5ed\uc5d0 \ucd5c\ub300\ud55c \uc8fc\uc758\ub97c \uae30\uc6b8\uc784\uc73c\ub85c\uc368 iOS \uae30\ubc18\uc758 Compose Multiplatform\uc774 \ucd5c\uc0c1\uc758 \uc0ac\uc6a9\uc790 \uacbd\ud5d8\uc744 \uc81c\uacf5\ud560 \uc218 \uc788\ub3c4\ub85d \ud558\uace0\uc790 \ud569\ub2c8\ub2e4. \uc774 \uacfc\uc815\uc5d0\uc11c \uc800\ud76c\ub294 \uc0ac\uc6a9\uc790\uac00 \uc6d0\ud558\ub294 \uac83\uc744 \ucd5c\uc6b0\uc120\uc2dc\ud558\ub824\uace0 \ud558\ubbc0\ub85c, <a href=\"#sharefeedback\">\uc5b8\uc81c\ub4e0\uc9c0 \uc5ec\ub7ec\ubd84\uc758 \uc758\uacac\uc744 \ubcf4\ub0b4 \uc8fc\uc138\uc694<\/a>!<\/p>\n<p>\ub610\ud55c \uc800\ud76c\ub294 \uace0\uc8fc\uc0ac\uc728\uc758 \ud654\uba74\uc5d0\uc11c \ubd80\ub4dc\ub7ec\uc6b4 \uc131\ub2a5\uc744 \ud655\ubcf4\ud558\ub294 \uac83\uc774 \uc88b\uc740 \uc0ac\uc6a9\uc790 \uacbd\ud5d8\uc744 \uad6c\uc131\ud558\ub294 \ub9e4\uc6b0 \uc911\uc694\ud55c \uc694\uc18c\ub77c\ub294 \uc0ac\uc2e4\uc744 \uc798 \uc54c\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \uc704\ud574 Compose Multiplatform \ud300\uacfc Kotlin\/Native \ud300\uc740 \uc11c\ub85c \ud611\ub825\ud558\uc5ec \uacf5\uc720 \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\uc758 iOS \uc131\ub2a5\uc744 \uac1c\uc120\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">Compose Multiplatform for iOS\uc5d0 \ud14c\ub9c8 \uc801\uc6a9<\/h2>\n<p>iOS \uae30\ubc18 Compose Multiplatform\uc740 \uce94\ubc84\uc2a4 \uae30\ubc18\uc758 \ub80c\ub354\ub9c1\uc744 \uc0ac\uc6a9\ud558\uace0 \uc788\uae30 \ub54c\ubb38\uc5d0 iOS\uc640 Android \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc740 \uae30\ubcf8\uc801\uc73c\ub85c \uc678\uad00\uc774 \ub3d9\uc77c\ud569\ub2c8\ub2e4. \ud604\uc7ac Compose Multiplatform\uc740 Material \ubc0f Material 3 \uc704\uc82f\uc744 \ubaa8\ub4e0 \ud50c\ub7ab\ud3fc\uc5d0\uc11c \uae30\ubcf8\uc801\uc73c\ub85c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc774\ub294 \uc0ac\uc6a9\uc790\uac00 Android \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uc775\uc219\ud558\uac8c \ubd10\uc628 \uc704\uc82f\uacfc \ub3d9\uc77c\ud569\ub2c8\ub2e4. \ub0b4\uc7a5\ub41c \ud14c\ub9c8 \uae30\ub2a5\uc744 \ud65c\uc6a9\ud558\uc5ec \uc704\uc82f\uc758 \ubaa8\uc591\uc744 \uc870\uc815\ud558\uc5ec \ube0c\ub79c\ub529\uc744 \ubc18\uc601\ud558\uace0 \ubaa8\ub4e0 \ud50c\ub7ab\ud3fc\uc5d0\uc11c \ub3d9\uc77c\ud558\uac8c \uc124\uc815\ud558\uac70\ub098 \ud50c\ub7ab\ud3fc\ubcc4\ub85c \ud14c\ub9c8\ub97c \uc801\uc6a9\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-356445\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/05\/widgetdesign.png\" alt=\"\" width=\"2396\" height=\"990\"><p><\/p>\n<figcaption class=\"wp-element-caption\"><em>\uae30\ubcf8\uc801\uc73c\ub85c Compose Multiplatform\uc73c\ub85c \ube4c\ub4dc\ub41c \ubaa8\ubc14\uc77c \uc571\uc740 Material \uc704\uc82f\uc744 \ud0d1\uc7ac\ud569\ub2c8\ub2e4. \ub514\uc790\uc778\uc744 \uc6d0\ud558\ub294\ub300\ub85c \ubcc0\uacbd\ud558\uace0, \uace0\uc720\ud55c \uc778\ud130\ud398\uc774\uc2a4 \uad6c\uc131 \uc694\uc18c\ub97c \ube4c\ub4dc\ud558\uace0 \ud50c\ub7ab\ud3fc\ubcc4\ub85c \ud14c\ub9c8\ub97c \uc9c0\uc815\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/em><\/figcaption>\n<\/figure>\n<p>\ud06c\ub85c\uc2a4 \ud50c\ub7ab\ud3fc UI \ud504\ub808\uc784\uc6cc\ud06c\uc640 \uad00\ub828\ub41c \uc8fc\uc694 \uc9c8\ubb38 \uc911 \ud558\ub098\ub294 \uc5ec\ub7ec \uc694\uc18c\uac00 \ud0c0\uae43 \ud50c\ub7ab\ud3fc\uc758 \ubaa8\uc591\ubc0f \ub290\ub08c\uacfc \uc5bc\ub9c8\ub098 \uc798 \uc5b4\uc6b0\ub7ec\uc9c0\ub294\uac00\uc785\ub2c8\ub2e4. \ud604\uc7ac \ub2e8\uacc4\uc5d0\uc11c JetBrains \ud300\uc740 \uc544\uc9c1 \ub124\uc774\ud2f0\ube0c UI \uc694\uc18c\ub97c \uc81c\uacf5\ud560\uc9c0 \uacf5\ud1b5 \uc694\uc18c\ub97c \uc81c\uacf5\ud560\uc9c0 \uacb0\uc815\ud558\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. \uc774\ub294 Compose Multiplatform \uc0ac\uc6a9\uc790 \uacbd\ud5d8\uc5d0\uc11c \uc544\uc8fc \uc911\uc694\ud55c \ubd80\ubd84\uc774\ubbc0\ub85c \uac1c\ubc1c \ucee4\ubba4\ub2c8\ud2f0\uc758 \ud53c\ub4dc\ubc31\uc744 \uba3c\uc800 \ubaa8\uc740 \ub2e4\uc74c \uacb0\uc815\ud558\uace0\uc790 \ud569\ub2c8\ub2e4. <a href=\"#sharefeedback\">\uc5ec\ub7ec\ubd84\uc758 \uc758\uacac\uacfc \uc0dd\uac01\uc744 \uacf5\uc720\ud574 \uc8fc\uc138\uc694.<\/a><\/p>\n<h2 class=\"wp-block-heading\">Compose Multiplatform for iOS\ub97c \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694!<\/h2>\n<p>\uc5ec\ub7ec\ubd84\ub3c4 Compose Multiplatform for iOS\ub97c \ub9ce\uc774 \uc0ac\uc6a9\ud574 \ubcf4\uc168\uc73c\uba74 \uc88b\uaca0\uc2b5\ub2c8\ub2e4! \uc55e\uc11c \ub9d0\uc500\ub4dc\ub838\ub2e4\uc2dc\ud53c \uc544\uc9c1 \uc791\uc5c5 \uc911\uc778 \ubd80\ubd84\uc774 \ub9ce\uc774 \uc788\uc9c0\ub9cc, \uc798 \ub418\ub294 \uae30\ub2a5\ub3c4 \ub9ce\uace0 \uc5ec\ub7ec\ubd84\uc774 \ud14c\uc2a4\ud2b8\ud574 \ubcfc \uc218 \uc788\ub294 \uac83\ub3c4 \ub9ce\uc774 \uc788\uc2b5\ub2c8\ub2e4!<\/p>\n<p>\uc0d8\ud50c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uacfc \ud504\ub85c\uc81d\ud2b8 \ud15c\ud50c\ub9bf\uc744 \ud3ec\ud568\ud558\uc5ec \uc5ec\ub7ec\ubd84\uc774 Compose Multiplatform for iOS\uc758 \uc54c\ud30c \ub9b4\ub9ac\uc2a4\uc5d0 \uc801\uc751\ud560 \uc218 \uc788\ub294 \ub2e4\uc591\ud55c \ubc29\ubc95\uc774 \uc81c\uacf5\ub429\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">\ud15c\ud50c\ub9bf\uc73c\ub85c \uc2dc\uc791\ud558\uae30<\/h3>\n<p>Compose Multiplatform\uc73c\ub85c Android \ubc0f iOS \ub300\uc0c1\uc758 \uace0\uc720\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc791\uc131\uc744 \uac00\uc7a5 \uc27d\uac8c \uc2dc\uc791\ud558\ub294 \ubc29\ubc95\uc740 \uacf5\uc2dd <a href=\"https:\/\/github.com\/JetBrains\/compose-multiplatform-ios-android-template\" target=\"_blank\" rel=\"noopener\">GitHub \ud15c\ud50c\ub9bf<\/a>\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uc5ec\uae30\uc5d0\ub294 \uc790\uccb4 \ud29c\ud1a0\ub9ac\uc5bc\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc5b4 \uccab \ubc88\uc9f8 Compose Multiplatform \uc571\uc744 \ub9cc\ub4e4\uace0 \uc2e4\ud589\ud574 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"CTA\" href=\"https:\/\/github.com\/JetBrains\/compose-multiplatform-ios-android-template\/#readme\" target=\"_blank\" rel=\"noopener\">Compose for iOS \uc2dc\uc791\ud558\uae30<\/a><\/p>\n<h3 class=\"wp-block-heading\">\ub370\ubaa8 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc73c\ub85c Compose for iOS \uc0b4\ud3b4\ubcf4\uae30<\/h3>\n<p>\uc0c8\ub85c\uc6b4 \uae30\uc220\uc744 \uc0b4\ud3b4\ubcf4\ub294 \uc88b\uc740 \ubc29\ubc95\uc740 \uc0d8\ud50c\uc744 \ubcf4\ub294 \uac83\uc785\ub2c8\ub2e4. iOS \ubc0f \ub2e4\ub978 \ud0c0\uae43 \ud50c\ub7ab\ud3fc \uae30\ubc18\uc758 Compose Multiplatform\uc744 \uc2dc\uc5f0\ud558\ub294 \ub2e4\uc591\ud55c \uc608\uc2dc \ud504\ub85c\uc81d\ud2b8\uac00 \uc900\ube44\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uc608\uc2dc \ud504\ub85c\uc81d\ud2b8\ub294 <a href=\"https:\/\/github.com\/JetBrains\/compose-multiplatform\/tree\/master\/examples\" target=\"_blank\" rel=\"noopener\">Compose Multiplatform \uc800\uc7a5\uc18c<\/a>\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-356456\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/05\/sampleapps-2800x1626.png\" alt=\"\" width=\"840\" height=\"487\"><\/figure>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"CTA\" href=\"https:\/\/github.com\/JetBrains\/compose-multiplatform\/tree\/master\/examples\" target=\"_blank\" rel=\"noopener\">\uc0d8\ud50c \ud504\ub85c\uc81d\ud2b8 \uc0b4\ud3b4\ubcf4\uae30<\/a><\/p>\n<p><a href=\"https:\/\/github.com\/Kotlin\/kmm-production-sample\/tree\/compose-app\" target=\"_blank\" rel=\"noopener\">Kotlin Multiplatform Mobile Production Sample<\/a>\uacfc \uac19\uc740 \uc0d8\ud50c \ud504\ub85c\uc81d\ud2b8\uc5d0\ub294 Compose Multiplatform \uae30\ubc18\uc758 UI \uad6c\ud604\uc774 \ud3ec\ud568\ub41c \ube0c\ub79c\uce58\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \uc571 \uac04\uc5d0 \ube44\uc988\ub2c8\uc2a4 \ub85c\uc9c1\ub9cc \uacf5\uc720\ud558\ub294 \uacbd\uc6b0\uc640 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 UI \ub808\uc774\uc5b4\uae4c\uc9c0 \uacf5\uc720\ud558\ub294 \uacbd\uc6b0\uc758 \ucc28\uc774\uc810\uacfc \uc720\uc0ac\uc810\uc744 \ube44\uad50\ud574 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h3 id=\"sharefeedback\" class=\"wp-block-heading\">\uc758\uacac\uc744 \uacf5\uc720\ud574 \uc8fc\uc138\uc694!<\/h3>\n<p>iOS \uae30\ubc18 Compose Multiplatform\uc740 \uc54c\ud30c \ubc84\uc804\uc774\uba70 \uc5ec\ub7ec\ubd84\uc758 \uc694\uad6c\uc0ac\ud56d\uc744 \ubc18\uc601\ud558\uc5ec \uacc4\uc18d \ubc1c\uc804\uc2dc\ud0a4\ub824\uace0 \ud569\ub2c8\ub2e4.<\/p>\n<p>\ubb38\uc81c\ub97c \ubcf4\uace0\ud558\uac70\ub098, \ub204\ub77d\ub41c API\uc5d0 \uad00\ud574\uc11c \uc54c\ub824\uc8fc\uc2dc\uac70\ub098, \uc6d0\ud558\ub294 \uae30\ub2a5\uc744 \uc694\uccad\ud558\uba74 \uc800\ud76c\uc5d0\uac8c \ud070 \ub3c4\uc6c0\uc774 \ub429\ub2c8\ub2e4. <a href=\"https:\/\/github.com\/JetBrains\/compose-multiplatform\/issues\" target=\"_blank\" rel=\"noopener\">\ud504\ub85c\uc81d\ud2b8 \uc774\uc288 \ud2b8\ub798\ucee4<\/a>\ub97c \ud1b5\ud574 \uc54c\ub824\uc8fc\uc2dc\uba74 \uc800\ud76c\uc5d0\uac8c \ud070 \ub3c4\uc6c0\uc774 \ub429\ub2c8\ub2e4.<\/p>\n<p>\ub2e4\ub978 Compose Multiplatform \ud300\uc774\ub098 \ub2e4\ub978 \uac1c\ubc1c\uc790\uc640 \uc774\uc57c\uae30\ud558\uace0 \uc2f6\uc740 \uacbd\uc6b0 <a href=\"https:\/\/slack-chats.kotlinlang.org\/c\/compose-ios\" target=\"_blank\" rel=\"noopener\">Kotlin Slack<\/a>\uc5d0 \ucc38\uc5ec\ud558\uc5ec \ub17c\uc758\ud574 \ubcf4\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4. <a href=\"https:\/\/slack-chats.kotlinlang.org\/c\/compose-ios\" target=\"_blank\" rel=\"noopener\">#compose-ios<\/a> \ucc44\ub110\uc5d0\uc11c\ub294 Compose Multiplatform for iOS\uc640 \uad00\ub828\ub41c \ub17c\uc758\ub97c \ud655\uc778\ud574 \ubcf4\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/slack-chats.kotlinlang.org\/c\/compose\" target=\"_blank\" rel=\"noopener\">#compose<\/a> \ucc44\ub110\uc5d0\uc11c\ub294 Compose Multiplatform \ubc0f Jetpack Compose\uc640 \uad00\ub828\ub41c \uc77c\ubc18\uc801\uc778 \uc8fc\uc81c\ub97c \ub17c\uc758\ud558\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc55e\uc73c\ub85c \uc5ec\ub7ec\ubd84\ub4e4\uc774 Compose Multiplatform\uc73c\ub85c \ubb34\uc5c7\uc744 \ube4c\ub4dc\ud558\uc2e4\uc9c0 \uae30\ub300\ub429\ub2c8\ub2e4!<\/p>\n<h2 class=\"wp-block-heading\">\uae30\ud0c0 \ucc38\uace0 \uc790\ub8cc<\/h2>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2023\/04\/kotlinconf-2023-opening-keynote\/\">KotlinConf 2023: \uac1c\ub9c9 \uae30\uc870\uc5f0\uc124 \uc0b4\ud3b4\ubcf4\uae30<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2022\/10\/compose-multiplatform-1-2-is-out\/\">Compose Multiplatform 1.2 \ucd9c\uc2dc<\/a><\/li>\n<\/ul>\n<p><em>\uac8c\uc2dc\ubb3c \uc6d0\ubb38 \uc791\uc131\uc790<\/em><\/p>\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/secure.gravatar.com\/avatar\/?s=200&#038;r=g\" width=\"200\" height=\"200\" alt=\"\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":964,"featured_media":358215,"comment_status":"closed","ping_status":"closed","template":"","categories":[956,89],"tags":[8144,6706],"cross-post-tag":[6256],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/358191"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/types\/kotlin"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/964"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/comments?post=358191"}],"version-history":[{"count":11,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/358191\/revisions"}],"predecessor-version":[{"id":364702,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/358191\/revisions\/364702"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media\/358215"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=358191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=358191"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=358191"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=358191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}