{"id":64075,"date":"2020-08-05T07:31:01","date_gmt":"2020-08-05T07:31:01","guid":{"rendered":"http:\/\/blog.jetbrains.com\/?post_type=kotlin&#038;p=64075"},"modified":"2020-08-05T07:31:01","modified_gmt":"2020-08-05T07:31:01","slug":"kotlin-1-4-rc-released-ja","status":"publish","type":"kotlin","link":"https:\/\/blog.jetbrains.com\/ja\/kotlin\/2020\/08\/kotlin-1-4-rc-released-ja\/","title":{"rendered":"Kotlin 1.4.0-RC \u30ea\u30ea\u30fc\u30b9"},"content":{"rendered":"<p>Kotlin \u306e\u6b21\u671f\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u30ea\u30ea\u30fc\u30b9\u307e\u3067\u308f\u305a\u304b\u3068\u306a\u308a\u307e\u3057\u305f\uff01 \u30ea\u30ea\u30fc\u30b9\u5019\u88dc\u7248 Kotlin 1.4.0-RC \u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002 Kotlin 1.4.0-RC \u306e\u5909\u66f4\u5185\u5bb9\u306b\u3064\u3044\u3066\u3001\u4ee5\u4e0b\u3092\u304a\u8aad\u307f\u304f\u3060\u3055\u3044\u3002\u307e\u305f\u3001\u6b63\u5f0f\u306b\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u308b\u524d\u306b\u3001Kotlin 1.4 \u306e\u65b0\u6a5f\u80fd\u3092\u305c\u3072\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/07\/Kotlin-1.4-RC_banners_Blogpost.png\" alt=\"\" \/><\/p>\n<p>\u30de\u30a4\u30eb\u30b9\u30c8\u30fc\u30f3\u30ea\u30ea\u30fc\u30b9\uff08<a href=\"https:\/\/blog.jetbrains.com\/ja\/2020\/04\/23\/3001\/\">1.4-M1<\/a>\u3001<a href=\"https:\/\/blog.jetbrains.com\/ja\/2020\/06\/12\/kotlin-1-4-m2-released\/\">1.4-M2<\/a>\u3001\u304a\u3088\u3073 <a href=\"https:\/\/blog.jetbrains.com\/ja\/kotlin\/2020\/07\/kotlin-1-4-m3-is-out-standard-library-changes-ja\/\">1.4-M3<\/a>\uff09\u3092\u304a\u8a66\u3057\u3044\u305f\u3060\u3044\u305f\u7686\u3055\u3093\u3001\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3092\u304a\u9001\u308a\u3044\u305f\u3060\u3044\u305f\u7686\u3055\u3093\u3001\u305d\u3057\u3066\u3053\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306e Kotlin \u306e\u6539\u5584\u306b\u529b\u3092\u8cb8\u3057\u3066\u3044\u305f\u3060\u3044\u305f\u7686\u3055\u3093\u306b\u3001\u5fc3\u3088\u308a\u304a\u793c\u7533\u3057\u4e0a\u3052\u307e\u3059\uff01<\/p>\n<p>\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001Kotlin 1.4.0-RC \u3067\u63d0\u4f9b\u3055\u308c\u308b\u4ee5\u4e0b\u306e\u65b0\u6a5f\u80fd\u3068\u4e3b\u306a\u6a5f\u80fd\u5f37\u5316\u306b\u7126\u70b9\u3092\u5f53\u3066\u3066\u3044\u307e\u3059\u3002<\/p>\n<ul>\n<li><code>*.gradle.kts<\/code> IDE \u30b5\u30dd\u30fc\u30c8\u306e\u5f37\u5316\u3002\u30b9\u30af\u30ea\u30d7\u30c8\u69cb\u6210\u306e\u660e\u793a\u7684\u306a\u8aad\u307f\u8fbc\u307f\u3068\u30a8\u30e9\u30fc\u30ec\u30dd\u30fc\u30c8\u6a5f\u80fd\u3092\u6539\u5584\u3057\u307e\u3057\u305f\u3002 <\/li>\n<li>\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3068\u5358\u4e00\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3092\u30bf\u30fc\u30b2\u30c3\u30c8\u3059\u308b\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4e21\u65b9\u3067\u3001<a href=\"#stdlib-default\">\u3059\u3079\u3066\u306e\u30bd\u30fc\u30b9\u30bb\u30c3\u30c8\u306b\u3001\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u4f9d\u5b58\u95a2\u4fc2\u304c\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u542b\u307e\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/a><\/li>\n<li><a href=\"#kotlin-native\">CocoaPods \u4f9d\u5b58\u95a2\u4fc2\u306e\u7ba1\u7406\u3092\u7c21\u7565\u5316\u3057\u307e\u3057\u305f<\/a>\u3002<\/li>\n<li>Gradle \u306b\u304a\u3051\u308b npm \u4f9d\u5b58\u95a2\u4fc2\u3001CSS\u3001\u304a\u3088\u3073 dukat \u306e <a href=\"#kotlin-js\">Kotlin\/JS \u7d71\u5408<\/a>\u3068\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u30b3\u30f3\u30d1\u30a4\u30e9\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3067\u306e <code>@JsExport<\/code> \u6ce8\u91c8\u3092\u4f7f\u7528\u3059\u308b\u6a5f\u80fd\u3092\u6539\u5584\u3057\u307e\u3057\u305f\u3002<\/li>\n<li><a href=\"#kotlin-js-node\">Node.js API \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u306e\u30d7\u30ec\u30d3\u30e5\u30fc<\/a>\u3002<\/ul>\n<\/li>\n<\/ul>\n<p><a name=\"improved-gradle-kts-support\"><\/a><\/p>\n<h2>*.gradle.kts IDE \u30b5\u30dd\u30fc\u30c8\u306e\u5f37\u5316<\/h2>\n<p><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2020\/02\/improved-gradle-kts-ide-support\/\">Kotlin 1.3.70 \u3067\u306f Gradle Kotlin DSL \u30b9\u30af\u30ea\u30d7\u30c8\uff08*.gradle.kts \u30d5\u30a1\u30a4\u30eb\uff09\u306e IDE \u30b5\u30dd\u30fc\u30c8<\/a>\u3092\u5927\u5e45\u306b\u6539\u5584\u3057\u307e\u3057\u305f\u304c\u3001Kotlin 1.4.0-RC \u306b\u304a\u3044\u3066\u3055\u3089\u306a\u308b\u6a5f\u80fd\u5f37\u5316\u3092\u56f3\u308a\u307e\u3057\u305f\u3002 \u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u306f\u4ee5\u4e0b\u306e\u5185\u5bb9\u304c\u6539\u5584\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<h3>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6539\u5584\u306e\u305f\u3081\u30b9\u30af\u30ea\u30d7\u30c8\u69cb\u6210\u306e\u8aad\u307f\u8fbc\u307f\u3092\u660e\u793a\u7684\u306b<\/h3>\n<p>\u4ee5\u524d\u306f\u3001<code>build.gradle.kts<\/code> \u306e <code>buildscript<\/code> \u307e\u305f\u306f <code>plugins<\/code> \u30d6\u30ed\u30c3\u30af\u306b\u65b0\u3057\u3044\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u8ffd\u52a0\u3059\u308b\u3068\u3001\u65b0\u3057\u3044\u30b9\u30af\u30ea\u30d7\u30c8\u69cb\u6210\u306f\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u3067\u81ea\u52d5\u7684\u306b\u8aad\u307f\u8fbc\u307e\u308c\u3066\u3044\u307e\u3057\u305f\u3002 \u305d\u3057\u3066\u3001\u9069\u7528\u3057\u305f\u5f8c\u306b\u3001\u65b0\u305f\u306b\u8ffd\u52a0\u3055\u308c\u305f\u30d7\u30e9\u30b0\u30a4\u30f3\u3067\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u652f\u63f4\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u6539\u5584\u3059\u308b\u305f\u3081\u306b\u3001\u5165\u529b\u6642\u306b\u30b9\u30af\u30ea\u30d7\u30c8\u69cb\u6210\u306b\u5909\u66f4\u3092\u81ea\u52d5\u7684\u306b\u9069\u7528\u3059\u308b\u3053\u306e\u52d5\u4f5c\u3092\u53d6\u308a\u9664\u304f\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002 Gradle 6.0 \u4ee5\u964d\u3067\u306f\u3001<img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/07\/image3.png\" style=\"height:1.3em;\" \/> <strong>Load Gradle Changes<\/strong> \u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u304b Gradle \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u306a\u304a\u3059\u3053\u3068\u3067\u3001\u660e\u793a\u7684\u306b\u69cb\u6210\u306b\u5909\u66f4\u5185\u5bb9\u3092\u9069\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u524d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306e Gradle \u3067\u306f\u3001\u30a8\u30c7\u30a3\u30bf\u30fc\u5185\u3067 <strong>Load Configuration<\/strong> \u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u30b9\u30af\u30ea\u30d7\u30c8\u69cb\u6210\u3092\u624b\u52d5\u3067\u8aad\u307f\u8fbc\u3080\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>Gradle 6.0 \u4ee5\u964d\u3092\u4f7f\u7528\u3059\u308b IntelliJ IDEA 2020.1 \u306b\u3001<img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/07\/image2.png\" style=\"height:1.3em;\" \/> <strong>Load Script Configurations<\/strong> \u3068\u3044\u3046\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u3082\u3046 1 \u3064\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002\u3053\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u306f\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5168\u4f53\u3092\u66f4\u65b0\u305b\u305a\u306b\u3001\u30b9\u30af\u30ea\u30d7\u30c8\u69cb\u6210\u3078\u306e\u5909\u66f4\u3092\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002 \u305d\u306e\u305f\u3081\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5168\u4f53\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u76f4\u3059\u3088\u308a\u77ed\u6642\u9593\u3067\u5909\u66f4\u3092\u8aad\u307f\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<h3>\u30a8\u30e9\u30fc\u901a\u77e5\u6a5f\u80fd\u306e\u6539\u5584<\/h3>\n<p>\u4ee5\u524d\u306f\u3001Gradle Daemon\uff08\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u3067\u5b9f\u884c\u3057\u3001\u3059\u3079\u3066\u306e Gradle \u95a2\u9023\u30bf\u30b9\u30af\u3068\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u3092\u7ba1\u7406\u3059\u308b\u30d7\u30ed\u30bb\u30b9\uff09\u306e\u30a8\u30e9\u30fc\u306f\u5225\u306e\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb\u3067\u306e\u307f\u78ba\u8a8d\u3067\u304d\u307e\u3057\u305f\u3002 \u3053\u306e\u30ea\u30ea\u30fc\u30b9\u3067\u306f\u3001Gradle 6.0 \u4ee5\u4e0a\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u3001Gradle Daemon \u306f\u30a8\u30e9\u30fc\u306b\u95a2\u3059\u308b\u60c5\u5831\u3092\u76f4\u63a5\u8fd4\u3057\u3001<strong>Build<\/strong> \u30c4\u30fc\u30eb\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u8868\u793a\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002 \u3053\u306e\u305f\u3081\u3001\u6642\u9593\u3068\u52b4\u529b\u306e\u4e21\u65b9\u3092\u7bc0\u7d04\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/07\/image4.png\" alt=\"\" \/><\/p>\n<h2>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u69cb\u6210\u306e\u30dc\u30a4\u30e9\u30fc\u30d7\u30ec\u30fc\u30c8\u3092\u524a\u6e1b<\/h2>\n<p>Kotlin Gradle \u30d7\u30e9\u30b0\u30a4\u30f3\u3078\u306e\u6539\u5584\u306b\u3088\u308a\u3001Gradle \u30d3\u30eb\u30c9\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304d\u8fbc\u3080\u30b3\u30fc\u30c9\u306e\u91cf\u304c\u5c11\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u3002\u6700\u3082\u4e00\u822c\u7684\u306a\u30b7\u30ca\u30ea\u30aa\u306f\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u6709\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><a name=\"stdlib-default\"><\/a><\/p>\n<h3>\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u4f9d\u5b58\u95a2\u4fc2\u306b<\/h3>\n<p>\u5727\u5012\u7684\u5927\u534a\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u304a\u3044\u3066\u3001Kotlin \u306e\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u5fc5\u8981\u3067\u3059\u3002 1.4.0-RC \u3088\u308a\u3001\u5404\u30bd\u30fc\u30b9\u30bb\u30c3\u30c8\u306e <code>stdlib<\/code> \u3067\u4f9d\u5b58\u95a2\u4fc2\u3092\u624b\u52d5\u3067\u5ba3\u8a00\u3059\u308b\u5fc5\u8981\u304c\u306a\u304f\u306a\u308a\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u8ffd\u52a0\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002 \u81ea\u52d5\u7684\u306b\u8ffd\u52a0\u3055\u308c\u3066\u3044\u305f\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u306f\u3001\u540c\u3058\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u306e\u9069\u7528\u306b\u3088\u308a\u3001Kotlin Gradle \u30d7\u30e9\u30b0\u30a4\u30f3\u3068\u540c\u3058\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u4ee5\u4e0b\u306f\u30011.4 \u3088\u308a\u524d\u306e\u4e00\u822c\u7684\u306a\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u69cb\u6210\uff08Android\u3001iOS\u3001\u304a\u3088\u3073 JavaScript \u30bf\u30fc\u30b2\u30c3\u30c8\uff09\u306e\u4f8b\u3067\u3059\u3002<\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\"> ...\r\n\r\nandroid()\r\nios()\r\njs()\r\n\r\nsourceSets {\r\n    commonMain {\r\n        dependencies {\r\n            implementation(&quot;org.jetbrains.kotlin:kotlin-stdlib-common&quot;)\r\n            implementation(&quot;org.jetbrains.kotlinx:kotlinx-coroutines-core-common:1.3.6&quot;)\r\n        }\r\n    }\r\n\r\n    androidMain {\r\n        dependencies {\r\n            implementation(&quot;org.jetbrains.kotlin:kotlin-stdlib-jdk8&quot;)\r\n            implementation(&quot;org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.6&quot;)\r\n        }\r\n    }\r\n    \r\n    jsMain {\r\n        dependencies {\r\n            implementation(&quot;org.jetbrains.kotlin:kotlin-stdlib-js&quot;)\r\n            implementation(&quot;org.jetbrains.kotlinx:kotlinx-coroutines-core-js:1.3.6&quot;)\r\n        }\r\n    }\r\n    \r\n    iosMain {\r\n        dependencies {\r\n            implementation(&quot;org.jetbrains.kotlinx:kotlinx-coroutines-core-native:1.3.6&quot;)\r\n        }\r\n    }\r\n    \r\n\r\n}\r\n\r\n... <\/pre>\n<p>\u3053\u308c\u304b\u3089\u306f\u3001\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u3078\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u660e\u793a\u7684\u306b\u5ba3\u8a00\u3059\u308b\u5fc5\u8981\u306f\u307e\u3063\u305f\u304f\u306a\u304f\u3001<a href=\"https:\/\/blog.jetbrains.com\/ja\/2020\/06\/12\/kotlin-1-4-m2-released\/#hierarchical-project-structure\">1.4-M2 \u3067\u767a\u8868\u3055\u308c\u305f<\/a>\u968e\u5c64\u7684\u306a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u69cb\u9020\u306e\u30b5\u30dd\u30fc\u30c8\u306b\u3088\u308a\u3001\u307b\u304b\u306e\u4f9d\u5b58\u95a2\u4fc2\u306e\u6307\u5b9a\u30821\u56de\u9650\u308a\u3067\u6e08\u307f\u307e\u3059\u3002 \u305d\u306e\u305f\u3081\u3001Gradle \u30d3\u30eb\u30c9\u30d5\u30a1\u30a4\u30eb\u304c\u3088\u308a\u7c21\u6f54\u3067\u8aad\u307f\u3084\u3059\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">\r\n...\r\n\r\nandroid()\r\nios()\r\njs()\r\n\r\nsourceSets {\r\n    commonMain {\r\n        dependencies {\r\n            implementation(&quot;org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.6&quot;)\r\n        }\r\n    }\r\n}\r\n\r\n...\r\n\r\n<\/pre>\n<p>\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u30bd\u30fc\u30b9\u30bb\u30c3\u30c8\u3068\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u5171\u6709\u30bd\u30fc\u30b9\u30bb\u30c3\u30c8\u306b\u3064\u3044\u3066\u306f\u3001\u305d\u308c\u305e\u308c\u306b\u5bfe\u5fdc\u3059\u308b\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3059\u304c\u3001\u305d\u308c\u4ee5\u5916\u306b\u306f\u3001\u5171\u901a\u306e\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3059\u3002 <code>kotlinOptions.jvmTarget<\/code> \u306e\u8a2d\u5b9a\u306b\u5fdc\u3058\u3066\u3001Kotlin Gradle \u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u9069\u5207\u306a JVM \u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u9078\u629e\u3057\u307e\u3059\u3002<\/p>\n<p>\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u660e\u793a\u7684\u306b\u5ba3\u8a00\u3057\u305f\u5834\u5408\uff08\u5225\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u5fc5\u8981\u306a\u5834\u5408\u306a\u3069\uff09\u3001Kotlin Gradle \u30d7\u30e9\u30b0\u30a4\u30f3\u306f\u305d\u308c\u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u305b\u305a\u306b\u30012\u756a\u76ee\u306e\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002 \u307e\u305f\u3001\u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u307e\u3063\u305f\u304f\u5fc5\u8981\u3068\u3057\u306a\u3044\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3001Gradle \u30d7\u30ed\u30d1\u30c6\u30a3\u306b\u30aa\u30d7\u30c8\u30a2\u30a6\u30c8\u306e\u30d5\u30e9\u30b0\u3092\u8ffd\u52a0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\"> kotlin.stdlib.default.dependency=false <\/pre>\n<p><a name=\"kotlin-native\"><\/a><\/p>\n<h2>Kotlin\/Native<\/h2>\n<h3>CocoaPods \u4f9d\u5b58\u95a2\u4fc2\u306e\u7ba1\u7406\u3092\u5358\u7d14\u5316<\/h3>\n<p>\u4ee5\u524d\u306f\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f9d\u5b58\u95a2\u4fc2\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u306e <a href=\"https:\/\/cocoapods.org\/\" target=\"_blank\" rel=\"noopener\">CocoaPods<\/a> \u306b\u7d71\u5408\u3059\u308b\u3068\u3001iOS\u3001macOS\u3001watchOS\u3001\u307e\u305f\u306f tvOS \u306e\u90e8\u5206\u306f\u3001\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u307b\u304b\u306e\u90e8\u5206\u3068\u306f\u5225\u3068\u306a\u308a\u3001Xcode \u306e\u307f\u3067\u30d3\u30eb\u30c9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002 \u4e00\u65b9\u3001\u307b\u304b\u306e\u90e8\u5206\u306f\u3001IntelliJ IDEA \u3067\u30d3\u30eb\u30c9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<p>\u52a0\u3048\u3066\u3001CocoaPods\uff08Pod \u30e9\u30a4\u30d6\u30e9\u30ea\uff09\u306b\u4fdd\u5b58\u3055\u308c\u305f Objective-C \u30e9\u30a4\u30d6\u30e9\u30ea\u3078\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u8ffd\u52a0\u3059\u308b\u305f\u3073\u306b\u3001IntelliJ IDEA \u304b\u3089 Xcode \u306b\u5207\u308a\u66ff\u3048\u3066\u3001<code>pod install<\/code> \u30bf\u30b9\u30af\u3092\u5b9f\u884c\u3057\u3001\u305d\u3053\u3067 Xcode \u30d3\u30eb\u30c9\u3092\u5b9f\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u4eca\u56de\u304b\u3089\u306f\u3001IntelliJ IDEA \u3067\u76f4\u63a5 Pod \u4f9d\u5b58\u95a2\u4fc2\u3092\u7ba1\u7406\u3067\u304d\u3001\u30b3\u30fc\u30c9\u30cf\u30a4\u30e9\u30a4\u30c8\u6a5f\u80fd\u3084\u88dc\u5b8c\u6a5f\u80fd\u306a\u3069\u3001\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u4f5c\u696d\u306e\u30e1\u30ea\u30c3\u30c8\u3092\u6d3b\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002 \u307e\u305f\u3001Xcode \u306b\u5207\u308a\u66ff\u3048\u308b\u3053\u3068\u306a\u304f\u3001Gradle \u3067 Kotlin \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5168\u4f53\u3092\u69cb\u7bc9\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002 \u3064\u307e\u308a\u3001Swift\/Objective-C \u30b3\u30fc\u30c9\u3092\u8a18\u8ff0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u3001\u307e\u305f\u306f\u30b7\u30df\u30e5\u30ec\u30fc\u30bf\u30fc\u3084\u30c7\u30d0\u30a4\u30b9\u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u3092\u9664\u304d\u3001Xcode \u306b\u79fb\u52d5\u3059\u308b\u5fc5\u8981\u304c\u306a\u304f\u306a\u3063\u305f\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002<\/p>\n<p>\u307e\u305f\u3001Pod \u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30ed\u30fc\u30ab\u30eb\u306b\u4fdd\u5b58\u3057\u3066\u4f5c\u696d\u3067\u304d\u308b\u3088\u3046\u306b\u3082\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u3001\u4ee5\u4e0b\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u8ffd\u52a0\u3067\u304d\u307e\u3059\u3002<\/p>\n<ul>\n<li>Kotlin \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3068\u3001CocoaPods \u30ea\u30dd\u30b8\u30c8\u30ea\u306e Pod \u30e9\u30a4\u30d6\u30e9\u30ea\u3002<\/li>\n<li>Kotlin \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3068\u3001\u30ed\u30fc\u30ab\u30eb\u306b\u4fdd\u5b58\u3055\u308c\u305f Pod \u30e9\u30a4\u30d6\u30e9\u30ea\u3002<\/li>\n<li>Kotlin Pod\uff08CocoaPods \u4f9d\u5b58\u95a2\u4fc2\u3068\u3057\u3066\u4f7f\u7528\u3055\u308c\u3066\u3044\u308b Kotlin \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\uff09\u3068\u30011 \u3064\u4ee5\u4e0a\u306e\u30bf\u30fc\u30b2\u30c3\u30c8\u3092\u6301\u3064 Xcode \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3002<\/li>\n<\/ul>\n<p>\u6700\u521d\u306e\u69cb\u6210\u3092\u5b8c\u4e86\u3059\u308c\u3070\u3001\u5f8c\u306f CocoaPods \u306b\u65b0\u3057\u3044\u4f9d\u5b58\u95a2\u4fc2\u3092\u8ffd\u52a0\u3059\u308b\u969b\u306b\u306f\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092 IntelliJ IDEA \u306b\u518d\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\u3060\u3051\u3067\u3059\u3002 \u65b0\u3057\u3044\u4f9d\u5b58\u95a2\u4fc2\u306f\u3001\u81ea\u52d5\u7684\u306b\u8ffd\u52a0\u3055\u308c\u308b\u305f\u3081\u3001 \u307b\u304b\u306e\u30b9\u30c6\u30c3\u30d7\u306f\u5fc5\u8981\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>\u4ee5\u4e0b\u3067\u306f\u3001CocoaPods \u30ea\u30dd\u30b8\u30c8\u30ea\u304b\u3089 Pod \u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u4f9d\u5b58\u95a2\u4fc2\u3092\u8ffd\u52a0\u3059\u308b\u65b9\u6cd5\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002 Kotlin 1.4 \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u306f\u3001\u3059\u3079\u3066\u306e\u30b7\u30ca\u30ea\u30aa\u304c\u8aac\u660e\u3055\u308c\u307e\u3059\u3002<\/p>\n<h4>CocoaPods \u7d71\u5408\u306e\u4f7f\u7528\u65b9\u6cd5<\/h4>\n<h5>CocoaPods \u4f9d\u5b58\u95a2\u4fc2\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u3068\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/h5>\n<ol>\n<li><code>cocoapods<\/code> \u4f9d\u5b58\u95a2\u4fc2\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\uff08<code>sudo gem install cocoapods<\/code>\uff09\u3002<\/li>\n<li><code>cocoapods-generate<\/code> \u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\uff08<code>sudo gem install cocoapods-generate<\/code>\uff09\u3002<\/li>\n<li>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e <code>build.gradle(.kts)<\/code> \u30d5\u30a1\u30a4\u30eb\u3067\u3001<code>kotlin(&quot;native.cocoapods&quot;)<\/code> \u3092\u4f7f\u3063\u3066 CocoaPods \u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u9069\u7528\u3057\u307e\u3059\u3002\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\"> \r\nplugins {\r\n   kotlin(&quot;multiplatform&quot;) version &quot;1.4.0-rc&quot;\r\n   kotlin(&quot;native.cocoapods&quot;) version &quot;1.4.0-rc&quot;\r\n} \r\n<\/pre>\n<\/li>\n<\/ol>\n<h5>CocoaPods \u30ea\u30dd\u30b8\u30c8\u30ea\u304b\u3089 Pod \u30e9\u30a4\u30d6\u30e9\u30ea\u3078\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u8ffd\u52a0\u3059\u308b<\/h5>\n<ol>\n<li>\n<p><code>pod()<\/code> \u3092\u4f7f\u7528\u3057\u3066\u3001CocoaPods \u30ea\u30dd\u30b8\u30c8\u30ea\u304b\u3089\u4f7f\u7528\u3059\u308b Pod \u30e9\u30a4\u30d6\u30e9\u30ea\u3078\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002 \u307e\u305f\u3001subspec \u3068\u3057\u3066\u4f9d\u5b58\u95a2\u4fc2\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002 <\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">\r\nkotlin {\r\n    ios()\r\n\r\n    cocoapods {\r\n        summary = &quot;CocoaPods test library&quot;\r\n        homepage = &quot;https:\/\/github.com\/JetBrains\/kotlin&quot;\r\n        pod(&quot;AFNetworking&quot;, &quot;~&gt; 4.0.0&quot;)\r\n\r\n        \/\/Remote Pod added as a subspec\r\n        pod(&quot;SDWebImage\/MapKit&quot;)\r\n    }\r\n}\r\n<\/pre>\n<\/p>\n<\/li>\n<li>\n<p>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u518d\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002 Kotlin \u30b3\u30fc\u30c9\u304b\u3089\u4f9d\u5b58\u95a2\u4fc2\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u306b\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002 <\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">\r\nimport cocoapods.AFNetworking.*\r\nimport cocoapods.SDWebImage.*\r\n<\/pre>\n<\/p>\n<\/li>\n<\/ol>\n<p>\u307e\u305f\u3001\u30ea\u30e2\u30fc\u30c8\u306e CocoaPods \u30ea\u30dd\u30b8\u30c8\u30ea\u3068\u30ed\u30fc\u30ab\u30eb\u306e\u4e21\u65b9\u306b\u4fdd\u5b58\u3055\u308c\u305f Pod \u30e9\u30a4\u30d6\u30e9\u30ea\u3078\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u8ffd\u52a0\u3059\u308b\u65b9\u6cd5\u3092\u793a\u3057\u305f<a href=\"https:\/\/github.com\/Kotlin\/kotlin-with-cocoapods-sample\" target=\"_blank\" rel=\"noopener\">\u30b5\u30f3\u30d7\u30eb\u30d7\u30ed\u30b8\u30a7\u30af\u30c8<\/a>\u3092\u63d0\u4f9b\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<h3>Apple \u30bf\u30fc\u30b2\u30c3\u30c8\u306e\u30ea\u30ea\u30fc\u30b9 .dSYM \u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u751f\u6210<\/h3>\n<p>iOS \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30af\u30e9\u30c3\u30b7\u30e5\u3092\u30c7\u30d0\u30c3\u30b0\u3059\u308b\u306b\u306f\u3001\u30af\u30e9\u30c3\u30b7\u30e5\u30ec\u30dd\u30fc\u30c8\u306e\u5206\u6790\u304c\u4f34\u3046\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u30af\u30e9\u30c3\u30b7\u30e5\u30ec\u30dd\u30fc\u30c8\u306b\u306f\u3001\u901a\u5e38\u3001\u9069\u5207\u306b\u89e3\u8aad\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u306b\u30b7\u30f3\u30dc\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u5fc5\u8981\u3068\u306a\u308a\u307e\u3059\u3002 Kotlin \u3067\u30a2\u30c9\u30ec\u30b9\u3092\u30b7\u30f3\u30dc\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3059\u308b\u306b\u306f\u3001Kotlin \u30b3\u30fc\u30c9\u7528\u306e .dSYM \u30d0\u30f3\u30c9\u30eb\u304c\u5fc5\u8981\u3067\u3059\u3002 1.4-M3 \u3088\u308a\u3001Kotlin\/Native \u30b3\u30f3\u30d1\u30a4\u30e9\u306f\u3001Darwin \u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306e\u30ea\u30ea\u30fc\u30b9\u30d0\u30a4\u30ca\u30ea\u7528\u306e .dSYM \u3092<strong>\u30c7\u30d5\u30a9\u30eb\u30c8\u3067<\/strong>\u751f\u6210\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002 \u3053\u308c\u306f\u3001<code>-Xadd-light-debug=disable<\/code> \u30b3\u30f3\u30d1\u30a4\u30e9\u30d5\u30e9\u30b0\u3092\u4f7f\u3063\u3066\u7121\u52b9\u306b\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \u4ed6\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u306f\u3001\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059\u3002 Gradle \u3067\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u5207\u308a\u66ff\u3048\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">\r\nkotlin {\r\n    targets.withType&lt;org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget&gt; {\r\n        binaries.all {\r\n            freeCompilerArgs += &quot;-Xadd-light-debug={enable|disable}&quot;\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<h3>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u6539\u5584<\/h3>\n<p>\u5f15\u304d\u7d9a\u304d\u3001Kotlin\/Native \u958b\u767a\u30d7\u30ed\u30bb\u30b9\u306e\u7dcf\u5408\u7684\u306a\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u6700\u9069\u5316\u306b\u53d6\u308a\u7d44\u3093\u3067\u3044\u307e\u3059\u3002<\/p>\n<ul>\n<li>1.3.70\u3067\u306f\u3001Kotlin\/Native \u30b3\u30f3\u30d1\u30a4\u30eb\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u6539\u5584\u3059\u308b\u305f\u3081\u306b\u3001<a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2020\/03\/kotlin-1-3-70-released\/#kotlin-native\">\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u4f9d\u5b58\u95a2\u4fc2\u306e\u30ad\u30e3\u30c3\u30b7\u30f3\u30b0\u3068 Gradle Daemon \u304b\u3089\u306e\u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u5b9f\u884c<\/a>\u3068\u3044\u30462\u3064\u306e\u65b0\u6a5f\u80fd\u3092\u5c0e\u5165\u3057\u307e\u3057\u305f\u3002 \u7686\u3055\u3093\u304b\u3089\u306e\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u306e\u304a\u9670\u3067\u3001\u3053\u308c\u3089\u306e\u6a5f\u80fd\u306b\u751f\u3058\u3066\u3044\u305f\u591a\u6570\u306e\u8ab2\u984c\u3092\u4fee\u6b63\u3057\u3001\u5b89\u5b9a\u6027\u3092\u7dcf\u5408\u7684\u306b\u6539\u5584\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002\u305d\u3057\u3066\u3001\u5f15\u304d\u7d9a\u304d\u6539\u5584\u306b\u52aa\u3081\u308b\u610f\u5411\u3067\u3059\u3002<\/li>\n<li>\u307e\u305f\u3001\u30e9\u30f3\u30bf\u30a4\u30e0\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3078\u306e\u6539\u5584\u3082\u884c\u308f\u308c\u3066\u3044\u307e\u3059\u3002 \u7dcf\u5408\u7684\u306a\u30e9\u30f3\u30bf\u30a4\u30e0\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306f\u3001GC \u306e\u6700\u9069\u5316\u306b\u3088\u3063\u3066\u6539\u5584\u3055\u308c\u3066\u3044\u307e\u3059\u3002 \u3053\u306e\u6539\u5584\u306f\u7279\u306b\u3001\u9577\u304f\u5b58\u5728\u3059\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u591a\u6570\u3042\u308b\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u660e\u78ba\u5316\u3057\u307e\u3059\u3002 <code>HashMap<\/code> \u3068 <code>HashSet<\/code> \u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u306f\u3001\u5197\u9577\u3059\u308b\u30dc\u30af\u30b7\u30f3\u30b0\u3092\u30a8\u30b9\u30b1\u30fc\u30d7\u3059\u308b\u3053\u3068\u3067\u3088\u308a\u7d20\u65e9\u304f\u6a5f\u80fd\u3059\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/li>\n<\/ul>\n<p><a name=\"kotlin-js\"><\/a><\/p>\n<h2>Kotlin\/JS<\/h2>\n<p>Kotlin 1.4.0-RC \u3067\u306f\u3001<code>@JsExport<\/code> \u6ce8\u91c8\u306f\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u30b3\u30f3\u30d1\u30a4\u30e9\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306b\u5bfe\u5fdc\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002 \u307e\u305f\u3001Gradle \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5411\u3051\u306b npm \u4f9d\u5b58\u95a2\u4fc2\u7ba1\u7406\u3068 Dukat \u7d71\u5408\u3092\u3088\u308a\u5805\u7262\u3067\u7d30\u304b\u304f\u8abf\u6574\u3067\u304d\u308b\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u63d0\u4f9b\u3057\u3001CSS \u30b5\u30dd\u30fc\u30c8\u306e\u7cbe\u7dfb\u5316\u3068\u3001Node.js API \u3068\u306e\u7d71\u5408\u306e\u5c0e\u5165\u306a\u3069\u3082\u884c\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<h3>\u30c7\u30d5\u30a9\u30eb\u30c8\u30b3\u30f3\u30d1\u30a4\u30e9\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u5411\u3051\u306e <code>@JsExport<\/code> \u6ce8\u91c8<\/h3>\n<p>Kotlin 1.4 \u306e<a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2020\/03\/kotlin-1-4-m1-released\/#exporting-declarations-to-javascript\">\u524d\u56de\u306e\u30de\u30a4\u30eb\u30b9\u30c8\u30fc\u30f3<\/a>\u3067\u306f\u3001<code>@JsExport<\/code> \u6ce8\u91c8\u3092\u5c0e\u5165\u3057\u307e\u3057\u305f\u3002\u3053\u308c\u306f\u3001<a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2020\/03\/kotlin-1-4-m1-released\/#js-new-backend\">\u65b0\u3057\u3044 IR \u30b3\u30f3\u30d1\u30a4\u30e9\u30d0\u30c3\u30af\u30a8\u30f3\u30c9<\/a>\u3092\u4f7f\u7528\u3059\u308b\u969b\u306b\u3001JavaScript \u3084 TypeScript \u304c\u63d0\u4f9b\u3059\u308b\u30c8\u30c3\u30d7\u30ec\u30d9\u30eb\u306e\u5ba3\u8a00\u3092\u884c\u3046\u305f\u3081\u306b\u4f7f\u7528\u3059\u308b\u3082\u306e\u3067\u3059\u3002 Kotlin 1.4-M3 \u304b\u3089\u306f\u3001\u3053\u306e\u6ce8\u91c8\u3092\u73fe\u5728\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u30b3\u30f3\u30d1\u30a4\u30e9\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3068\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u3082\u306a\u308a\u307e\u3057\u305f\u3002 \u73fe\u5728\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u30b3\u30f3\u30d1\u30a4\u30e9\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3092\u4f7f\u7528\u3059\u308b\u969b\u306b\u3001<code>@JsExport<\/code> \u3067\u30c8\u30c3\u30d7\u30ec\u30d9\u30eb\u5ba3\u8a00\u3092\u30a2\u30ce\u30c6\u30fc\u30b7\u30e7\u30f3\u3059\u308b\u3068\u3001\u5ba3\u8a00\u306e\u540d\u524d\u30de\u30f3\u30b0\u30ea\u30f3\u30b0\u304c\u30aa\u30d5\u306b\u306a\u308a\u307e\u3059\u3002 \u4e21\u65b9\u306e\u30b3\u30f3\u30d1\u30a4\u30e9\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306b\u3053\u306e\u6ce8\u91c8\u304c\u3042\u308b\u5834\u5408\u3001\u30c8\u30c3\u30d7\u30ec\u30d9\u30eb\u5ba3\u8a00\u3092\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3059\u308b\u30ed\u30b8\u30c3\u30af\u3092\u8abf\u6574\u305b\u305a\u306b\u30b3\u30f3\u30d1\u30a4\u30e9\u9593\u3092\u79fb\u884c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<h3>npm \u4f9d\u5b58\u95a2\u4fc2\u7ba1\u7406\u3078\u306e\u5909\u66f4<\/h3>\n<h4>\u4f9d\u5b58\u95a2\u4fc2\u5ba3\u8a00\u306b\u95a2\u3059\u308b\u660e\u793a\u7684\u306a\u30d0\u30fc\u30b8\u30e7\u30f3\u8981\u4ef6<\/h4>\n<p>\u30d0\u30fc\u30b8\u30e7\u30f3\u756a\u53f7\u3092\u6307\u5b9a\u305b\u305a\u306b npm \u30d1\u30c3\u30b1\u30fc\u30b8\u3078\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u5ba3\u8a00\u3059\u308b\u3068\u3001\u4f7f\u7528\u3059\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u78ba\u5b9f\u306b\u7ba1\u7406\u3059\u308b\u3053\u3068\u304c\u56f0\u96e3\u3068\u306a\u308a\u307e\u3059\u3002 \u3053\u306e\u305f\u3081\u3001\u4eca\u5f8c\u306f\u3001\u4f9d\u5b58\u95a2\u4fc2\u306b\u95a2\u3059\u308b <a href=\"https:\/\/docs.npmjs.com\/misc\/semver#versions\" target=\"_blank\" rel=\"noopener\">npm \u306e semver \u69cb\u6587<\/a>\u306b\u57fa\u3065\u3044\u3066\u3001\u30d0\u30fc\u30b8\u30e7\u30f3\u307e\u305f\u306f\u30d0\u30fc\u30b8\u30e7\u30f3\u7bc4\u56f2\u3092\u660e\u793a\u7684\u306b\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 Gradle DSL \u3082\u4f9d\u5b58\u95a2\u4fc2\u306e\u8907\u6570\u306e\u7bc4\u56f2\u3092\u30b5\u30dd\u30fc\u30c8\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u305f\u3081\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u3069\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u8a31\u53ef\u3059\u308b\u306e\u304b\u3092\u660e\u78ba\u306b\u30d4\u30f3\u30dd\u30a4\u30f3\u30c8\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002 <\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">\r\ndependencies {\r\n   implementation(npm(&quot;react&quot;, &quot;&gt; 14.0.0 &lt;=16.9.0&quot;))\r\n}\r\n<\/pre>\n<\/p>\n<h4>\u305d\u306e\u4ed6\u306e npm \u4f9d\u5b58\u95a2\u4fc2<\/h4>\n<p><code>dependencies<\/code> \u30d6\u30ed\u30c3\u30af\u5185\u306b <code>npm(...)<\/code> \u4f7f\u3063\u3066\u6307\u5b9a\u3059\u308b npm \u306e\u901a\u5e38\u306e\u4f9d\u5b58\u95a2\u4fc2\u306e\u307b\u304b\u306b\u3001\u4f7f\u7528\u3067\u304d\u308b\u4f9d\u5b58\u95a2\u4fc2\u306e\u7a2e\u985e\u304c 3 \u3064\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.npmjs.com\/files\/package.json#devdependencies\" target=\"_blank\" rel=\"noopener\"><code>devDependencies<\/code><\/a> \u306b\u5bfe\u5fdc\u3059\u308b <code>devNpm(...)<\/code><\/li>\n<li><a href=\"https:\/\/docs.npmjs.com\/files\/package.json#optionaldependencies\" target=\"_blank\" rel=\"noopener\"><code>optionalDependencies<\/code><\/a> \u306b\u5bfe\u5fdc\u3059\u308b<code>optionalNpm(...)<\/code><\/li>\n<li><a href=\"https:\/\/docs.npmjs.com\/files\/package.json#peerdependencies\" target=\"_blank\" rel=\"noopener\"><code>peerDependencies<\/code><\/a><br \/>\n\u306b\u5bfe\u5fdc\u3059\u308b <code>peerNpm(...)<\/code><br \/>\n\u3069\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u3044\u3064\u4f7f\u7528\u3059\u308b\u306e\u304b\u306b\u3064\u3044\u3066\u306f\u3001npm \u304b\u3089\u30ea\u30f3\u30af\u3055\u308c\u3066\u3044\u308b\u516c\u5f0f\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/li>\n<\/ul>\n<h4>\u63a8\u79fb\u7684\u306a npm \u4f9d\u5b58\u95a2\u4fc2\u306e\u81ea\u52d5\u30a4\u30f3\u30af\u30eb\u30fc\u30b8\u30e7\u30f3\u3068\u89e3\u6c7a<\/h4>\n<p>\u4f5c\u6210\u8005\u304c\u624b\u52d5\u3067 <code>package.json<\/code> \u30d5\u30a1\u30a4\u30eb\u3092\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306b\u8ffd\u52a0\u3057\u3066\u3044\u306a\u3044\u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u4f9d\u5b58\u3059\u308b\u5834\u5408\u3001\u4ee5\u524d\u306f npm \u4f9d\u5b58\u95a2\u4fc2\u3092\u624b\u52d5\u3067\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3057\u305f\u3002 \u305f\u3068\u3048\u3070\u3001<code>kotlinx.serialization<\/code> \u306e\u5834\u5408\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u304c Kotlin\/JS \u3067\u6a5f\u80fd\u3067\u304d\u308b\u3088\u3046\u306b\u3001Gradle \u30d3\u30eb\u30c9\u30d5\u30a1\u30a4\u30eb\u306b\u4f9d\u5b58\u95a2\u4fc2\u3068\u3057\u3066 <code>text-encoding<\/code> \u3068 <code>abort-controller<\/code> \u3092\u542b\u3081\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u4eca\u5f8c\u306f\u3001Gradle \u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u30e9\u30a4\u30d6\u30e9\u30ea\u306e <code>package.json<\/code> \u30d5\u30a1\u30a4\u30eb\u3092\u81ea\u52d5\u7684\u306b\u751f\u6210\u3057\u3001<code>jar<\/code> \u307e\u305f\u306f <code>klib<\/code> \u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306b\u305d\u308c\u3089\u3092\u542b\u3081\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002 \u3053\u306e\u7a2e\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u542b\u3081\u308b\u969b\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u304c\u81ea\u52d5\u7684\u306b\u89e3\u6790\u3055\u308c\u3066\u3001\u5fc5\u8981\u306a\u4f9d\u5b58\u95a2\u4fc2\u304c\u81ea\u52d5\u7684\u306b\u542b\u3081\u3089\u308c\u308b\u305f\u3081\u3001Gradle \u30d3\u30eb\u30c9\u30d5\u30a1\u30a4\u30eb\u306b\u624b\u52d5\u3067\u8ffd\u52a0\u3059\u308b\u5fc5\u8981\u304c\u306a\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n<h3>CSS \u30b5\u30dd\u30fc\u30c8\u306e\u8abf\u6574<\/h3>\n<p><a href=\"https:\/\/blog.jetbrains.com\/ja\/2020\/06\/12\/kotlin-1-4-m2-released\/#js-improvemements\">Kotlin 1.4-M2<\/a> \u3067\u306f\u3001<code>cssSettings<\/code> \u3092\u4f7f\u3063\u3066 Gradle \u304b\u3089\u76f4\u63a5 webpack \u306e CSS \u3068\u30b9\u30bf\u30a4\u30eb\u30ed\u30fc\u30c0\u30fc\u3092\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002 \u5b9f\u969b\u306e\u30bf\u30b9\u30af\u3068\u52b9\u679c\u3092\u3088\u308a\u7dca\u5bc6\u306b\u53cd\u6620\u3059\u308b\u305f\u3081\u306b\u3001\u69cb\u6210\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092 <code>cssSupport<\/code> \u306b\u540d\u524d\u5909\u66f4\u3057\u307e\u3057\u305f\u3002 \u4eca\u5f8c\u3001Gradle \u30d7\u30e9\u30b0\u30a4\u30f3\u3067\u306f\u30011.4-M2 \u3067\u8a66\u9a13\u7684\u306b\u884c\u3063\u305f\u30c7\u30d5\u30a9\u30eb\u30c8\u8a2d\u5b9a\u306b\u3088\u308b CSS \u30b5\u30dd\u30fc\u30c8\u306f\u6709\u52b9\u5316\u3055\u308c\u306a\u304f\u306a\u308a\u307e\u3059\u3002 \u3053\u306e\u5909\u66f4\u306b\u3088\u3063\u3066\u3001\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u306b\u3088\u308b\u51e6\u7406\u65b9\u6cd5\uff08Sass \u307e\u305f\u306f Less \u30ed\u30fc\u30c0\u30fc\u3092\u4f7f\u7528\u3059\u308b\u306a\u3069\uff09\u306b\u95a2\u3059\u308b\u72ec\u81ea\u306e\u8a2d\u5b9a\u3092\u542b\u3081\u3066\u3044\u308b\u65b9\u306e\u6df7\u4e71\u304c\u306a\u304f\u306a\u308b\u3053\u3068\u3092\u9858\u3063\u3066\u3044\u307e\u3059\u3002 \u3053\u3046\u3044\u3063\u305f\u5834\u5408\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u69cb\u6210\u304c\u3059\u3067\u306b\u7af6\u5408\u3092\u751f\u3058\u308b\u53ef\u80fd\u6027\u306e\u3042\u308b CSS \u8a2d\u5b9a\u3092\u30a4\u30f3\u30b8\u30a7\u30af\u30c8\u3057\u3066\u3044\u308b\u3053\u3068\u306f\u3059\u3050\u306b\u306f\u308f\u304b\u3089\u306a\u3044\u305f\u3081\u3067\u3059\u3002<\/p>\n<p>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e CSS \u30b5\u30dd\u30fc\u30c8\u3092\u6709\u52b9\u306b\u3059\u308b\u306b\u306f\u3001<code>webpackTask<\/code>\u3001 <code>runTask<\/code>\u3001\u304a\u3088\u3073 <code>testTask<\/code> \u306b\u5bfe\u3057\u3066\u3001Gradle \u30d3\u30eb\u30c9\u30d5\u30a1\u30a4\u30eb\u306b <code>cssSupport.enabled<\/code> \u30d5\u30e9\u30b0\u3092\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 IntelliJ IDEA \u306b\u542b\u307e\u308c\u308b\u30a6\u30a3\u30b6\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u3066\u65b0\u3057\u3044\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3059\u308b\u969b\u306f\u3001\u3053\u308c\u3089\u306e\u8a2d\u5b9a\u306f\u751f\u6210\u3055\u308c\u305f <code>build.gradle(.kts)<\/code> \u30d5\u30a1\u30a4\u30eb\u5185\u306b\u81ea\u52d5\u7684\u306b\u542b\u307e\u308c\u307e\u3059\u3002<\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\"> \r\nwebpackTask {\r\n   cssSupport.enabled = true\r\n}\r\nrunTask {\r\n   cssSupport.enabled = true\r\n}\r\ntestTask {\r\n   useKarma {\r\n      \/\/ . . .\r\n      webpackConfig.cssSupport.enabled = true\r\n   }\r\n}\r\n <\/pre>\n<p>\u5404\u30bf\u30b9\u30af\u306b\u5bfe\u3057\u3066\u3053\u308c\u3089\u306e\u8a2d\u5b9a\u3092\u500b\u5225\u306b\u8abf\u6574\u3059\u308b\u306e\u306f\u3001\u3042\u307e\u308a\u4fbf\u5229\u3067\u306f\u306a\u3044\u3053\u3068\u306f\u8a8d\u8b58\u3057\u3066\u3044\u307e\u3059\u3002 \u305d\u3053\u3067\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u306e DSL \u306b <code>cssSupport<\/code> \u3092\u69cb\u6210\u3059\u308b\u305f\u3081\u306e\u5834\u6240\u3092 1 \u7b87\u6240\u306b\u8a2d\u3051\u308b\u3053\u3068\u3092\u8003\u3048\u3066\u3044\u307e\u3059\uff08\u9032\u6357\u306f\u3001<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-39825\" target=\"_blank\" rel=\"noopener\">\u3053\u3061\u3089<\/a>\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff09\u3002<\/p>\n<h3>Dukat \u7d71\u5408\u306e\u6539\u5584<\/h3>\n<p>Kotlin\/JS Gradle \u30d7\u30e9\u30b0\u30a4\u30f3\u306b\u3088\u3063\u3066\u3001TypeScript \u5ba3\u8a00\u30d5\u30a1\u30a4\u30eb\uff08<code>.d.ts<\/code>\uff09\u3092 Kotlin \u306e\u5916\u90e8\u5ba3\u8a00\u306b\u81ea\u52d5\u7684\u306b\u5909\u63db\u3059\u308b <a href=\"https:\/\/github.com\/kotlin\/dukat\" target=\"_blank\" rel=\"noopener\">Dukat<\/a> \u30c4\u30fc\u30eb\u3068\u306e\u7d71\u5408\u3092\u3088\u308a\u7d30\u304b\u304f\u8abf\u6574\u3059\u308b\u305f\u3081\u306e\u5236\u5fa1\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3059\u304c\u3001 Dukat \u304c\u5ba3\u8a00\u3092\u751f\u6210\u3059\u308b\u5834\u5408\u3068\u305d\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u306f\u3001\u6b21\u306e 2 \u3064\u306e\u65b9\u6cd5\u3092\u4f7f\u7528\u3057\u3066\u9078\u629e\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<h4>\u30d3\u30eb\u30c9\u6642\u306b\u5916\u90e8\u5ba3\u8a00\u3092\u751f\u6210\u3059\u308b<\/h4>\n<p>npm \u306e\u4f9d\u5b58\u95a2\u4fc2\u95a2\u6570\u3067\u306f\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u540d\u3068\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u5f8c\u306b <code>generateExternals<\/code> \u3068\u3044\u3046 3 \u3064\u76ee\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002 \u3053\u306e\u305f\u3081\u3001\u6b21\u306e\u3088\u3046\u306b\u3057\u3066\u3001Dukat \u304c\u7279\u5b9a\u306e\u4f9d\u5b58\u95a2\u4fc2\u306b\u5bfe\u3057\u3066\u5ba3\u8a00\u3092\u751f\u6210\u3059\u308b\u304b\u3069\u3046\u304b\u3092\u5236\u5fa1\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">\r\ndependencies {\r\n  implementation(npm(&quot;decamelize&quot;, &quot;4.0.0&quot;, generateExternals = true))\r\n}\r\n<\/pre>\n<p>gradle.properties \u30d5\u30a1\u30a4\u30eb\u306b <code>kotlin.js.generate.externals \u30d5\u30e9\u30b0<\/code>\uff08<a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2019\/08\/kotlin-1-3-50-released\/#dukat\">experimental<\/a>\u6bb5\u968e\u3067\u306f <code>kotlin.js.experimental.generateKotlinExternals<\/code> \u3068\u540d\u4ed8\u3051\u3089\u308c\u3066\u3044\u305f\u3082\u306e\uff09\u3092\u4f7f\u7528\u3057\u3066\u3001\u3059\u3079\u3066\u306e npm \u4f9d\u5b58\u95a2\u4fc2\u306b\u95a2\u3059\u308b\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u306e\u632f\u308b\u821e\u3044\u3092\u540c\u6642\u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \u901a\u5e38\u901a\u308a\u3001\u500b\u5225\u306e\u660e\u793a\u7684\u306a\u8a2d\u5b9a\u306f\u3001\u3053\u306e\u6c4e\u7528\u30d5\u30e9\u30b0\u3088\u308a\u512a\u5148\u3055\u308c\u307e\u3059\u3002<\/p>\n<h4>Gradle \u30bf\u30b9\u30af\u3092\u4ecb\u3057\u3066\u624b\u52d5\u3067\u5916\u90e8\u5ba3\u8a00\u3092\u751f\u6210\u3059\u308b<\/h4>\n<p>Dukat \u304c\u751f\u6210\u3059\u308b\u5ba3\u8a00\u3092\u5b8c\u5168\u306b\u5236\u5fa1\u3059\u308b\u5834\u5408\u3001\u8abf\u6574\u3092\u624b\u52d5\u3067\u9069\u7528\u3059\u308b\u5834\u5408\u3001\u307e\u305f\u306f\u81ea\u52d5\u751f\u6210\u3055\u308c\u305f\u5916\u90e8\u5ba3\u8a00\u306b\u554f\u984c\u304c\u751f\u3058\u3066\u3044\u308b\u5834\u5408\u306f\u3001<code>generateExternals<\/code> \u3068\u3044\u3046 Gradle \u30bf\u30b9\u30af\u3092\u4f7f\u7528\u3057\u3066\u3001\u3059\u3079\u3066\u306e npm \u4f9d\u5b58\u95a2\u4fc2\u306b\u5bfe\u3059\u308b\u5ba3\u8a00\u306e\u4f5c\u6210\u3092\u624b\u52d5\u3067\u30c8\u30ea\u30ac\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002 \u3053\u308c\u306b\u3088\u308a\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30eb\u30fc\u30c8\u306e <code>externals<\/code> \u3068\u3044\u3046\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u5ba3\u8a00\u304c\u751f\u6210\u3055\u308c\u307e\u3059\u3002 \u3053\u306e\u6642\u70b9\u3067\u3001\u751f\u6210\u3055\u308c\u305f\u30b3\u30fc\u30c9\u3092\u78ba\u8a8d\u3057\u3001\u30bd\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u4f7f\u7528\u3059\u308b\u90e8\u5206\u3092\u30b3\u30d4\u30fc\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \uff08\u30bd\u30fc\u30b9\u30d5\u30a9\u30eb\u30c0\u306b\u5916\u90e8\u5ba3\u8a00\u306e\u624b\u52d5\u3067\u306e\u63d0\u4f9b\u3068\u3001\u540c\u3058\u4f9d\u5b58\u95a2\u4fc2\u306b\u5bfe\u3059\u308b\u5916\u90e8\u5ba3\u8a00\u3092\u30d3\u30eb\u30c9\u6642\u306b\u751f\u6210\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u3068\u3001\u540d\u524d\u89e3\u6c7a\u306e\u554f\u984c\u304c\u751f\u3058\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002\uff09<\/p>\n<h3>kotlin.dom \u3068 kotlin.browser \u3092\u500b\u5225\u306e\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306b\u79fb\u884c<\/h3>\n<p>Kotlin\/JS \u306e\u30d6\u30e9\u30a6\u30b6\u3068 DOM \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u306e\u9032\u5316\u3092\u52a0\u901f\u3057\u3001\u8a00\u8a9e\u305d\u306e\u3082\u306e\u306e\u30ea\u30ea\u30fc\u30b9\u30b5\u30a4\u30af\u30eb\u304b\u3089\u5206\u96e2\u3059\u308b\u305f\u3081\u306b\u3001<code>kotlin.dom<\/code> \u3068 <code>kotlin.browser<\/code> \u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u3042\u308b\u73fe\u5728\u306e API \u3092\u5ec3\u6b62\u3059\u308b\u3053\u3068\u306b\u306a\u308a\u307e\u3057\u305f\u3002 \u3053\u308c\u3089\u306e API \u306b\u4ee3\u308f\u308b\u3082\u306e\u306f\u3001<code>kotlinx.dom<\/code> \u3068 <code>kotlinx.browser<\/code> \u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u63d0\u4f9b\u3055\u308c\u307e\u3059\u304c\u3001\u4eca\u5f8c\u306e\u30ea\u30ea\u30fc\u30b9\u3067\u500b\u5225\u306e\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306b\u62bd\u51fa\u3055\u308c\u308b\u4e88\u5b9a\u3067\u3059\u3002 \u3053\u308c\u3089\u306e\u65b0\u3057\u3044 API \u3078\u306e\u79fb\u884c\u306f\u5358\u7d14\u3067\u3059\u3002 \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u4f7f\u7528\u3055\u308c\u3066\u3044\u308b import \u3092\u3001\u65b0\u3057\u3044 kotlinx \u30d1\u30c3\u30b1\u30fc\u30b8\u30dd\u30a4\u30f3\u30c8\u3059\u308b\u3088\u3046\u306b\u8abf\u6574\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p><a name=\"kotlin-js-node\"><\/a><\/p>\n<h3>\u30d7\u30ec\u30d3\u30e5\u30fc: kotlinx-nodejs<\/h3>\n<p><a href=\"https:\/\/nodejs.org\/docs\/latest\/api\/\" target=\"_blank\" rel=\"noopener\">Node.js API<\/a> \u306e\u516c\u5f0f\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0 <code>kotlinx-nodejs<\/code> \u306e\u30d7\u30ec\u30d3\u30e5\u30fc\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002 Kotlin \u3067 Node.js \u3092\u30bf\u30fc\u30b2\u30c3\u30c8\u3068\u3059\u308b\u3053\u3068\u306f\u305a\u3063\u3068\u524d\u304b\u3089\u53ef\u80fd\u3060\u3063\u305f\u3053\u3068\u3067\u3059\u304c\u3001\u305d\u306e API \u3078\u306e\u30bf\u30a4\u30d7\u30bb\u30fc\u30d5\u30a2\u30af\u30bb\u30b9\u304c\u63d0\u4f9b\u3055\u308c\u308b\u3053\u3068\u306b\u3088\u308a\u3001\u30bf\u30fc\u30b2\u30c3\u30c8\u3078\u306e\u5168\u80fd\u529b\u304c\u89e3\u653e\u3055\u308c\u307e\u3059\u3002 <code>kotlinx-nodejs<\/code> \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u306b\u3064\u3044\u3066\u306f\u3001<a href=\"https:\/\/github.com\/Kotlin\/kotlinx-nodejs\" target=\"_blank\" rel=\"noopener\">GitHub<\/a> \u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b <code>kotlinx-nodejs<\/code> \u3092\u8ffd\u52a0\u3059\u308b\u306b\u306f\u3001\u30ea\u30dd\u30b8\u30c8\u30ea\u306b <code>jcenter()<\/code> \u304c\u8ffd\u52a0\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002 \u305d\u306e\u5f8c\u3067\u3001\u305d\u306e\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3078\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">\r\ndependencies {\r\n    \/\/ . . .\r\n    implementation(&quot;org.jetbrains.kotlinx:kotlinx-nodejs:0.0.4&quot;)\r\n}\r\n<\/pre>\n<p>Gradle \u306e\u5909\u66f4\u3092\u8aad\u307f\u8fbc\u3080\u3068\u3001DNS \u89e3\u6c7a\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3059\u308b\u306a\u3069\u3057\u3066\u3001Node.js \u304c\u63d0\u4f9b\u3059\u308b API \u3092\u8a66\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"kotlin-code\" data-highlight-only=\"true\" theme=\"idea\" indent=\"4\" style=\"visibility: hidden; padding: 36px 0;\">\r\nfun main() {\r\n    dns.lookup(&quot;example.org&quot;) { err, address, family -&gt;\r\n        console.log(&quot;address: $address, family IPv$family&quot;)\r\n    }\r\n}\r\n<\/pre>\n<p>\u7279\u306b\u3001\u3053\u308c\u306f\u4f9d\u7136\u3068\u3057\u3066\u30d7\u30ec\u30d3\u30e5\u30fc\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u3042\u308b\u305f\u3081\u3001kotlinx-nodejs \u3092\u8a66\u3057\u3001\u8ab2\u984c\u306b\u906d\u9047\u3057\u305f\u3089\u3001\u30ea\u30dd\u30b8\u30c8\u30ea\u306e<a href=\"https:\/\/github.com\/Kotlin\/kotlinx-nodejs\/issues\" target=\"_blank\" rel=\"noopener\">\u8ab2\u984c\u30c8\u30e9\u30c3\u30ab\u30fc<\/a>\u306b\u305c\u3072\u5831\u544a\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h3>kotlin2js \u304a\u3088\u3073 kotlin-dce-js Gradle \u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u4f7f\u7528\u5ec3\u6b62<\/h3>\n<p>Kotlin 1.4 \u3088\u308a\u3001Kotlin \u3092\u4f7f\u7528\u3059\u308b JavaScript \u3092\u30bf\u30fc\u30b2\u30c3\u30c8\u3059\u308b\u305f\u3081\u306e\u53e4\u3044 Gradle \u30d7\u30e9\u30b0\u30a4\u30f3\uff08<code>kotlin2js<\/code> \u3068 <code>kotlin-dce-js<\/code>\uff09\u306f\u3001<code>kotlin.js<\/code> Gradle \u30d7\u30e9\u30b0\u30a4\u30f3\u306b\u4ee3\u308f\u308a\u3001\u6b63\u5f0f\u306b\u4f7f\u7528\u5ec3\u6b62\u3068\u306a\u308a\u307e\u3059\u3002 \u3053\u308c\u3089\u30d7\u30e9\u30b0\u30a4\u30f3\u306b\u63d0\u4f9b\u3055\u308c\u3066\u3044\u305f\u4e3b\u306a\u6a5f\u80fd\u306f\u3001<code>kotlin-frontend-plugin<\/code>\uff08\u3059\u3067\u306b\u4f7f\u7528\u5ec3\u6b62\uff09\u3068\u3068\u3082\u306b\u65b0\u3057\u3044\u30d7\u30e9\u30b0\u30a4\u30f3\u306b\u51dd\u7e2e\u3055\u308c\u3066\u304a\u308a\u3001Kotlin\/\u30de\u30eb\u30c1\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3068\u3082\u4e92\u63db\u6027\u306e\u3042\u308b\u7d71\u4e00\u3055\u308c\u305f DSL \u3092\u4f7f\u7528\u3057\u3066\u3001Kotlin\/JS \u30bf\u30fc\u30b2\u30c3\u30c8\u3092\u69cb\u6210\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><a href=\"https:\/\/blog.jetbrains.com\/ja\/2020\/04\/23\/2998\/#kotlin-js\">Kotlin 1.3.70<\/a> \u3088\u308a\u3001<code>browserProductionRun<\/code> \u3068 <code>browserProductionWebpack<\/code> \u30bf\u30b9\u30af\u3092\u4f7f\u7528\u3059\u308b\u969b\u306b\u81ea\u52d5\u7684\u306b\u30c7\u30c3\u30c9\u30b3\u30fc\u30c9\u524a\u9664\uff08DCE\uff09\u304c\u9069\u7528\u3055\u308c\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u6a5f\u80fd\u306e\u5b9f\u884c\u306b\u3088\u308a\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u306b\u6700\u9069\u306a\u30d0\u30f3\u30c9\u30eb\u304c\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002 \uff08\u30c7\u30c3\u30c9\u30b3\u30fc\u30c9\u524a\u9664\u306f\u73fe\u5728\u3001Node.js \u307e\u305f\u306f\u30c6\u30b9\u30c8\u3067\u306f\u306a\u304f\u3001\u672c\u756a\u51fa\u529b\u306e\u30d6\u30e9\u30a6\u30b6\u3092\u30bf\u30fc\u30b2\u30c3\u30c8\u3059\u308b\u969b\u306b\u306e\u307f\u5229\u7528\u3067\u304d\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002 \u305f\u3060\u3057\u3001\u307b\u304b\u306b\u89e3\u6c7a\u3092\u5e0c\u671b\u3059\u308b\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u304c\u3042\u308b\u5834\u5408\u306f\u3001\u304a\u6c17\u8efd\u306b <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/KT-35641#focus=streamItem-27-3882977.0-0\" target=\"_blank\" rel=\"noopener\">JetBrains \u306b\u3054\u9023\u7d61\u304f\u3060\u3055\u3044<\/a>\u3002\uff09<\/p>\n<h3>\u4f5c\u696d\u306e\u52b9\u7387\u6027\u306b\u95a2\u3059\u308b\u305d\u306e\u4ed6\u306e\u6539\u5584\u3068\u6ce8\u76ee\u3059\u3079\u304d\u4fee\u6b63\u70b9<\/h3>\n<ul>\n<li><code>@JsExport<\/code> \u6ce8\u91c8\u306e\u7981\u6b62\u3055\u308c\u305f\u4f7f\u7528\u65b9\u6cd5\u306b\u5bfe\u3057\u3001\u305d\u306e\u3088\u3046\u306a\u554f\u984c\u3092\u30cf\u30a4\u30e9\u30a4\u30c8\u3059\u308b\u305f\u3081\u306b\u30b3\u30f3\u30d1\u30a4\u30e9\u30a8\u30e9\u30fc\u3092\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002<\/li>\n<li>IR \u30b3\u30f3\u30d1\u30a4\u30e9\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u306b\u3001<code>klib<\/code> \u306e\u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30bf\u30eb\u30b3\u30f3\u30d1\u30a4\u30eb\u3092\u542b\u3081\u308b\u65b0\u3057\u3044\u6226\u7565\u3092\u6709\u52b9\u5316\u3057\u307e\u3057\u305f\u3002\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u9593\u3092\u6539\u5584\u3059\u308b\u305f\u3081\u306b\u8b1b\u3058\u3066\u3044\u308b\u591a\u304f\u306e\u30b9\u30c6\u30c3\u30d7\u306e 1 \u3064\u3067\u3059\u3002<\/li>\n<li>webpack \u958b\u767a\u30b5\u30fc\u30d0\u30fc\u306e\u69cb\u6210\u304c\u8abf\u6574\u3055\u308c\u3001\u30db\u30c3\u30c8\u30ea\u30ed\u30fc\u30c9\u6a5f\u80fd\u3092\u4f7f\u7528\u3059\u308b\u969b\u306e <code>ENOENT: no such file or directory<\/code> \u3068\u3044\u3063\u305f\u30a8\u30e9\u30fc\u3092\u56de\u907f\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/li>\n<\/ul>\n<h2>Kotlin \u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea API \u306e\u9032\u5316<\/h2>\n<p>Kotlin 1.4 \u306f\u3001Kotlin \u306e\u9032\u5316\u306e\u89b3\u70b9\u304b\u3089\u306f<a href=\"https:\/\/kotlinlang.org\/docs\/reference\/evolution\/kotlin-evolution.html#feature-releases-and-incremental-releases\" target=\"_blank\" rel=\"noopener\">\u6a5f\u80fd\u30ea\u30ea\u30fc\u30b9<\/a>\u3068\u3057\u3066\u6349\u3048\u3089\u308c\u3066\u304a\u308a\u3001\u4ee5\u524d\u306e\u30d6\u30ed\u30b0\u8a18\u4e8b\u3067\u3059\u3067\u306b\u7d39\u4ecb\u3057\u305f\u591a\u6570\u306e\u65b0\u6a5f\u80fd\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002 \u3057\u304b\u3057\u3001\u6a5f\u80fd\u30ea\u30ea\u30fc\u30b9\u306b\u306f\u3001\u65e2\u5b58\u306e API \u306b\u5927\u3005\u7684\u306a\u5909\u66f4\u304c\u542b\u307e\u308c\u308b\u3068\u3044\u3046\u91cd\u8981\u306a\u5074\u9762\u3082\u3042\u308a\u307e\u3059\u3002 1.4 \u30ea\u30ea\u30fc\u30b9\u306b\u5c0e\u5165\u4e88\u5b9a\u306e\u5909\u66f4\u306b\u3064\u3044\u3066\u3001\u4ee5\u4e0b\u306b\u7c21\u5358\u306b\u307e\u3068\u3081\u3066\u3044\u307e\u3059\u3002<\/p>\n<h3>experimental API \u306e stable \u5316<\/h3>\n<p>Kotlin \u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u6c42\u3081\u3089\u308c\u3066\u3044\u308b\u65b0\u3057\u3044\u7279\u5fb4\u3092\u3067\u304d\u308b\u3060\u3051\u65e9\u304f\u7d39\u4ecb\u3059\u308b\u305f\u3081\u306b\u3001 <em>experimental<\/em> \u306a\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u63d0\u4f9b\u3057\u3066\u3044\u307e\u3059\u3002 \u3053\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306f\u3001API \u3078\u306e\u4f5c\u696d\u306f\u9032\u884c\u4e2d\u306e\u72b6\u614b\u306b\u3042\u308a\u3001\u4e92\u63db\u6027\u3092\u8003\u616e\u3055\u308c\u308b\u3053\u3068\u306a\u304f\u5c06\u6765\u7684\u306b\u5909\u66f4\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002 experimental \u306a API \u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u3001\u30b3\u30f3\u30d1\u30a4\u30e9\u304b\u3089\u305d\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306b\u95a2\u3059\u308b\u8b66\u544a\u304c\u767a\u305b\u3089\u308c\u3001<a href=\"https:\/\/kotlinlang.org\/docs\/reference\/opt-in-requirements.html\" target=\"_blank\" rel=\"noopener\">\u30aa\u30d7\u30c8\u30a4\u30f3\u304c\u8981\u6c42\u3055\u308c\u307e\u3059<\/a>\uff08<code>@OptIn<\/code> \u6ce8\u91c8\uff09\u3002<\/p>\n<p>\u6a5f\u80fd\u30ea\u30ea\u30fc\u30b9\u3067\u306f\u3001experimental API \u304c stable \u306a\u6a5f\u80fd\u306b\u6607\u683c\u3055\u308c\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002 \u3053\u306e\u6642\u70b9\u3067\u3001\u305d\u306e\u5f62\u614b\u3068\u632f\u308b\u821e\u3044\u304c\u7a81\u5982\u5909\u66f4\u3055\u308c\u308b\u3053\u3068\u304c\u306a\u3044\u3053\u3068\u304c\u4fdd\u8a3c\u3055\u308c\u307e\u3059\uff08\u5909\u66f4\u306f\u3001\u9069\u5207\u306a\u4f7f\u7528\u5ec3\u6b62\u30b5\u30a4\u30af\u30eb\u3067\u306e\u307f\u53ef\u80fd\u3067\u3059\uff09\u3002 API \u304c\u6b63\u5f0f\u306b stable \u5316\u3055\u308c\u308b\u3068\u3001\u8b66\u544a\u3084\u30aa\u30d7\u30c8\u30a4\u30f3\u3092\u5fc5\u8981\u3068\u3059\u308b\u3053\u3068\u306a\u304f API \u3092\u5b89\u5168\u306b\u5229\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>1.4 \u3067\u306f\u3001Kotlin \u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u591a\u6570\u306e experimental \u95a2\u6570\u304c stable \u5316\u3055\u308c\u307e\u3059\u3002 \u4ee5\u4e0b\u306f\u305d\u306e\u4e00\u90e8\u3092\u793a\u3059\u3082\u306e\u3067\u3001\u5c0e\u5165\u3055\u308c\u305f\u30d0\u30fc\u30b8\u30e7\u30f3\u3068\u3068\u3082\u306b\u8a18\u8f09\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2019\/06\/kotlin-1-3-40-released\/\">1.3.40: <code>CharArray<\/code>\/<code>ByteArray<\/code> \u3068 <code>String<\/code><\/a> \u9593\u306e\u5909\u63db\u95a2\u6570:\n<ul>\n<li><code>ByteArray.decodeToString<\/code>\u3068 <code>String.encodeToByteArray<\/code>\n<ul>\n<li><code>CharArray.concatToString<\/code> \u3068 <code>String.toCharArray<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2019\/08\/kotlin-1-3-50-released\/\">1.3.50: \u30d3\u30c3\u30c8\u64cd\u4f5c<\/a> <code>countOneBits()<\/code>\u3001<code>countLeadingZeroBits()<\/code>\u3001<code>countTrailingZeroBits()<\/code>\u3001<code>takeHighestOneBit()<\/code>\u3001<code>takeLowestOneBit()<\/code><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2020\/03\/kotlin-1-3-70-released\/\">1.3.70: \u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u64cd\u4f5c<\/a> <code>randomOrNull()<\/code> \/ <code>reduceOrNull()<\/code> \/ <code>scan()<\/code>\u3001<code>MutableList<\/code> \u306e <code>remove*()<\/code> \u95a2\u6570\u3001<code>ArrayDeque<\/code> \u30af\u30e9\u30b9<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/2020\/05\/1-4-m2-standard-library\/\">1.4-M2: \u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u64cd\u4f5c<\/a> <code>onEachIndexed()<\/code> \u3068 <code>reduceIndexedOrNull()<\/code>\u3001<code>runningFold()<\/code> \u3068 <code>runningReduce()<\/code><\/li>\n<\/ul>\n<p>1.4 \u3067\u306f\u305d\u306e\u4ed6\u306e API \u95a2\u6570\u3068\u30af\u30e9\u30b9\u3082 stable \u5316\u3055\u308c\u307e\u3059\u3002 \u3053\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\uff081.4.0-RC\uff09\u3088\u308a\u3001\u305d\u308c\u3089\u3092\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u4f7f\u7528\u3059\u308b\u969b\u306b\u3001<code>@OptIn<\/code> \u6ce8\u91c8\u3092\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<h3>\u4f7f\u7528\u5ec3\u6b62\uff08Deprication\uff09\u30b5\u30a4\u30af\u30eb<\/h3>\n<p>\u6a5f\u80fd\u30ea\u30ea\u30fc\u30b9\u3067\u306f\u3001\u65e2\u5b58\u306e\u4f7f\u7528\u5ec3\u6b62\u30b5\u30a4\u30af\u30eb\u3082\u6b21\u306e\u6bb5\u968e\u3078\u3068\u79fb\u884c\u3055\u308c\u307e\u3059\u3002 \u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30bf\u30eb\u30ea\u30ea\u30fc\u30b9\u3067\u306f\u3001<code>WARNING<\/code>\uff08\u8b66\u544a\uff09\u30ec\u30d9\u30eb\u3067\u65b0\u3057\u3044\u4f7f\u7528\u5ec3\u6b62\u30b5\u30a4\u30af\u30eb\u304c\u958b\u59cb\u3055\u308c\u308b\u3060\u3051\u3067\u3059\u304c\u3001\u6a5f\u80fd\u30ea\u30ea\u30fc\u30b9\u3067\u306f\u3001\u305d\u308c\u3089\u304c <code>ERROR<\/code>\uff08\u30a8\u30e9\u30fc\uff09\u30ec\u30d9\u30eb\u3078\u3068\u4f7f\u7528\u898f\u5236\u304c\u5f37\u5316\u3055\u308c\u307e\u3059\u3002 \u3053\u308c\u306b\u3088\u308a\u3001\u3059\u3067\u306b <code>ERROR<\/code> \u30ec\u30d9\u30eb\u306b\u3042\u308b API \u8981\u7d20\u306f\u3001\u30b3\u30fc\u30c9\u3067\u65b0\u305f\u306b\u4f7f\u7528\u3067\u304d\u306a\u3044\u3088\u3046\u306b\u975e\u8868\u793a\u3068\u306a\u308a\u3001\u30b3\u30f3\u30d1\u30a4\u30eb\u6e08\u307f\u306e\u30b3\u30fc\u30c9\u3067\u306e\u4e92\u63db\u6027\u3092\u7dad\u6301\u3059\u308b\u305f\u3081\u3060\u3051\u306b\u30d0\u30a4\u30ca\u30ea\u30fc\u306e\u5f62\u614b\u3067\u6b8b\u3055\u308c\u308b\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002 \u3068\u3082\u306b\u3001\u3053\u3046\u3044\u3063\u305f\u30b9\u30c6\u30c3\u30d7\u306b\u3088\u3063\u3066\u4f7f\u7528\u5ec3\u6b62 API \u8981\u7d20\u306e\u524a\u9664\u304c\u6bb5\u968e\u7684\u306b\u884c\u308f\u308c\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u4f7f\u7528\u5ec3\u6b62\u30ec\u30d9\u30eb\u304c <code>WARNING<\/code> \u3068\u306a\u3063\u3066\u3044\u308b API \u8981\u7d20\u304c\u30b3\u30fc\u30c9\u306b\u4f7f\u7528\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u306f\u3001\u30b3\u30f3\u30d1\u30a4\u30e9\u306b\u3088\u3063\u3066\u305d\u306e\u4f7f\u7528\u72b6\u6cc1\u304c\u8b66\u544a\u3055\u308c\u307e\u3059\u3002 Kotlin 1.4.0-RC \u306b\u66f4\u65b0\u3059\u308b\u3068\u3001\u3053\u308c\u3089\u306e\u8b66\u544a\u306e\u4e00\u90e8\u306f\u30a8\u30e9\u30fc\u306b\u5909\u308f\u308a\u307e\u3059\u3002 IDE \u306e\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u5229\u7528\u3057\u3066\u3001\u30a8\u30e9\u30fc\u3068\u3055\u308c\u308b\u4f7f\u7528\u7b87\u6240\u3092\u4ee3\u66ff\u3068\u3057\u3066\u6307\u5b9a\u3055\u308c\u308b\u65b9\u6cd5\u306b\u6b63\u3057\u304f\u5909\u66f4\u3057\u3001\u30b3\u30fc\u30c9\u3092\u5fc5\u305a\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u76f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>Kotlin \u6a19\u6e96\u30e9\u30a4\u30d6\u30e9\u30ea API \u3078\u306e\u91cd\u5927\u306a\u5909\u66f4\u306b\u95a2\u3059\u308b\u8a73\u3057\u3044\u60c5\u5831\u306b\u3064\u3044\u3066\u306f\u3001\u300c<a href=\"https:\/\/kotlinlang.org\/docs\/reference\/compatibility-guide-14.html\" target=\"_blank\" rel=\"noopener\">Kotlin 1.4 \u306e\u4e92\u63db\u6027\u30ac\u30a4\u30c9<\/a>\u300d\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h2>\u30b9\u30af\u30ea\u30d7\u30c8\u4f5c\u6210<\/h2>\n<p>\u524d\u306e\u30d6\u30ed\u30b0\u6295\u7a3f\u3067\u306f\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3092\u7701\u7565\u3057\u307e\u3057\u305f\u304c\u30011.4 \u3067\u306e Kotliln \u30b9\u30af\u30ea\u30d7\u30c8\u306e\u5b89\u5b9a\u5316\u3001\u9ad8\u901f\u5316\u3001\u4f7f\u3044\u3084\u3059\u3055\u3078\u306e\u6539\u5584\u3092\u3084\u3081\u305f\u308f\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 RC \u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u306f\u3001\u591a\u6570\u306e\u4fee\u6b63\u3068\u6a5f\u80fd\u5f37\u5316\u3068\u3068\u3082\u306b\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u6539\u5584\u3092\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<h3>\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306e\u540d\u524d\u5909\u66f4<\/h3>\n<p>\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u540d\u306e\u6df7\u4e71\u3092\u907f\u3051\u308b\u305f\u3081\u306b\u3001<code>kotlin-scripting-jsr223-embeddable<\/code> \u3068 <code>kotlin-scripting-jvm-host-embeddable<\/code> \u3092 <code>kotlin-scripting-jsr223<\/code> \u3068 <code>kotlin-scripting-jvm-host<\/code> \u306b\u5909\u66f4\u3057\u307e\u3057\u305f\uff08<code>-embeddable<\/code> \u3092\u53d6\u308a\u9664\u304d\u307e\u3057\u305f\uff09\u3002 \u3053\u308c\u3089\u306e\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306f <code>kotlin-compiler-embeddable<\/code> \u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306b\u4f9d\u5b58\u3057\u3066\u304a\u308a\u3001\u4f7f\u7528\u4e0a\u306e\u7af6\u5408\u3092\u907f\u3051\u308b\u305f\u3081\u306b\u30d0\u30f3\u30c9\u30eb\u5316\u3055\u308c\u305f\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30b7\u30a7\u30fc\u30c7\u30a3\u30f3\u30b0\u3057\u307e\u3059\u3002 \u3053\u306e\u540d\u524d\u5909\u66f4\u306b\u4f34\u3044\u3001 <code>kotlin-compiler-embeddable<\/code>\uff08\u4e00\u822c\u7684\u306b\u3088\u308a\u5b89\u5168\uff09\u306e\u4f7f\u7528\u3092\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306e\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u3068\u306a\u308b\u3088\u3046\u306b\u3057\u3066\u3044\u307e\u3059\u3002 \u3082\u3057\u4f55\u3089\u304b\u306e\u7406\u7531\u3067\u3001\u30b7\u30a7\u30fc\u30c7\u30a3\u30f3\u30b0\u3055\u308c\u306a\u3044 <code>kotlin-compiler<\/code> \u306b\u4f9d\u5b58\u3059\u308b\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f\u3001<code>kotlin-scripting-jsr223-unshaded<\/code> \u3068\u3044\u3046\u3088\u3046\u306b\u3001<code>-unshaded<\/code> \u30b5\u30d5\u30a3\u30c3\u30af\u30b9\u3092\u4f7f\u3063\u305f\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002 \u3053\u306e\u540d\u524d\u5909\u66f4\u306e\u52b9\u679c\u306f\u3001\u76f4\u63a5\u4f7f\u7528\u3055\u308c\u308b\u30b9\u30af\u30ea\u30d7\u30c6\u30a3\u30f3\u30b0\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306b\u306e\u307f\u5f71\u97ff\u3057\u307e\u3059\u3002\u307b\u304b\u306e\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306e\u540d\u524d\u306b\u5909\u66f4\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<h2>\u4f7f\u7528\u5ec3\u6b62\u3068\u306a\u3063\u305f CLion IDE \u30d7\u30e9\u30b0\u30a4\u30f3<\/h2>\n<p>CLion IDE \u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u4f7f\u7528\u5ec3\u6b62\u30b5\u30a4\u30af\u30eb\u3092\u958b\u59cb\u3057\u307e\u3057\u305f\u3002 \u3082\u3068\u3082\u3068\u3001Kotlin\/Native \u5b9f\u884c\u53ef\u80fd\u30d5\u30a1\u30a4\u30eb\u306e\u30c7\u30d0\u30c3\u30b0\u306b\u4f7f\u7528\u3059\u308b\u3053\u3068\u3092\u76ee\u7684\u3068\u3057\u3066\u3044\u305f\u3082\u306e\u3067\u3059\u304c\u3001 \u3053\u306e\u6a5f\u80fd\u306f\u73fe\u5728 IntelliJ IDEA Ultimate \u3067\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u3002 \u305d\u306e\u305f\u3081\u30011.4 \u30ea\u30ea\u30fc\u30b9\u304b\u3089\u306f CLion IDE \u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u516c\u958b\u3092\u505c\u6b62\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002 \u3053\u306e\u4f7f\u7528\u5ec3\u6b62\u306b\u3088\u3063\u3066\u306a\u3093\u3089\u304b\u306e\u554f\u984c\u304c\u751f\u3058\u308b\u5834\u5408\u306f\u3001JetBrains \u306b\u3054\u9023\u7d61\u304f\u3060\u3055\u3044\u3002 \u554f\u984c\u3092\u89e3\u6c7a\u3067\u304d\u308b\u3088\u3046\u306b\u3001\u52aa\u3081\u3055\u305b\u3066\u3044\u305f\u3060\u304d\u307e\u3059\u3002<\/p>\n<h2>\u4e92\u63db\u6027<\/h2>\n<p>\u3059\u3079\u3066\u306e\u30e1\u30b8\u30e3\u30fc\u30ea\u30ea\u30fc\u30b9\u3068\u540c\u69d8\u306b\u3001Kotlin 1.4 \u3092\u4ee5\u3066\u3001\u4ee5\u524d\u306b\u767a\u8868\u3057\u305f\u5909\u66f4\u306e\u4f7f\u7528\u5ec3\u6b62\u30b5\u30a4\u30af\u30eb\u304c\u4e00\u90e8\u7d42\u4e86\u3092\u8fce\u3048\u307e\u3059\u3002 \u3059\u3079\u3066\u306e\u30b1\u30fc\u30b9\u306f\u8a00\u8a9e\u59d4\u54e1\u4f1a\u306b\u3088\u308b\u5341\u5206\u306a\u691c\u8a0e\u306e\u5f8c\u3001\u300c<a href=\"https:\/\/kotlinlang.org\/docs\/reference\/compatibility-guide-14.html\" target=\"_blank\" rel=\"noopener\">Kotlin 1.4 \u306e\u4e92\u63db\u6027\u30ac\u30a4\u30c9<\/a>\u300d\u306b\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u3002 \u307e\u305f\u3001<a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT?q=Tag:%20language-committee-approved%20Target%20versions:%201.4-RC,%201.4-M3,%201.4-M2,%201.4-M1,%201.4.0\" target=\"_blank\" rel=\"noopener\">YouTrack<\/a> \u3067\u3082\u5909\u66f4\u5185\u5bb9\u3092\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<h3>\u30ea\u30ea\u30fc\u30b9\u5019\u88dc\u30ce\u30fc\u30c8<\/h3>\n<blockquote>\n<p>Kotlin 1.4 \u306e\u6700\u7d42\u30ea\u30ea\u30fc\u30b9\u5019\u88dc\u306b\u3088\u3046\u3084\u304f\u305f\u3069\u308a\u7740\u304d\u307e\u3057\u305f\u3002\u3053\u3053\u304b\u3089\u306f\u3001\u7686\u3055\u3093\u304c\u30b3\u30f3\u30d1\u30a4\u30eb\u3068\u516c\u958b\u3092\u884c\u3046\u756a\u3067\u3059\uff01 \u524d\u56de\u306e\u30de\u30a4\u30eb\u30b9\u30c8\u30fc\u30f3\u30ea\u30ea\u30fc\u30b9\u3068\u306f\u7570\u306a\u308a\u3001Kotlin 1.4.0-RC \u3067\u4f5c\u6210\u3055\u308c\u305f\u30d0\u30a4\u30ca\u30ea\u30fc\u306f\u3001Kotlin 1.4.0 \u3068\u306e\u4e92\u63db\u6027\u304c\u4fdd\u8a3c\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<\/blockquote>\n<h2>\u65b0\u6a5f\u80fd\u3092\u8a66\u3059\u306b\u306f<\/h2>\n<p><a name=\"how-to-try\"><\/a><\/p>\n<p>\u3044\u3064\u3082\u306e\u3088\u3046\u306b\u3001<a href=\"http:\/\/play.kotl.in\/\" target=\"_blank\" rel=\"noopener\">play.kotl.in<\/a>\u3067<strong>Kotlin\u3092\u30aa\u30f3\u30e9\u30a4\u30f3\u3067\u8a66\u3059<\/strong>\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>IntelliJ IDEA \u3068 Android Studio \u5185\u3067\u3001Kotlin \u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30d0\u30fc\u30b8\u30e7\u30f31.4.0-RC \u306b\u66f4\u65b0\u3067\u304d\u307e\u3059\u3002 <a href=\"https:\/\/kotlinlang.org\/eap\/install-eap-plugin.html\" target=\"_blank\" rel=\"noopener\">\u305d\u306e\u65b9\u6cd5\u306b\u3064\u3044\u3066\u306f\u3053\u3061\u3089\u3092\u53c2\u7167<\/a>\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u30d7\u30ec\u30ea\u30ea\u30fc\u30b9\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u524d\u306b\u4f5c\u6210\u3055\u308c\u305f\u65e2\u5b58\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u3001Gradle\u307e\u305f\u306fMaven\u3067<a href=\"https:\/\/kotlinlang.org\/eap\/configure-build-for-eap.html\" target=\"_blank\" rel=\"noopener\">\u30d7\u30ec\u30d3\u30e5\u30fc\u30d0\u30fc\u30b8\u30e7\u30f3\u7528\u306b\u30d3\u30eb\u30c9\u3092\u69cb\u6210<\/a>\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002  \u4ee5\u524d\u306e\u30d7\u30ec\u30d3\u30e5\u30fc\u30d0\u30fc\u30b8\u30e7\u30f3\u3068\u306f\u7570\u306a\u308a\u3001Kotlin 1.4.0-RC \u306f Maven Central \u304b\u3089\u3082\u76f4\u63a5\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u3002 \u3064\u307e\u308a\u3001\u30d3\u30eb\u30c9\u30d5\u30a1\u30a4\u30eb\u306b\u624b\u52d5\u3067 <code>kotlin-eap<\/code> \u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u8ffd\u52a0\u3059\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30b3\u30f3\u30d1\u30a4\u30e9\u306f\u3001<a href=\"https:\/\/github.com\/JetBrains\/kotlin\/releases\/tag\/v1.4.0-rc\" target=\"_blank\" rel=\"noopener\">GitHub \u30ea\u30ea\u30fc\u30b9\u30da\u30fc\u30b8<\/a>\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u3053\u306e\u30ea\u30ea\u30fc\u30b9\u3068\u3068\u3082\u306b\u3001\u4ee5\u4e0b\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u516c\u958b\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/Kotlin\/kotlinx.atomicfu\" target=\"_blank\" rel=\"noopener\">kotlinx.atomicfu<\/a> \u30d0\u30fc\u30b8\u30e7\u30f3: <a href=\"https:\/\/bintray.com\/kotlin\/kotlinx\/kotlinx.atomicfu\/0.14.3-1.4.0-rchttp:\/\/\" title=\"0.14.3-1.4.0-rc\" target=\"_blank\" rel=\"noopener\">0.14.3-1.4.0-rc<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Kotlin\/kotlinx.coroutines\" target=\"_blank\" rel=\"noopener\">kotlinx.coroutines<\/a> \u30d0\u30fc\u30b8\u30e7\u30f3: <a href=\"https:\/\/bintray.com\/kotlin\/kotlinx\/kotlinx.coroutines\/1.3.8-1.4.0-rc\" title=\"1.3.8-1.4.0-rc\" target=\"_blank\" rel=\"noopener\">1.3.8-1.4.0-rc<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Kotlin\/kotlinx.serialization\" target=\"_blank\" rel=\"noopener\">kotlinx.serialization<\/a> \u30d0\u30fc\u30b8\u30e7\u30f3: <a href=\"https:\/\/bintray.com\/kotlin\/kotlinx\/kotlinx.serialization.runtime\/1.0-M1-1.4.0-rc\" title=\"1.0-M1-1.4.0-rc\" target=\"_blank\" rel=\"noopener\">1.0-M1-1.4.0-rc<\/a><\/li>\n<li><a href=\"https:\/\/ktor.io\/\" target=\"_blank\" rel=\"noopener\">ktor<\/a> \u30d0\u30fc\u30b8\u30e7\u30f3: <a href=\"https:\/\/bintray.com\/kotlin\/ktor\/ktor\/1.3.2-1.4.0-rc\" title=\"1.3.2-1.4.0-rc\" target=\"_blank\" rel=\"noopener\">1.3.2-1.4.0-rc<\/a><\/li>\n<\/ul>\n<p>\u30ea\u30ea\u30fc\u30b9\u306e\u8a73\u7d30\u3068\u4e92\u63db\u6027\u306e\u3042\u308b\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u4e00\u89a7\u306f\u3001<a href=\"https:\/\/kotlinlang.org\/eap\/#build-details\" target=\"_blank\" rel=\"noopener\">\u3053\u3053<\/a>\u304b\u3089\u5165\u624b\u3067\u304d\u307e\u3059\u3002<\/p>\n<h2>\u3054\u610f\u898b\u3092\u304a\u5bc4\u305b\u304f\u3060\u3055\u3044<\/h2>\n<p><a name=\"share-your-feedback\"><\/a><br \/>\n\u30d0\u30b0\u3092\u898b\u3064\u3051\u305f\u5834\u5408\u306f\u3001\u305c\u3072<a href=\"https:\/\/youtrack.jetbrains.com\/issues\/KT\" target=\"_blank\" rel=\"noopener\">\u8ab2\u984c\u30c8\u30e9\u30c3\u30ab\u30fc<\/a>\u306b\u3054\u5831\u544a\u304f\u3060\u3055\u3044\u3002 \u3059\u3079\u3066\u306e\u91cd\u8981\u306a\u8ab2\u984c\u306b\u3064\u3044\u3066\u306f\u3001\u6b21\u306e Kotlin \u30ea\u30ea\u30fc\u30b9\u307e\u3067\u8ab2\u984c\u89e3\u6c7a\u3092\u5ef6\u671f\u3059\u308b\u3053\u3068\u306a\u304f\u3001\u6700\u7d42\u30ea\u30ea\u30fc\u30b9\u524d\u306b\u4fee\u6b63\u3057\u305f\u3044\u3068\u601d\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u307e\u305f\u3001\u305c\u3072 <a href=\"https:\/\/app.slack.com\/client\/T09229ZC6\/C0KLZSCHF\" target=\"_blank\" rel=\"noopener\">Kotlin Slack<\/a> \u306e <a href=\"https:\/\/app.slack.com\/client\/T09229ZC6\/C0KLZSCHF\" target=\"_blank\" rel=\"noopener\">#eap \u30c1\u30e3\u30f3\u30cd\u30eb<\/a>\u306b\u3054\u53c2\u52a0\u304f\u3060\u3055\u3044\uff08\u62db\u5f85\u72b6\u306f<a href=\"http:\/\/slack.kotlinlang.org\/\" target=\"_blank\" rel=\"noopener\">\u3053\u3061\u3089<\/a>\u304b\u3089\u5165\u624b\u3067\u304d\u307e\u3059\uff09\u3002 \u3053\u306e\u30c1\u30e3\u30f3\u30cd\u30eb\u3067\u306f\u3001\u8cea\u554f\u3084\u30c7\u30a3\u30b9\u30ab\u30c3\u30b7\u30e7\u30f3\u3078\u306e\u53c2\u52a0\u3092\u884c\u3044\u3001\u65b0\u3057\u3044\u30d7\u30ec\u30d3\u30e5\u30fc\u30d3\u30eb\u30c9\u306b\u95a2\u3059\u308b\u901a\u77e5\u3092\u53d7\u4fe1\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>Kotlin\u3092\u4f7f\u3063\u3066\u307f\u3088\u3046!<\/p>\n<h2>\u3054\u5354\u529b\u3044\u305f\u3060\u3044\u305f\u5916\u90e8\u8ca2\u732e\u8005<\/h2>\n<p><a name=\"external-contributions\"><\/a><br \/>\n\u3053\u306e\u30ea\u30ea\u30fc\u30b9\u306b\u542b\u3081\u3089\u308c\u305f Pull \u30ea\u30af\u30a8\u30b9\u30c8\u306f\u3001\u6b21\u306e\u5916\u90e8\u8ca2\u732e\u8005\u304b\u3089\u3044\u305f\u3060\u304d\u307e\u3057\u305f\u3002\u3054\u5354\u529b\u3044\u305f\u3060\u304d\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f\u3002<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/t-kameyama\" target=\"_blank\" rel=\"noopener\">Toshiaki Kameyama<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/sfs\" target=\"_blank\" rel=\"noopener\">Steven Sch\u00e4fer<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/jsjeon\" target=\"_blank\" rel=\"noopener\">Jinseong Jeon<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/pyos\" target=\"_blank\" rel=\"noopener\">pyos<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/punzki\" target=\"_blank\" rel=\"noopener\">Mark Punzalan<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/rapturemain\" target=\"_blank\" rel=\"noopener\">rapturemain<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/tihonovcore\" target=\"_blank\" rel=\"noopener\">Vitaly<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/madsager\" target=\"_blank\" rel=\"noopener\">Mads Ager<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/subroh0508\" target=\"_blank\" rel=\"noopener\">Subroh Nishikori<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/juan-chen\" target=\"_blank\" rel=\"noopener\">Juan Chen<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/gcx11\" target=\"_blank\" rel=\"noopener\">gcx11<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/rbares\" target=\"_blank\" rel=\"noopener\">rbares<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/tunedal\" target=\"_blank\" rel=\"noopener\">Henrik Tunedal<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/efemoney\" target=\"_blank\" rel=\"noopener\">Efeturi Money<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Monchi\" target=\"_blank\" rel=\"noopener\">Yuku Kotani<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/11879032+Dmitry-Borodin\" target=\"_blank\" rel=\"noopener\">Dmitry Borodin<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/McCreeMainer\" target=\"_blank\" rel=\"noopener\">Mikhail Likholetov<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/mikesamuel\" target=\"_blank\" rel=\"noopener\">Mike Samuel<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/gharrma\" target=\"_blank\" rel=\"noopener\">Matthew Gharrity<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/jimgoog\" target=\"_blank\" rel=\"noopener\">Jim Sproch<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/rsauciuc\" target=\"_blank\" rel=\"noopener\">Raluca Sauciuc<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/mpetrov\" target=\"_blank\" rel=\"noopener\">Martin Petrov<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/segunfamisa\" target=\"_blank\" rel=\"noopener\">Segun Famisa<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/kozaxinan\" target=\"_blank\" rel=\"noopener\">Sinan Kozak<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/kandersen\" target=\"_blank\" rel=\"noopener\">Kristoffer Andersen<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/anstkras\" target=\"_blank\" rel=\"noopener\">Anastasiya Krasnoryadtseva<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/vadimsemenov\" target=\"_blank\" rel=\"noopener\">Vadim Semenov<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/kevinmost\" target=\"_blank\" rel=\"noopener\">Kevin Most<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/valery1707\" target=\"_blank\" rel=\"noopener\">Valeriy Vyrva<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/turansky\" target=\"_blank\" rel=\"noopener\">Victor Turansky<\/a><\/li>\n<\/ul>\n","protected":false},"author":811,"featured_media":55596,"comment_status":"open","ping_status":"closed","template":"","categories":[826,909,907],"tags":[],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/kotlin\/64075"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/kotlin"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/types\/kotlin"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/users\/811"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/comments?post=64075"}],"version-history":[{"count":1,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/kotlin\/64075\/revisions"}],"predecessor-version":[{"id":64076,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/kotlin\/64075\/revisions\/64076"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/media\/55596"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/media?parent=64075"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/categories?post=64075"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/tags?post=64075"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/cross-post-tag?post=64075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}