{"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":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/kotlin\/287282"}],"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}]}}