{"id":1916,"date":"2024-04-07T09:39:22","date_gmt":"2024-04-07T00:39:22","guid":{"rendered":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/?p=1916"},"modified":"2024-04-07T10:29:32","modified_gmt":"2024-04-07T01:29:32","slug":"wasm-is-coming-migrate-to-packageweb-dart-3-4","status":"publish","type":"post","link":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2024\/04\/07\/wasm-is-coming-migrate-to-packageweb-dart-3-4\/","title":{"rendered":"WASM is coming &#8230; migrate to package:web (#Dart.3.4)"},"content":{"rendered":"\n<p>\uc774 \uae00\uc744 \uc791\uc131\ud558\ub294 \uc2dc\uc810(2024\ub144 4\uc6d4 7\uc77c)\uc5d0\uc11c, Dart(Flutter)\uc758 WASM(WebAssembly) \uc9c0\uc6d0\uc740 beta \uc0c1\ud0dc\uc785\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc870\ub9cc\uac04 Dart 3.4\uc5d0\uc11c dart2wasm cli \ud3ec\ud568\uc774 \uc54c\ub824\uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uc5d0 \ub530\ub77c 2024\ub144 3\uc6d4 13\uc77c \uc5c5\ub370\uc774\ud2b8\ub41c Flutter \uacf5\uc2dd \uc0ac\uc774\ud2b8\uc758 WASM \uc124\uba85\uc5d0\uc11c\ub3c4, \uc774\ub97c \uc704\ud55c \uc900\ube44 \uc791\uc5c5\uc774 \uac8c\uc2dc\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. WASM \uc790\uccb4\uac00 \uc544\uc9c1 \uc2e0\uae30\uc220\uc774\uc5ec\uc11c, \ub2f9\ubd84\uac04\uc740 \ub9e4\uc6b0 \uc81c\ud55c\uc801\uc778 \uac1c\ubc1c\ub9cc \uac00\ub2a5\ud558\uaca0\uc9c0\ub9cc, \uacf5\uc2dd \ubc84\uc804\uc5d0 \ub2f4\uae38 \uc608\uc815\uc774\ub2c8, \uc758\ubbf8\ub294 \ud06c\ub2e4\uace0 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>Dart(Flutter)\ub85c WASM\uc744 \uacbd\ud5d8\ud558\uae30 \uc704\ud574\uc11c, \uae30\uc874\uc758 dart:html \ub300\uc2e0 package:web\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \ub300\ub300\uc801\uc73c\ub85c \uac15\uc870\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc544\ub798\ub294 \uacf5\uc2dd \uc0ac\uc774\ud2b8\uc758 \uc6d0\ubb38\uc744 \uadf8\ub300\ub85c \uac00\uc838\uc628 \ubc84\uc804\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p><strong>&#8220;If you maintain a public Flutter package that uses dart:html or any of the other Dart SDK web libraries, you should migrate to package:web as soon as possible. package:web is replacing dart:html and other web libraries as Dart&#8217;s web interop solution long-term. Read the package:web vs dart:html section for more information.&#8221;<\/strong><\/p>\n\n\n\n<p>dart:html \ub300\uc2e0 package:Web\uc744 \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uc774\uc720\uc5d0 \ub300\ud574\uc11c\ub294 3\uac00\uc9c0\ub85c \uc124\uba85\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uccab\uc9f8\ub85c, WASM \ud638\ud658\uc131 \uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>WASM \uacfc\uc758 \ud638\ud658\uc131\uc744 \uc704\ud574\uc11c\ub294 dart:js_interop\uc640 dart:js_interop_unsafe\ub97c \uc0ac\uc6a9\ud558\ub294 \ud328\ud0a4\uc9c0\ub97c \uc0ac\uc6a9\ud574\uc57c \ud55c\ub2e4\uace0 \ud569\ub2c8\ub2e4. package:web\uc740 dart:js_interop\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubb38\uc81c\uac00 \uc5c6\ub2e4\uace0 \ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c 3.4 \uacf5\uc2dd \ubc84\uc804\uc5d0 \ud0d1\uc7ac\ub420 dart2wasm\uc5d0\uc11c \uc9c0\uc6d0\uc774 \ub429\ub2c8\ub2e4. \uadf8\ub7ec\ub098, dart:html\uacfc dart:svg\ub294 WASM\uc5d0\uc11c \uc9c0\uc6d0\ub418\uc9c0 \uc54a\ub294\ub2e4\uace0 \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ub458\uc9f8\ub85c, Web IDL \uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>WebIDL \uc740 \uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ud504\ub85c\uadf8\ub798\ubc0d \uc778\ud130\ud398\uc774\uc2a4(API)\ub97c \uad6c\uc131\ud558\ub294 \ub370\uc774\ud130 \ud0c0\uc785, \uc778\ud130\ud398\uc774\uc2a4, \uba54\uc11c\ub4dc, \uc18d\uc131 \ubc0f \uae30\ud0c0 \uad6c\uc131 \uc694\uc18c\ub97c \uc124\uba85\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\ub294 \uc778\ud130\ud398\uc774\uc2a4 \uc124\uba85 \uc5b8\uc5b4\uc785\ub2c8\ub2e4. \ud2b9\uc815 \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4\uc640\ub294 \ub3c5\ub9bd\uc801\uc778 \ub2e4\uc18c \uc591\uc2dd\uc774 \uc788\ub294 \uad6c\ubb38\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uadf8\ub798\uc11c \uac01 API\ub97c \uad6c\ucd95\ud558\ub294 \ub370 \uc0ac\uc6a9\ub418\ub294 \uae30\ubcf8 \ucf54\ub4dc\ub294 \uac00\uc7a5 \uc801\ud569\ud55c \uc5b8\uc5b4\ub85c \uc791\uc131\ub420 \uc218 \uc788\uc73c\uba70 \ub3d9\uc2dc\uc5d0 API \uad6c\uc131\uc694\uc18c\ub97c JavaScript\uc5d0 \ud638\ud658\uc774 \ub418\ub294 \uad6c\uc131\uc5d0 \ub9e4\ud551\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\uc774\uc5d0 \ub9de\ucdb0\uc11c package:web\uc740 Web IDL\uc744 \uc0ac\uc6a9\ud558\uc5ec interop members\uc640 interop types\ub97c \uc815\uc758\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \ucd5c\uadfc\uc758 Web \uae30\uc220\uc744 \uc218\uc6a9\ud558\ub294 \ubcf4\ub2e4 \uc9c4\ubcf4\ub41c \ud328\ud0a4\uc9c0\ub85c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc14b\uc9f8\ub85c, \ubc84\uc804 \uad00\ub9ac\uc758 \uc6a9\uc774\uc131\uc774\ub77c\uace0 \ud569\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\uae30\uc874\uc5d0 dart:html\uc744 \uc0ac\uc6a9\ud55c \ucf54\ub4dc\ub294 \uc77c\ub2e8 dart:html\uc744 import\ud55c \uad6c\ubb38\uc744 \uc0ad\uc81c\ud558\uace0, package:web\uc744 import\ud558\ub294 \uac83\uc73c\ub85c migration\uc744 \uc2dc\uc791\ud558\ub77c\uace0 \ud569\ub2c8\ub2e4. \uc774\ud6c4 case-by-case\ub85c \ubc1c\uc0dd \uac00\ub2a5\ud55c \uc0ac\ud56d\uc740 \ud648\ud398\uc774\uc9c0(\ucd9c\ucc98#)\uc5d0 \uac8c\uc2dc\ub418\uc5b4 \uc788\uc73c\ub2c8 \ucc38\uc870\ud558\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n\n\n\n<p>[\ucd9c\ucc98#] <a href=\"https:\/\/dart.dev\/interop\/js-interop\/package-web\" title=\"\">Migrate to package:web<\/a><\/p>\n\n\n\n<p>[\ucd9c\ucc98] <a href=\"https:\/\/docs.flutter.dev\/platform-integration\/web\/wasm\" title=\"\">Support for WebAssembly (Wasm)<\/a><\/p>\n\n\n\n<p>[\ucd9c\ucc98] <a href=\"https:\/\/developer.mozilla.org\/ko\/docs\/Glossary\/WebIDL\" title=\"\">WebIDL (mdn web docs)<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc774 \uae00\uc744 \uc791\uc131\ud558\ub294 \uc2dc\uc810(2024\ub144 4\uc6d4 7\uc77c)\uc5d0\uc11c, Dart(Flutter)\uc758 WASM(WebAssembly) \uc9c0\uc6d0\uc740 beta \uc0c1\ud0dc\uc785\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc870\ub9cc\uac04 Dart 3.4\uc5d0\uc11c dart2wasm cli \ud3ec\ud568\uc774 \uc54c\ub824\uc9c0\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uc5d0 \ub530\ub77c 2024\ub144 3\uc6d4 13\uc77c \uc5c5\ub370\uc774\ud2b8\ub41c Flutter \uacf5\uc2dd \uc0ac\uc774\ud2b8\uc758 WASM &#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\/1916"}],"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=1916"}],"version-history":[{"count":1,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/1916\/revisions"}],"predecessor-version":[{"id":1917,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/1916\/revisions\/1917"}],"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=1916"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/categories?post=1916"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/tags?post=1916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}