{"id":1846,"date":"2023-09-22T12:37:27","date_gmt":"2023-09-22T03:37:27","guid":{"rendered":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/?p=1846"},"modified":"2023-09-22T20:38:23","modified_gmt":"2023-09-22T11:38:23","slug":"dart-3-%eb%a6%b4%eb%a6%ac%ec%a6%88","status":"publish","type":"post","link":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2023\/09\/22\/dart-3-%eb%a6%b4%eb%a6%ac%ec%a6%88\/","title":{"rendered":"Dart 3 \ub9b4\ub9ac\uc988"},"content":{"rendered":"\n<p>2023\ub144 5\uc6d4 10\uc77c Google I\/O \ud589\uc0ac\uc5d0\uc11c Dart 3\uac00 \uacf5\uc2dd \ub9b4\ub9ac\uc988 \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574\uc11c \ub2e4\uc74c\uc758 \uc138\uac00\uc9c0 \uc0ac\ud56d\uc774 \ubc1c\ud45c\ub418\uc5c8\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=yRlwOdCK7Ho&amp;t=419s\">(\uacf5\uc2dd\uc601\uc0c1: What&#8217;s new in Dart and Flutter [\ubc14\ub85c\uac00\uae30])<\/a><\/p>\n\n\n\n<h5>(1) 100% sound null safety<\/h5>\n\n\n\n<h5>(2) New language features (<a href=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2023\/09\/22\/dart-programmer-51\/\">records<\/a>, patterns, and class modifiers)<\/h5>\n\n\n\n<h5>(3) Future Roadmap<\/h5>\n\n\n\n<p>\uccab\uc9f8\ub85c Dart \uc5b8\uc5b4\ub85c \uac1c\ubc1c\ud55c \ud504\ub85c\uadf8\ub7a8\uc758 \uc548\uc815\uc131\uc744 \ud5a5\uc0c1 \uc2dc\ud0a4\uae30 \uc704\ud55c \uae34 \uc5ec\uc815\uc744 \ub9c8\uce58\uace0, \ubaa8\ub4e0 \ucf54\ub4dc\ub4e4\uc774 Null-Safety\ub97c \uc9c0\uc6d0\ud558\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ub458\uc9f8\ub85c \ubb38\ubc95\uc801\uc73c\ub85c \ud5a5\uc0c1\ub41c \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\ub294 \ud070 \ubcc0\ud654\ub97c \ud3ec\ud568\ud558\uc600\uc2b5\ub2c8\ub2e4. \uac01\uac01\uc758 \ub0b4\uc6a9\ubcc4\ub85c \uae00\uc744 \uc791\uc131\ud558\uc600\uc73c\ub2c8, \uc544\ub798\uc758 \ub9c1\ud06c\uc5d0\uc11c \ud655\uc778\ud558\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n\n\n\n<ul><li><a href=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2023\/09\/22\/dart-programmer-51\/\">Records<\/a><\/li><li><a href=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2023\/09\/22\/patters-dart3-0\/\">Patterns<\/a><\/li><li><a href=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2023\/09\/22\/class-modifiers-dart3-0\/\">Class Modifiers<\/a><\/li><\/ul>\n\n\n\n<p>\uc14b\uc9f8\ub85c Dart \uc5b8\uc5b4\uc758 \ubc1c\uc804 \ubc29\ud5a5\uc5d0 \ub300\ud55c \ubc1c\ud45c\uac00 \uc788\uc5c8\uc2b5\ub2c8\ub2e4. \uc8fc\uc694 \ub0b4\uc6a9\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ul><li><a href=\"https:\/\/github.com\/dart-lang\/language\/issues\/2727\">Inline Classes<\/a><\/li><li><a href=\"https:\/\/github.com\/dart-lang\/language\/blob\/main\/working\/macros\/feature-specification.md\">Meta-programming (Macros)<\/a><\/li><li>Native Interop<\/li><li>Compilation to <a href=\"https:\/\/webassembly.org\/\">WeAssembly (WASM)<\/a><\/li><\/ul>\n\n\n\n<p>\uc774\uc911 Native interop\uc740 \uc544\uc8fc \uc5c6\ub358 \ub0b4\uc6a9\uc740 \uc544\ub2d9\ub2c8\ub2e4. \uc774\ubbf8 C\uc5b8\uc5b4\ub85c \ucef4\ud30c\uc77c \ub41c \ucf54\ub4dc\ub97c Dart \uc5b8\uc5b4\uc640 \uc5f0\uacb0\ud574\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 dart:ffi \uae30\ub2a5\uc774 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ubc88 \ubc1c\ud45c\uc5d0\uc11c\ub294 \uc774\ub97c Java, Kotlin, Objective C, Swift\ub85c \ud655\ub300\ud574\uc11c, Android, iOS, macOS\uc758 native \ucf54\ub4dc\uc640 \uc5f0\uacb0\ud558\ub294 \uac83\uc744 \ubaa9\ud45c\ub85c \ud55c\ub2e4\uace0 \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p><a href=\"https:\/\/io.google\/2023\/program\/2f02692d-9a41-49c0-8786-1a22b7155628\/intl\/ko\/\">Android\uc640 Dart\uc640\uc758 \uc0c1\ud638\uc6b4\uc6a9\uc131\uc5d0 \ub300\ud574\uc11c\ub294 \uc601\uc0c1\uc744 \ud1b5\ud574\uc11c \ucd94\uac00\uc801\uc778 \uc124\uba85\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4 (\uc601\uc0c1 \ubc14\ub85c \uac00\uae30).<\/a><\/p>\n\n\n\n<p>WASM\uc744 \uac04\ub2e8\ud558\uac8c \uc124\uba85\ud558\uba74 &#8220;C++\uacfc \uac19\uc740 high-level \uc5b8\uc5b4\ub85c \ub9cc\ub4e0 \ud504\ub85c\uadf8\ub7a8\uc744, binary-level\uc5d0\uc11c, \uc6f9 \ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c \ubc14\ub85c \uc2e4\ud589&#8221;\ud558\ub294 \uae30\uc220 \uc785\ub2c8\ub2e4. Binary-level\uc774\ub77c\ub294 \uac83\uc740 complie\/link\ub97c \ud1b5\ud574\uc11c \ub9cc\ub4e4\uc5b4\uc9c4 \uc2e4\ud589 \ud654\uc77c\uc744 \uc218\ud589\ud55c\ub2e4\ub294 \uc758\ubbf8 \uc785\ub2c8\ub2e4. \ub300\uc911\uc801\uc73c\ub85c \uc54c\ub824\uc9c0\uc9c0 \uc54a\uc558\uc9c0\ub9cc, Adobe\uc758 \uc6f9 \uae30\ubc18 \uad6c\ub3c5\ud615 \ub514\uc790\uc778 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc11c\ube44\uc2a4 \ub4f1\uc5d0\uc11c \uc0ac\uc6a9\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c Container \ub300\uccb4 \uae30\uc220\ub85c, (Docker \ub4f1\uc744 \ub300\uc2e0\ud558\uc5ec) Kubernetes\uc5d0 \uc5f0\uacb0\ud558\ub294 \ubc29\uc548\ub4e4\ub3c4 \uac1c\ubc1c\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ud2b9\ud788 Flutter \uac1c\ubc1c\ud300\uc774 SKIA \uadf8\ub798\ud53d \ub80c\ub354\ub9c1 \uae30\uc220\uc744 \uc6f9 \ube0c\ub77c\uc6b0\uc800 \uc0c1\uc5d0\uc11c \uad6c\ud604\ud560\ub54c\ub3c4 \uc0ac\uc6a9\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc774\ubc88 \ubc1c\ud45c\uc5d0\uc11c\ub294 Dart \uc5b8\uc5b4\ub85c \uac1c\ubc1c\ud55c \ud504\ub85c\uadf8\ub7a8\uc774 WASM\uc744 \ud1b5\ud574\uc11c \ub3d9\uc791\ud558\ub3c4\ub85d \ud558\uaca0\ub2e4\ub294 \uac83\uc785\ub2c8\ub2e4. \uc774\ub294 \uc2e4\ud589 \uc2dc\uac04, \uc131\ub2a5 \ub4f1\uc758 \ud5a5\uc0c1 \ubc0f \uc11c\ubc84 \ubd84\uc57c\uc5d0\uc11c Dart \uae30\ubc18 \ud504\ub85c\uadf8\ub7a8\uc744 Kubernetes \ub4f1\uacfc \uc5f0\uacc4\ud558\ub294 \uac83\uc774 \ub9e4\uc6b0 \uc26c\uc6cc\uc9c4\ub2e4\ub294 \uac83\ub3c4 \uc758\ubbf8\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc9c0\uc18d\uc801\uc778 \uad00\uc2ec\uc744 \uac00\uc9c8\ub9cc\ud55c \ud070 \ubc1c\ud45c\ub85c \ubcf4\uc785\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\ud604\uc9c0 \uc2dc\uc810\uc5d0\uc11c\ub3c4 Dart\/Flutter\ub85c \uac1c\ubc1c\ud55c \ud504\ub85c\uadf8\ub7a8\uc744 WASM\uc5d0\uc11c \uc2e4\ud589\ud558\ub294 \uac83\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ul><li><a href=\"https:\/\/docs.flutter.dev\/platform-integration\/web\/wasm\">Support for WebAssembly (Wasm)<\/a><\/li><\/ul>\n\n\n\n<p>\ud2b9\ubcc4\ud788 WASM\uc5d0 \ub300\ud55c \uc0ac\ud56d\uc740 \ubcc4\ub3c4\uc758 \uae00\uc744 \ud1b5\ud574\uc11c \uc804\ubb38\uc801\uc73c\ub85c \uc124\uba85\ud560 \uae30\ud68c\uac00 \uc788\uc744 \uac83\uc73c\ub85c \uc608\uc0c1\ud799\ub2c8\ub2e4.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>[\ucd9c\ucc98] <a href=\"https:\/\/medium.com\/dartlang\/announcing-dart-3-53f065a10635\" title=\"\">Announcing Dart 3<\/a><\/p>\n\n\n\n<p>[\ucc38\uc870] <a href=\"https:\/\/github.com\/dart-lang\/sdk\/blob\/master\/CHANGELOG.md#300---2023-05-10\">Dart SDK Change Log (@Dart3.0)<\/a><\/p>\n\n\n\n<p>[\ucc38\uc870] <a style=\"font-size: revert;\" href=\"https:\/\/docs.flutter.dev\/platform-integration\/web\/wasm\">Support for WebAssembly (Wasm)<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>2023\ub144 5\uc6d4 10\uc77c Google I\/O \ud589\uc0ac\uc5d0\uc11c Dart 3\uac00 \uacf5\uc2dd \ub9b4\ub9ac\uc988 \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574\uc11c \ub2e4\uc74c\uc758 \uc138\uac00\uc9c0 \uc0ac\ud56d\uc774 \ubc1c\ud45c\ub418\uc5c8\uc2b5\ub2c8\ub2e4. (\uacf5\uc2dd\uc601\uc0c1: What&#8217;s new in Dart and Flutter [\ubc14\ub85c\uac00\uae30]) (1) 100% sound null safety &#8230;<\/p>\n","protected":false},"author":1,"featured_media":1748,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[3],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/1846"}],"collection":[{"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/comments?post=1846"}],"version-history":[{"count":4,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/1846\/revisions"}],"predecessor-version":[{"id":1879,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/1846\/revisions\/1879"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/media\/1748"}],"wp:attachment":[{"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/media?parent=1846"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/categories?post=1846"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/tags?post=1846"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}