{"id":287282,"date":"2022-10-14T14:21:42","date_gmt":"2022-10-14T13:21:42","guid":{"rendered":"https:\/\/blog.jetbrains.com\/kotlin\/2022\/10\/kmm-beta\/"},"modified":"2022-10-18T03:26:51","modified_gmt":"2022-10-18T02:26:51","slug":"kmm-beta","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/ko\/kotlin\/2022\/10\/kmm-beta\/","title":{"rendered":"Kotlin Multiplatform Mobile \ubca0\ud0c0 \ucd9c\uc2dc \u2013 \uc9c0\uae08 \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694!"},"content":{"rendered":"<p><strong>\uac1c\ubc1c\uc790\ub4e4\uc774 iOS \ubc0f Android \uc571\uc758 \ub85c\uc9c1\uc744 \uacf5\uc720\ud558\uc5ec \ud06c\ub85c\uc2a4 \ud50c\ub7ab\ud3fc\uacfc \uae30\ubcf8\uc801\uc778 \uac1c\ubc1c \ubc29\uc2dd\uc758 \uc774\uc810\uc744 \uacb0\ud569\ud560 \uc218 \uc788\ub3c4\ub85d \ud55c \uae30\uc220\uc778 Kotlin Multiplatform Mobile\uc774 \uc774\uc81c \ubca0\ud0c0 \ubc84\uc804\uc73c\ub85c \uc804\ud658\ub418\uc5c8\uc2b5\ub2c8\ub2e4. Kotlin \ud300\uacfc Multiplatform Mobile \uc5bc\ub9ac \uc5b4\ub2f5\ud130\ub4e4\uc744 \ub9cc\ub098\ubcfc \uc218 \uc788\ub294 \ub3d9\uc601\uc0c1\uc744 \uc2dc\uccad\ud558\uace0 \uc0c8\ub85c\uc6b4 \uc6e8\ube44\ub098 \uc2dc\ub9ac\uc988\ub97c \ud1b5\ud574 \uc2e4\ubb34\uc801 \uacbd\ud5d8\ub3c4 \uc313\uc544\ubcf4\uc138\uc694! \uc624\ub298\ubd80\ud130 \ubc14\ub85c \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694!<\/strong><\/p>\n<p>Kotlin Multiplatform Mobile\uc740 iOS \ubc0f Android \uc571 \uac1c\ubc1c\uc6a9 SDK\ub85c, \ub124\ud2b8\uc6cc\ud0b9, \ub370\uc774\ud130 \uc2a4\ud1a0\ub9ac\uc9c0, \ubd84\uc11d\uc744 \uc704\ud55c \uacf5\uc720 \ucf54\ub4dc\ubca0\uc774\uc2a4\uc640 Android \ubc0f iOS \uc571\uc758 \uae30\ud0c0 \ub85c\uc9c1\uc744 \uc720\uc9c0 \uad00\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Multiplatform Mobile\uc774 \uc2e4\ud5d8\uc801 \ub2e8\uacc4\uc5d0 \uc788\ub294 \ub3d9\uc548 Kotlin \ud300\uc740 \ucd5c\uace0\uc758 \uac1c\ubc1c \uacbd\ud5d8\uc744 \uc81c\uacf5\ud558\uae30 \uc704\ud574 \uba54\ubaa8\ub9ac \uad00\ub9ac, \ub77c\uc774\ube0c\ub7ec\ub9ac \ubc0f \ud504\ub85c\uc81d\ud2b8 \uad6c\uc131\uc5d0 \ub300\ud55c \ub2e4\uc591\ud55c \uc811\uadfc \ubc29\uc2dd\uc744 \uc2dc\ub3c4\ud588\uc2b5\ub2c8\ub2e4. \uc774\uc81c \uc774 \uc2e4\ud5d8\uc758 \uae30\uac04\uc774 \ub05d\ub0ac\uc2b5\ub2c8\ub2e4<\/p>\n<p>Philips, Netflix, Baidu, VMWare\uc640 \uac19\uc740 \uc138\uacc4 \uc720\uc218\uc758 \uae30\uc5c5\uc744 \ube44\ub86f\ud55c \uc5bc\ub9ac \uc5b4\ub2f5\ud130\ub85c\ubd80\ud130 \uae30\uc874 Kotlin \ucf54\ub4dc\ub97c \uc7ac\uc0ac\uc6a9\ud558\ub294 \uce21\uba74\uacfc \ud50c\ub7ab\ud3fc\ubcc4 \uae30\ub2a5\uc744 \uc774\uc6a9\ud558\ub294 \uce21\uba74 \uc0ac\uc774\uc5d0\uc11c \uc801\uc808\ud55c \uade0\ud615\uc810\uc744 \ucc3e\ub294 \ub370 \ub3c4\uc6c0\uc774 \ub418\ub294 \uadc0\uc911\ud55c \ud53c\ub4dc\ubc31\uc744 \uc5bb\uc744 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \uc774\uc81c \uae30\uc05c \ub9c8\uc74c\uc73c\ub85c Kotlin Multiplatform Mobile\uc774 \ubca0\ud0c0\uc5d0 \ub3c4\ub2ec\ud588\uc73c\uba70 \uc548\uc815\ud654 \ub2e8\uacc4\ub85c \uc21c\uc870\ub86d\uac8c \uc9c4\ud589\ud558\uace0 \uc788\uc74c\uc744 \uc54c\ub824\ub4dc\ub9bd\ub2c8\ub2e4.<\/p>\n<p><!--more--><\/p>\n<p><strong>Kotlin Multiplatform Mobile\uc774 \ubca0\ud0c0\ub85c \ud55c \ub2e8\uacc4 \uc62c\ub77c\uc120 \uac83\uc740 \uc774 \uae30\uc220\uc774 \uac70\uc758 \uc644\uc131\ub418\uc5c8\uc73c\uba70 \ud504\ub85c\uc81d\ud2b8\uc5d0 \uc0ac\uc6a9\ud574\ub3c4 \uc548\uc804\ud558\ub2e4\ub294 \uac83\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. \ub610\ud55c \uc788\uc744 \uc218 \uc788\ub294 \ub9c8\uc774\uadf8\ub808\uc774\uc158 \ubb38\uc81c\ub97c \ucd5c\uc18c\ud654\ud558\uae30 \uc704\ud574 \uc801\uadf9\uc801\uc73c\ub85c \ub178\ub825\ud55c\ub2e4\ub294 \uac83\uc744 \uc758\ubbf8\ud558\uae30\ub3c4 \ud569\ub2c8\ub2e4.<\/strong> Multiplatform Mobile\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf4\uace0 \uc774\ub97c \uc810\uc9c4\uc801\uc73c\ub85c \ucc44\ud0dd\ud558\uae30\uc5d0 \uc9c0\uae08 \ubcf4\ub2e4 \uc88b\uc740 \uc2dc\uae30\ub294 \uc5c6\uc2b5\ub2c8\ub2e4. \uc5ec\uc815\uc758 \uccab \ubc88\uc9f8 \ub2e8\uacc4\ub85c Kotlin \ud300\uacfc \uc77c\ubd80 \uc5bc\ub9ac \uc5b4\ub2f5\ud130\uac00 \uc804\ud558\ub294 \uc774 \uc601\uc0c1\uc744 \uc2dc\uccad\ud558\uc2dc\uae38 \ucd94\ucc9c\ud569\ub2c8\ub2e4. Kotlin Multiplatform Mobile\uc758 \uc7a0\uc7ac\ub825, \uc774\uc810, \ub0b4\ubd80 \ub9e4\ucee4\ub2c8\uc998, \uadf8\ub9ac\uace0 \uc774 \uae30\uc220\uc758 \ud5a5\ud6c4 \uacc4\ud68d\uc5d0 \ub300\ud55c \uc815\ubcf4\ub3c4 \uc54c\uc544\ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. <strong>\ub610\ud55c \ud55c\uad6d\uc5b4 \uc790\ub9c9\ub3c4 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/strong><\/p>\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\">\n<div class=\"wp-block-embed__wrapper\"><iframe loading=\"lazy\" title=\"Kotlin Multiplatform Mobile \ubca0\ud0c0 \ucd9c\uc2dc \u2013 \uc9c0\uae08 \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694!\" src=\"https:\/\/www.youtube.com\/embed\/CngKDGBlFxk?feature=oembed\" width=\"500\" height=\"281\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/div>\n<\/figure>\n<h2>\uc2e4\uc2b5 \uacbd\ud5d8 \uc313\uae30&nbsp;<\/h2>\n<p>Kotlin Multiplatform Mobile\uc744 \uc2dc\uc791\ud558\ub294 \uac00\uc7a5 \uc88b\uc740 \ubc29\ubc95\uc740 \uc2e4\uc2b5 \uacbd\ud5d8\uc744 \uc313\ub294 \uac83\uc785\ub2c8\ub2e4! Multiplatform Mobile\uc758 \uae30\ucd08\ub97c \ub2e4\ub8e8\uace0 \uc8fc\uc694 \uc0ac\uc6a9 \uc0ac\ub840\ub97c \uc2dc\uc5f0\ud558\ub294 \uc77c\ub828\uc758 \uc6e8\ube44\ub098\uc5d0 \uc5ec\ub7ec\ubd84\uc744 \ucd08\ub300\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li><a href=\"https:\/\/youtu.be\/2yd6rVJdICU\" target=\"_blank\" rel=\"noopener\"><strong>Getting started with Kotlin Multiplatform Mobile(Kotlin Multiplatform Mobile \uc2dc\uc791\ud558\uae30)<\/strong><\/a> | Pamela Hill, JetBrains(10\uc6d4 21\uc77c, 00:00 \ud55c\uad6d \ud45c\uc900\uc2dc \uae30\uc900).<\/li>\n<li><a href=\"https:\/\/youtu.be\/CIZU_NNAZsA\" target=\"_blank\" rel=\"noopener\"><strong>Making your Android application work on iOS(iOS\uc5d0\uc11c Android \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc791\ub3d9\uc2dc\ud0a4\uae30)<\/strong><\/a>&nbsp; | Kevin Galligan &amp; Russell Wolf, Touchlab(10\uc6d4 26\uc77c, 00:00 \ud55c\uad6d \ud45c\uc900\uc2dc \uae30\uc900).<\/li>\n<li><a href=\"https:\/\/youtu.be\/JtUJc4WYObo\" target=\"_blank\" rel=\"noopener\"><strong>Dependency Injection in Kotlin Multiplatform Mobile projects(Kotlin Multiplatform Mobile \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uc885\uc18d \uc694\uc18c \uc8fc\uc785)<\/strong><\/a> | Anna Zharkova, UseTech(11\uc6d4 3\uc77c, 00:00 UTC).<\/li>\n<li><a href=\"https:\/\/youtu.be\/J3hDZ7PTBSk\" target=\"_blank\" rel=\"noopener\"><strong>Sharing Data Layer Between Android and iOS(Android\uc640 iOS \uac04\uc5d0 \ub370\uc774\ud130 \uacc4\uce35 \uacf5\uc720\ud558\uae30)<\/strong><\/a> | Mohit Sharma, Realm(11\uc6d4 9\uc77c 00:00 \ud55c\uad6d \ud45c\uc900\uc2dc \uae30\uc900).<\/li>\n<\/ul>\n<p><a href=\"https:\/\/info.jetbrains.com\/kotlin-communication-center-page.html\" target=\"_blank\" rel=\"noopener\">Kotlin \ub274\uc2a4: \uc628\ub77c\uc778 \uc774\ubca4\ud2b8 \ubc0f \uc6e8\ube44\ub098<\/a>\ub97c \uad6c\ub3c5\ud558\uace0 \uc18c\uc2dd\uc744 \ubc1b\uc544\ubcf4\uc138\uc694!<\/p>\n<h2>\uc9c4\ud654\ud558\ub294 Kotlin Multiplatform \uc5d0\ucf54\uc2dc\uc2a4\ud15c \uc0b4\ud3b4\ubcf4\uae30<\/h2>\n<p>Kotlin Multiplatform \uc5d0\ucf54\uc2dc\uc2a4\ud15c\uc758 \uc9c4\ud654\uc5d0 \ub300\ud574 \uc54c\ub824\ub4dc\ub9b4 \ud765\ubbf8\ub85c\uc6b4 \uc18c\uc2dd\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc18c\uc2dd\uc744 \uc811\ud558\uba74 Kotlin Multiplatform Mobile\uc744 \ub354\uc6b1 \uc990\uac81\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc744 \uac83\uc73c\ub85c \uc0dd\uac01\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li>Google\uc758 Android \ud300\uc774 <a href=\"https:\/\/android-developers.googleblog.com\/2022\/10\/announcing-experimental-preview-of-jetpack-multiplatform-libraries.html\" target=\"_blank\" rel=\"noopener\">Jetpack\uc5d0\uc11c Kotlin Multiplatform \ub77c\uc774\ube0c\ub7ec\ub9ac \ud14c\uc2a4\ud2b8\ubc84\uc804<\/a>\uc744 \uacf5\uc720\ud588\uc2b5\ub2c8\ub2e4. \uc774 \uc2e4\ud5d8\uc801\uc778 \ud14c\uc2a4\ud2b8 \ubc84\uc804\uc758 \uc77c\ubd80\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 Collections \ubc0f DataStore\uc785\ub2c8\ub2e4. \uac1c\ubc1c\uc790\ub4e4\uc740 Android \ubc0f iOS \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ub300\uc0c1\uc73c\ub85c \ud558\ub294 \uba40\ud2f0\ud50c\ub7ab\ud3fc \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uc774\ub7ec\ud55c Jetpack \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc0ac\uc6a9 \uacbd\ud5d8\uc5d0 \ub300\ud55c \ud53c\ub4dc\ubc31\uc744 \uc6d0\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li>Touchlab\uc740 Faktory \ub3c4\uad6c \ubaa8\uc74c\uc758 \uc77c\ubd80\uc778 <a href=\"https:\/\/go.touchlab.co\/kmmbridge\" target=\"_blank\" rel=\"noopener\">KMMBridge<\/a>\ub97c \ubc1c\ud45c\ud588\uc2b5\ub2c8\ub2e4. KMMBridge\ub294 \ubaa8\ubc14\uc77c \ud300\uc774 Kotlin Multiplatform Mobile\uc744 \uc0ac\uc6a9\ud558\uc5ec \uadf8 \uc5b4\ub290 \ub54c\ubcf4\ub2e4 \ube60\ub974\uac8c \uacf5\uc720 \ucf54\ub4dc\ub97c \uc131\uacf5\uc801\uc73c\ub85c \uac8c\uc2dc\ud560 \uc218 \uc788\ub3c4\ub85d \ud574\uc8fc\ub294 \ube4c\ub4dc \ub3c4\uad6c \uc138\ud2b8\uc785\ub2c8\ub2e4. \ud2b9\ud788 iOS \ud37c\ube14\ub9ac\uc2f1\uc744 \ub300\uc0c1\uc73c\ub85c \ud558\ub294 \ud300\uc740 Internal SDK Flow(\ub0b4\ubd80 SDK \ud50c\ub85c) \ubc29\uc2dd\uc744 \uad6c\ud604\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub294 \uc624\ub298\ub0a0 Kotlin Multiplatform Mobile \ud504\ub85c\ub355\uc158 \uc571 \ube4c\ub4dc\uc5d0 \ube60\ub974\uac8c \ud1b5\ud569\ud558\ub294 \uac00\uc7a5 \uc88b\uc740 \ubc29\ubc95\uc73c\ub85c \uad8c\uc7a5\ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>\ud06c\uace0 \uc791\uc740 \uc804 \uc138\uacc4 \uae30\uc5c5\ub4e4\uc774 Kotlin Multiplatform \ucee4\ubba4\ub2c8\ud2f0\uc5d0 \ud569\ub958\ud558\ub294 \ubaa8\uc2b5\uc744 \ubcf4\uac8c \ub420 \uc0dd\uac01\uc5d0 \uae30\ub300\uac00 \ud06c\uace0, \ub610\ud55c \uc0ac\uc6a9\uc790\ub97c \uc9c0\uc6d0\ud558\uae30 \uc704\ud574 \ub354 \ub9ce\uc740 \ub178\ub825\uc744 \uae30\uc6b8\uc77c \uac83\uc785\ub2c8\ub2e4.<\/p>\n<h2>\uc624\ub298\ubd80\ud130 \ubc14\ub85c \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694<\/h2>\n<p>Kotlin Multiplatform Mobile\uc774 \uc774\uc81c \ubca0\ud0c0 \ubc84\uc804\uc73c\ub85c \uc804\ud658\ub418\uace0 \uc548\uc815\ud654 \ub2e8\uacc4\ub85c \uac00\uace0 \uc788\ub294 \uc9c0\uae08\uc774 \uadf8 \uc5b4\ub290 \ub54c\ubcf4\ub2e4 \ubc30\uc6c0\uc744 \uc2dc\uc791\ud558\uace0 \uc810\uc9c4\uc801\uc73c\ub85c \ucc44\ud0dd\ud558\uae30\uc5d0 \uc88b\uc740 \uc2dc\uae30\uc785\ub2c8\ub2e4. \uc548\uc815\ud654 \ub9b4\ub9ac\uc2a4\uc5d0 \ud544\uc694\ud55c \ubaa8\ub4e0 \uac1c\uc120\uc744 \uc774\ub8e8\uc5b4\uac10\uc5d0 \ub530\ub77c \ub9c8\uc774\uadf8\ub808\uc774\uc158 \uacfc\uc815\uc5d0 \uc788\uc744 \uc218 \uc788\ub294 \ubb38\uc81c\ub97c \ud574\uacb0\ud560 \ud544\uc694\uac00 \uc5c6\uc5b4\uc9c8 \uac83\uc774\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4.<\/p>\n<p align=\"center\"><a class=\"ek-link jb-download-button\" title=\"Space \uc2dc\uc791\ud558\uae30\" href=\"https:\/\/kotlinlang.org\/docs\/multiplatform-mobile-getting-started.html\" target=\"_blank\" rel=\"noopener\">\ubc14\ub85c \uc0ac\uc6a9\ud574\ubcf4\uae30<\/a><\/p>\n<p>\ub9c8\uc9c0\ub9c9\uc73c\ub85c, \uc9c0\uae08\uacfc \uac19\uc740 \uacb0\uc2e4\uc744 \ub9fa\uac8c \ud574\uc900 \ubaa8\ub4e0 \uc5bc\ub9ac \uc5b4\ub2f5\ud130\uc640 \ucee4\ubba4\ub2c8\ud2f0\uc5d0 \uac10\uc0ac\ub4dc\ub9bd\ub2c8\ub2e4!<\/p>\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":286345,"comment_status":"closed","ping_status":"closed","template":"","categories":[956],"tags":[671],"cross-post-tag":[],"class_list":["post-287282","kotlin","type-kotlin","status-publish","has-post-thumbnail","hentry","category-multiplatform","tag-sendtoall"],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/287282","targetHints":{"allow":["GET"]}}],"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=287282"}],"version-history":[{"count":6,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/287282\/revisions"}],"predecessor-version":[{"id":287624,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/287282\/revisions\/287624"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media\/286345"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=287282"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=287282"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=287282"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=287282"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}