{"id":1180,"date":"2020-10-14T09:00:00","date_gmt":"2020-10-14T00:00:00","guid":{"rendered":"http:\/\/mobilelab.khu.ac.kr\/?p=1180"},"modified":"2020-10-14T14:22:13","modified_gmt":"2020-10-14T05:22:13","slug":"dart-programmer-47","status":"publish","type":"post","link":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/2020\/10\/14\/dart-programmer-47\/","title":{"rendered":"Dart Programmer \ub418\uae30 [47]"},"content":{"rendered":"\n<h4>&lt; Wrap-up &gt;<\/h4>\n\n\n\n<p>Dart \uc5b8\uc5b4\uc5d0 \ub300\ud55c \uae00\uc744 \uc791\uc131\ud558\uae30 \uc2dc\uc791\ud55c \ud6c4, \ubc8c\uc368 47\ubc88\uc9f8 \uae00 \uc785\ub2c8\ub2e4. \ucc98\uc74c \uc0dd\uac01\ud588\ub358 \uc544\uc820\ub2e4\ub4e4\uc744 \ubaa8\ub450 \ucc44\uc6b0\uace0 \ub9c8\uc9c0\ub9c9\uc73c\ub85c Wrap-up\uc744 \ud558\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub9c8\uc9c0\ub9c9 \uae00\uc740 \uc54c\uc544\ub450\uba74 \uc88b\uc740 \uc0ac\ud56d\uacfc \uc774\ud6c4 \uad00\uc2ec\uc774 \uc788\uc73c\uba74 \uc870\uae08 \ub354 \uc790\uc138\ud558\uac8c \uacf5\ubd80\ud558\uae30\ub97c \uad8c\uc7a5\ud558\ub294 \ub0b4\uc6a9\uc744 \uc18c\uac1c\ud558\uace0\uc790 \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h4>Official &amp; 3rd Tools<\/h4>\n\n\n\n<p>\uac1c\ubc1c \ub3c4\uad6c\ub294 \uc0dd\uc0b0\uc131\uc744 \uad82\uc740 \uc77c\ub4e4\uc744 \uc790\ub3d9\ud654\ud558\uac70\ub098 \ubc1c\uc0dd\ud560 \uc624\ub958\ub97c \uc0ac\uc804\uc5d0 \uc54c\ub824\uc918\uc11c \ud53c\ud560 \uc218 \uc788\ub294 \ub4f1 \uc0dd\uc0b0\uc131\uc744 \ud5a5\uc0c1\ud558\uace0 \uc2e0\ub8b0\uc131\uc744 \uc99d\uac00\uc2dc\ud0a4\ub294 \ubd80\ubd84\uc5d0\uc11c \ub9e4\uc6b0 \uc911\uc694\ud569\ub2c8\ub2e4. \uc6b0\ub9ac\ub294 Visual Code\ub97c \ub300\ud45c\uc801\uc778 Editor\ub85c \uc0ac\uc6a9\ud558\uc600\uace0, \uadf8\uc678 \ud544\uc218\uc801\uc73c\ub85c \uc0ac\uc6a9\ud574\uc57c\ud560 \ub9cc\ud55c \ub3c4\uad6c\ub4e4\uc744 \ud544\uc694\ud560 \ub54c\ub9c8\ub2e4 \uc18c\uac1c\ud558\uace0 \uc0ac\uc6a9\ud558\uc600\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc Tutorial \uc778 \uc785\uc7a5\uc5d0\uc11c \ub514\ubc84\uadf8\uc640 \uc790\ub3d9\ud654 \ubd80\ubd84\uc5d0 \ub300\ud574\uc11c\ub294 \ub2e4\ub8e8\uc9c0 \ubabb\ud55c \uac83\uc774 \uc0ac\uc2e4 \uc785\ub2c8\ub2e4. \uadf8\ub9ac\uace0 \uc624\ud508\uc18c\uc2a4 \ub3c4\uad6c\ub97c \uad8c\ud558\uace0\ub098, \uc0c1\uc6a9 \uc18c\ud504\ud2b8\uc6e8\uc5b4\uc758 \uacbd\uc6b0\ub294 \uc18c\uac1c\ub97c \ud558\uc9c0 \uc54a\uc740 \ubd80\ubd84\ub3c4 \uc0ac\uc2e4 \uc785\ub2c8\ub2e4. \uc5ec\uae30\uc11c\ub294 Dart\uc640 Flutter\uc758 \ub514\ubc84\uadf8\uc5d0 \ub3c4\uc6c0\uc774 \ub420 \ub9cc\ud55c \ub3c4\uad6c\ub4e4, \uadf8\ub9ac\uace0 \uc0c1\uc6a9 \uc774\uc9c0\ub9cc \ud559\uad50\uc5d0 \uc18c\uc18d\ud558\uac70\ub098 \ud559\uc0dd\uc774\uba74 \ubb34\ub8cc\ub85c \uacbd\ud5d8\ud560 \uc218 \uc788\ub294 \ub3c4\uad6c\ub4e4\uc744 \uc911\uc2ec\uc73c\ub85c \uc18c\uac1c\ub97c \ud558\ub824\ud569\ub2c8\ub2e4. \uae30\ud68c\uac00 \ub41c\ub2e4\uba74 \uaf2d \ud55c\ubc88 \uc988\uc74c\uc744 \uacbd\ud5d8\ud558\uae30\ub97c \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n\n\n\n<p><strong>\uccab\ubc88\uc9f8 \ub3c4\uad6c\ub294 Chrome DevTools \uc785\ub2c8\ub2e4.<\/strong> \uc774 \ub3c4\uad6c\ub294 Dart \uc804\uc6a9 \ub3c4\uad6c\ub294 \uc544\ub2d9\ub2c8\ub2e4. Google Chrome \ube0c\ub77c\uc6b0\uc800\uc5d0 \ub0b4\uc7a5\ub418\uc5b4 \uc788\ub294 Web \uc800\uc791 \ubc0f \ub514\ubc84\uae45 \ub3c4\uad6c \uc785\ub2c8\ub2e4. Chrome \ube0c\ub77c\uc6b0\uc800\uc5d0 \ub0b4\uc7a5\ub418\uc5b4 \uc788\uae30\uc5d0, \ubcc4\ub3c4\uc758 \ud504\ub85c\uadf8\ub7a8\uc774\ub098 Plugin\uc744 \uc124\uce58\ud560 \ud544\uc694\uac00 \uc5c6\uace0, HTML\/CSS\/JavaScript\uc5d0 \ub300\ud55c \ub514\ubc84\uadf8\uc640 \uc131\ub2a5 \uce21\uc815\uc744 \ud558\ub294 \ubd80\ubd84\uc5d0\uc11c \ub9ce\uc774 \uc0ac\uc6a9\ub429\ub2c8\ub2e4. (\ucc38\uc870: <a href=\"https:\/\/developers.google.com\/web\/tools\/chrome-devtools\">https:\/\/developers.google.com\/web\/tools\/chrome-devtools<\/a>) <\/p>\n\n\n\n<p>\uae30\uae30\ubaa8\ub4dc\ub97c \ud1b5\ud574\uc11c \ub2e4\uc591\ud55c \ud615\ud0dc\uc758 \uae30\uae30\ub4e4\uc5d0\uc11c \uc5b4\ub5bb\uac8c \ucee8\ud150\uce20\uac00 \ubcf4\uc5ec\uc9c0\ub294\uc9c0 \ud655\uc778 \uac00\ub2a5\ud569\ub2c8\ub2e4. Element \ud328\ub110\uc5d0\uc11c\ub294 DOM\/CSS\ub97c \uc790\uc720\ub86d\uac8c \uc870\uc791\ud558\uace0 \uc0ac\uc774\ud2b8\uc758 \ub808\uc774\uc544\uc6c3\/\ub514\uc790\uc778\uc744 \uc2e4\ud5d8\ud558\ub294 \uac83\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. Console \ud328\ub110\uc744 \ud1b5\ud574\uc11c\ub294 JavaScript\uc758 \uc218\ud589 \ub3d9\uc791 \ub0b4\uc6a9\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Source \ud328\ub110\uc5d0\uc11c\ub294 JavaScript\uc758 \ube0c\ub808\uc774\ud06c \ud3ec\uc778\ud2b8 \uc124\uc815 \ub4f1\uc758 \uc791\uc5c5\uc744 \ud1b5\ud574\uc11c, \uc6d0\ud558\ub294 \uc9c0\uc810\uc5d0\uc11c\uc758 \uc218\ud589 \ub0b4\uc6a9\uc744 \ud655\uc778\ud558\ub294 \ub4f1\uc758 \uc791\uc5c5\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. Network \ud328\ub110\uc5d0\uc11c\ub294 \uc811\uc18d\ud558\ub294 \ud1b5\uc2e0 \ub0b4\uc6a9\uc5d0 \ub300\ud55c \ud655\uc778\uacfc \ud398\uc774\uc9c0\ub0b4 \uc694\uc18c\ub4e4\uc758 \ub85c\ub529 \uc131\ub2a5 \ub4f1\uc744 \uce21\uc815\ud558\ub294 \uac83\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. Performance \ud328\ub110\uc740 \uc0ac\uc774\ud2b8\uc758 \ub77c\uc774\ud504\uc0ac\uc774\ud074 \ub3d9\uc548 \ubc1c\uc0dd\ud55c \ub2e4\uc591\ud55c \uc774\ubca4\ud2b8\ub97c \uae30\ub85d\ud558\uace0 \ud0d0\uc0c9\ud558\uc5ec \ud398\uc774\uc9c0\uc758 \ub7f0\ud0c0\uc784 \uc131\ub2a5\uc744 \ud5a5\uc0c1\ud569\ub2c8\ub2e4. Memory \ud328\ub110\uc5d0\uc11c\ub294 \uba54\ubaa8\ub9ac \uc0ac\uc6a9 \ud589\ud0dc\ub97c \ud655\uc778\ud558\uace0 \ub204\uc218\ub97c \ud655\uc778 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 JavaScript\uc758 CPU \ud504\ub85c\ud30c\uc77c\ub9c1\ub3c4 \uac00\ub2a5\ud569\ub2c8\ub2e4. Application \ud328\ub110\uc740 IndexedDB\uc640 \uc6f9 SQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, \ub85c\uceec \ubc0f \uc138\uc158 \uc2a4\ud1a0\ub9ac\uc9c0, \ucfe0\ud0a4, \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158 \uce90\uc2dc, \uc774\ubbf8\uc9c0, \ud3f0\ud2b8, \uc2a4\ud0c0\uc77c\uc2dc\ud2b8\ub97c \ud3ec\ud568\ud55c \ub85c\ub529\ub41c \ubaa8\ub4e0 \ub9ac\uc18c\uc2a4\ub97c \uac80\uc0ac\ud569\ub2c8\ub2e4. \ub9c8\uc9c0\ub9c9\uc73c\ub85c Security \ud328\ub110\uc5d0\uc11c\ub294 \uc778\uc99d\uc11c \ubb38\uc81c \ubc0f mixed content \ub4f1\uc758 \ubcf4\uc548 \uc774\uc288\ub97c \ub514\ubc84\uae45 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p><strong>\ub450\ubc88\uc9f8 \ub3c4\uad6c\ub294 Dart SDK \uc548\uc5d0 \ud3ec\ud568\ub41c \ub3c4\uad6c\ub4e4 \uc785\ub2c8\ub2e4. <\/strong>\uc774\uc804\uc758 \uae00\uc5d0\uc11c \ub4f1\uc7a5\ud588\ub358 dart, dart2js, dart2native, dartdevc, pub \uc678\uc5d0\ub3c4 \ub514\ubc84\uadf8\uc640 \uc131\ub2a5\uac1c\uc120\uc744 \uc704\ud55c \ub3c4\uad6c\ub4e4\uc774 \uc81c\uacf5\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4 (\ucc38\uc870: <a href=\"https:\/\/dart.dev\/tools\/sdk\">https:\/\/dart.dev\/tools\/sdk<\/a>). dartaotruntime\uc740 AOT-compile\ub41c \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uc2e4\ud589\ud558\uae30 \uc704\ud55c \uba85\ub839\uc785\ub2c8\ub2e4. dartanalyzer\ub294 \uc815\uc801 \ubd84\uc11d\uc744 \uc2e4\ud589\ud569\ub2c8\ub2e4. dartdoc\uc740 API \ubb38\uc11c\ud654\ub97c \uc790\ub3d9\uc73c\ub85c \uc218\ud589 \ud558\ub294 \ub3c4\uad6c \uc785\ub2c8\ub2e4. dartfmt\ub294 Dart \uc5b8\uc5b4\ub85c \ub9cc\ub4e0 \ucf54\ub4dc\uc758 \ud615\ud0dc\ub97c \uc790\ub3d9\uc73c\ub85c \uc870\uc815\ud574 \uc90d\ub2c8\ub2e4. <\/p>\n\n\n\n<p><strong>\uc138\ubc88\uc9f8 \ub3c4\uad6c\ub294 \ud604\uc7ac \ud504\ub9ac\ubdf0 \uc0c1\ud0dc\uc778, DevTools \uc785\ub2c8\ub2e4. <\/strong>\uc774\ub294 Dart \uc5b8\uc5b4 \ubc0f Flutter\ub85c \ub9cc\ub4e0 \ud504\ub85c\uadf8\ub7a8\uc758 \uc131\ub2a5\uacfc \ub514\ubc84\uadf8\ub97c \uc704\ud55c \ub3c4\uad6c\ub4e4\uc758 \uc9d1\ud569 \uc785\ub2c8\ub2e4. Android Studio, IntelliJ, Visual Code, CLI \ud504\ub85c\uadf8\ub7a8\uc5d0 \uc124\uce58 \uac00\ub2a5 \ud569\ub2c8\ub2e4. \uc81c\uacf5\ud558\ub294 \uae30\ub2a5\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4 (\ucc38\uc870: <a href=\"https:\/\/flutter.dev\/docs\/development\/tools\/devtools\/overview\">https:\/\/flutter.dev\/docs\/development\/tools\/devtools\/overview<\/a> ). <\/p>\n\n\n\n<ul><li>Inspect the UI layout and state of a Flutter app.<\/li><li>Diagnose UI jank performance issues in a Flutter app.<\/li><li>Source-level debugging of a Flutter or Dart command-line app.<\/li><li>Debug memory issues in a Flutter or Dart command-line app.<\/li><li>View general log and diagnostics information about a running Flutter or Dart command-line app.<\/li><\/ul>\n\n\n\n<p><strong>\ub124\ubc88\uc9f8 \ub3c4\uad6c\ub294 \uc0c1\uc6a9 \uc18c\ud504\ud2b8\uc6e8\uc5b4\uc778 JetBrains\uc758 \uc81c\ud488\uc785\ub2c8\ub2e4. <\/strong>Dart \uc5b8\uc5b4\uc758 Plugin\uc744 \uc9c0\uc6d0\ud558\ub294 IntelliJ \ubc0f Web \uae30\ub2a5\uc2dc \ud568\uaed8 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 WebStrom \ub4f1 \uc720\uc6a9\ud55c \ub3c4\uad6c\ub4e4\uc774 \ub9ce\uc774 \uc81c\uacf5\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc0c1\uc6a9 \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uad73\uc774 \uc124\uba85\ud558\ub294 \uc774\uc720\ub294 \ud559\uc0dd \ubc0f \uad50\uc0ac\uc778 \uacbd\uc6b0 \ubb34\ub8cc\ub85c \uc0ac\uc6a9 \uac00\ub2a5\ud558\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4. \ud639\uc740 \uc624\ud508\uc18c\uc2a4 \ud504\ub85c\uc81d\ud2b8, \uc2e0\uc0dd \uae30\uc5c5, \uad50\uc2e4\/\uac15\uc758 \uc9c0\uc6d0 \ub4f1\uc5d0\ub3c4 \ubb34\ub8cc \uc0ac\uc6a9\uc774 \uac00\ub2a5\ud558\ub2c8 \uc870\uac74\uc774 \ub418\ub294 \ub3c5\uc790\uc758 \uacbd\uc6b0\ub294 \uacbd\ud5d8\ud574 \ubcf4\uae30 \ubc14\ub78d\ub2c8\ub2e4 (\ucc38\uc870: <a href=\"https:\/\/www.jetbrains.com\/ko-kr\/store\/?fromNavMenu#discounts?billing=yearly\">https:\/\/www.jetbrains.com\/ko-kr\/store\/?fromNavMenu#discounts?billing=yearly<\/a>).<\/p>\n\n\n\n<p><strong>\ub2e4\uc12f\ubc88\uc9f8 \ub3c4\uad6c\ub294 \uc6f9 \uae30\ubc18 Dart \ubc0f Flutter \uac1c\ubc1c \ud658\uacbd \uc785\ub2c8\ub2e4. <\/strong>\ub2f9\ucd08 \uc774\ub7f0 \uc6a9\ub3c4\ub97c \uc704\ud574\uc11c\ub294 DartPad\uac00 \uc788\uc2b5\ub2c8\ub2e4 (\ucc38\uc870: <a href=\"https:\/\/dartpad.dev\/\">https:\/\/dartpad.dev\/<\/a>). DartPad\ub294 \uac04\ub2e8\ud558\uac8c Web \ube0c\ub77c\uc6b0\uc800\ub97c \ud1b5\ud574\uc11c \ud504\ub85c\uadf8\ub7a8\uc744 \ud0c0\uc774\ud551\ud558\uace0 \uc2e4\ud589\ud558\uae30 \uc704\ud55c \uc6a9\ub3c4\ub85c \ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uc5ec\uae30\uc5d0 \ucd94\uac00\ub85c \uc6f9 \uae30\ubc18 \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4 \uac1c\ubc1c, \uc628\ub77c\uc778 \uac15\uc88c \uc81c\uacf5 \ubc0f \ucf54\ub4dc \uacf5\uc720\ub97c \uc9c0\uc6d0\ud558\ub294 CodePen\uc774 \ucd5c\uadfc Flutter on CodePen\uc774\ub77c\ub294 \uc774\ub984\uc744 \ud1b5\ud574\uc11c Flutter \uae30\ubc18 \ud504\ub85c\uadf8\ub7a8\uc5d0 \ub300\ud55c \uc9c0\uc6d0\uc744 \uc2dc\uc791 \ud558\uc600\uc2b5\ub2c8\ub2e4 (\ucc38\uc870: <a href=\"https:\/\/codepen.io\/flutter\">https:\/\/codepen.io\/flutter<\/a>). Google Material Design \ub4f1 \uc0ac\uc6a9\uc790 \uc778\ud130\ud398\uc774\uc2a4\uc758 \uac1c\ubc1c\uacfc \uc2e4\ud5d8\uc774 \uac00\ub2a5\ud558\uace0, \uac01\uc885 Widget\ub3c4 \uc0ac\uc6a9\uc774 \uac00\ub2a5\ud558\ub2c8 \uac04\ud3b8\ud558\uac8c Web \uae30\ubc18 \uac1c\ubc1c\/\uc2dc\ud5d8 \ud658\uacbd\uc774 \ud544\uc694\ud55c \uacbd\uc6b0\ub294 \uc694\uae34\ud558\uac8c \uc0ac\uc6a9\ud558\uae30 \ubc14\ub78d\ub2c8\ub2e4. (\ucc38\uc870: <a href=\"https:\/\/medium.com\/flutter\/announcing-codepen-support-for-flutter-bb346406fe50\">Announcing CodePen support for Flutter<\/a>)<\/p>\n\n\n\n<h4>More about Flutter for Web<\/h4>\n\n\n\n<p>Dart\uc640 Flutter\ub97c \ud1b5\ud55c Web \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158 \uac1c\ubc1c\uc740 \uc55e\uc11c \uc5ec\ub7ec \ud68c\uc5d0 \uac78\uccd0\uc11c \ub2e4\ub8e8\uc5c8\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc Flutter\ub97c \uc0ac\uc6a9\ud558\ub294 \ubc29\ud5a5\uc73c\ub85c \uc9c4\ud589\uc744 \ud588\uae30\uc5d0, \uae30\uc874\uc5d0 HTML\/CSS\/JavaScript\uc5d0 \ub300\ud55c \uc9c0\uc2dd\uc744 \uac16\ucd94\uace0 \uc788\uac70\ub098 \ud639\uc740 \uc774\ub97c \uac1c\ubc1c\ud574 \uc628 \uac1c\ubc1c\uc790\ub77c\uba74 \uc544\uc26c\uc6c0\uc774 \uc788\uc5c8\uc744 \uac81\ub2c8\ub2e4. \uc774\ub7f0 \uc544\uc26c\uc6c0\uc744 \ub2ec\ub798\uc904 \uc124\uba85\uc774 \uacf5\uc2dd \uc0ac\uc774\ud2b8\uc758 &#8220;Flutter for web developers (\ucd9c\ucc98: <a href=\"https:\/\/flutter.dev\/docs\/get-started\/flutter-for\/web-devs\">https:\/\/flutter.dev\/docs\/get-started\/flutter-for\/web-devs<\/a>)&#8221; \uc785\ub2c8\ub2e4. \uc774 \uae00\uc5d0\ub294 \uc790\uc8fc \uc0ac\uc6a9\ub418\ub294 HTML\/CSS \uad6c\ubb38(syntax, code snippets)\uc5d0 \uc0c1\uc751\ud558\ub294 Dart\/Flutter \ucf54\ub4dc\ub97c 1:1\ub85c \ub300\uc751\ud574\uc11c \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. <\/p>\n\n\n\n<p>\uadf8\ub9ac\uace0 &#8220;Understanding constraints (\ucd9c\ucc98: <a href=\"https:\/\/flutter.dev\/docs\/development\/ui\/layout\/constraints\">https:\/\/flutter.dev\/docs\/development\/ui\/layout\/constraints<\/a>)&#8221;\ub294 Dart\/Flutter\ub97c \ud1b5\ud574\uc11c Web\uc744 \uac1c\ubc1c\ud558\ub294 \uacbd\uc6b0\uc758 \uc81c\uc57d \uc0ac\ud56d\uc774\ub098 \uc8fc\uc758\uc810\uc744 \uc124\uba85\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. HTML\/CSS\uc5d0\uc11c \ud558\uace0\uc790 \ud588\ub358 \ubd80\ubd84\uc774 Dart\/Flutter\uc5d0\uc11c \uc548\ub418\uac70\ub098 \ud558\ub294 \uc77c\uc774 \ubc1c\uc0dd\ud558\uba74 \ucc38\uc870\ud558\uc5ec \uc774\ud574\ud558\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc774\uc678\uc5d0\ub3c4 \ube14\ub85c\uadf8\ub098 \uae30\uc0ac\ub4e4\uc5d0\uc11c Dart\/Flutter\ub97c \uc0ac\uc6a9\ud558\uc5ec Web \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ub9cc\ub4dc\ub294 \uacbd\uc6b0\uc5d0 \ub300\ud55c \uc88b\uc744 \uae00\uc744 \uc81c\uacf5\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc544\ub798\ub294 \ub300\ud45c\uc801\uc778 \uae00\ub4e4\uc744 \ubaa8\uc544 \ubcf4\uc558\uc73c\ub2c8, \uad00\uc2ec\uc774 \uc788\ub294 \ub3c5\uc790\ub294 \uc77d\uc5b4 \ubcf4\uae30 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n\n\n\n<p><a href=\"https:\/\/medium.com\/flutterdevs\/developing-web-apps-using-flutter-flutter-for-web-65d0fec5f588\">&#8220;Developing Web Apps Using Flutter&#8221;<\/a><br><a href=\"https:\/\/itnext.io\/flutter-for-web-c75011a41956\">&#8220;Flutter For Web: A Complete Guide to Create &amp; Run a Web Application&#8221;<\/a><br><a href=\"https:\/\/www.didierboelens.com\/2019\/05\/flutter-for-the-web\/\">&#8220;Flutter for the Web&#8221;<\/a><br><a href=\"https:\/\/adtmag.com\/articles\/2019\/09\/10\/flutter-update.aspx\">&#8220;Flutter Boosts Web Support, Defaults to Swift, Kotlin for Native Mobile&#8221;<\/a><br><a href=\"https:\/\/www.smashingmagazine.com\/2020\/04\/responsive-web-desktop-development-flutter\/\">&#8220;Responsive Web And Desktop Development With Flutter&#8221;<\/a><\/p>\n\n\n\n<h4>Other Language Integration<\/h4>\n\n\n\n<p>Dart \uc5b8\uc5b4\ub294 \ud50c\ub7ab\ud3fc \ubcc4\ub85c \uae4a\uc774\uac00 \uc788\ub294 \ud504\ub85c\uadf8\ub798\ubc0d\uc774 \uac00\ub2a5\ud558\ub3c4\ub85d \ud558\uae30 \uc704\ud574\uc11c, Dart \uc5b8\uc5b4\uac00 \uc544\ub2cc \uc5b8\uc5b4\uc640\uc758 \uc5f0\ub3d9\uc774 \uac00\ub2a5\ud558\ub3c4\ub85d \ud569\ub2c8\ub2e4. \uc9c0\uc6d0\ud558\ub294 \uc5b8\uc5b4\ub294 C, C++, Java, Kotlin, Swift, Objective-C \uc785\ub2c8\ub2e4. C\/C++\ub294 Foreign Function Interface \ub77c\uace0 \ubd88\ub9ac\ub294 dart:ffi \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ud1b5\ud574\uc11c \uac00\ub2a5\ud569\ub2c8\ub2e4. \uc774\ub294 C\/C++\ub85c \ub9cc\ub4e4\uc5b4\uc9c4 native \ud658\uacbd\uc5d0 \ub300\ud55c \uae30\uc220\uc744 \uc5f0\uacb0\ud558\uae30 \uc704\ud55c \ubaa9\uc801\uc73c\ub85c \uc0ac\uc6a9\ud569\ub2c8\ub2e4 (\ucc38\uc870: <a href=\"https:\/\/flutter.dev\/docs\/development\/platform-integration\/c-interop\">https:\/\/flutter.dev\/docs\/development\/platform-integration\/c-interop<\/a>).<\/p>\n\n\n\n<p>iOS\uc758 native \uac1c\ubc1c\uc740 Swift\/Objective-C\ub85c \uc774\ub8e8\uc5b4 \uc9c0\uace0, Android\uc758 native \uac1c\ubc1c\uc740 Java\/Kotlin \uc785\ub2c8\ub2e4. \uc774\ub97c \uc5f0\ub3d9\ud558\uae30 \uc704\ud55c platform-specific code \uae30\ub2a5\uc740 Dart \ucc98\ub7fc \ud50c\ub7ab\ud3fc \ub3c5\ub9bd\uc801\uc778 \uc5b8\uc5b4\uc758 \ub2e8\uc810\uc744 \ubcf4\uc644\ud558\uace0\uc790 native\uc758 \uae30\ub2a5\uc744 \uc9c1\uc811 \uc5f0\uacb0\ud558\ub3c4\ub85d \uc9c0\uc6d0\ud569\ub2c8\ub2e4 (\ucc38\uc870: <a href=\"https:\/\/flutter.dev\/docs\/development\/platform-integration\/platform-channels\">https:\/\/flutter.dev\/docs\/development\/platform-integration\/platform-channels<\/a>).<\/p>\n\n\n\n<h4>Fuchsia OS Support<\/h4>\n\n\n\n<p>Fuchsia\ub294 Google\uc774 \ub9cc\ub4e4\uace0 \uc788\ub294 \uc0c8\ub85c\uc6b4 \uc6b4\uc601\uccb4\uc81c \uc785\ub2c8\ub2e4. Zircon\uc774\ub77c\ub294 microkernel\uc744 \uae30\ubc18\uc73c\ub85c \ub9cc\ub4e4\uc5b4 \uc9c0\uace0 \uc788\uc73c\uba70, \uc0ac\uc2e4 \uae30\uc220\uc744 \uacf5\uac1c\uac00 \ub418\uace0 \uc788\uc9c0\ub9cc, \uc815\ud655\ud558\uac8c \uc5b4\ub514\uc5d0 \uc0ac\uc6a9\uc9c0 \ub420\uc9c0\uc5d0 \ub300\ud55c \ubd80\ubd84\uc5d0 \ub300\ud574\uc11c\ub294 \uc815\ubcf4\uac00 \ub9ce\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. Android \uc6b4\uc601\uccb4\uc81c\uc758 \uacc4\uc2b9\uc790\ub77c\uace0\ub3c4 \ud558\uace0 \uc784\ubca0\ub514\ub4dc \uae30\uae30\ub97c \uc704\ud55c \uc6b4\uc601\uccb4\uc81c\ub77c\uace0\ub3c4 \ud558\ub294 \ub4f1 \uba85\ud655\ud558\uac8c \uc124\uba85\uc774 \ub418\uc5b4\uc788\ub294 \uc790\ub8cc\ub294 \ubbf8\ud761\ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uac00\uc6b4\ub370 \uc774 \uc0c8\ub85c\uc6b4 \uc6b4\uc601\uccb4\uc81c\ub97c \uc704\ud55c \uc5b8\uc5b4\ub85c\uc11c C\/C++\uacfc Dart\/Flutter\uac00 \uc120\ud0dd \ub418\uc5c8\uace0, Rust\/Go\/Python\uc774 \ud0c8\ub77d\ud55c \uac83\uc73c\ub85c \uc54c\ub824\uc84c\uc2b5\ub2c8\ub2e4. \uadf8\ub9ac\uace0 Fuchsia \uc0ac\uc774\ud2b8\uc5d0\ub294 \uc774\uc5d0 \ub300\ud55c \uc124\uba85\uc774 \uc788\uc2b5\ub2c8\ub2e4 (\ucd9c\ucc98: <a href=\"https:\/\/fuchsia.googlesource.com\/fuchsia\/+\/refs\/heads\/master\/docs\/project\/policy\/programming_languages.md\">https:\/\/fuchsia.googlesource.com\/fuchsia\/+\/refs\/heads\/master\/docs\/project\/policy\/programming_languages.md<\/a>). <\/p>\n\n\n\n<p>Fuchsia OS\uac00 \uc5b8\uc81c \uc81c\ub300\ub85c \ucd9c\uc2dc\ub418\uc5b4 \uc5b4\ub5a4 \ubd84\uc57c\uc5d0\uc11c \uc790\ub9ac\ub97c \uc7a1\uc744\uc9c0 \uc54c\uae30\ub294 \uc5b4\ub835\uc9c0\ub9cc, \uc0c8\ub85c\uc6b4 \uae30\uc220\uc5d0 \ub300\ud55c \ud765\ubbf8\uac00 \ub192\uace0, Dart\/Flutter\uc758 \ud55c\uacc4\uac00 \uc5b4\ub514\uae4c\uc9c0 \uc778\uc9c0 \uad81\uae08\ud55c \uacbd\uc6b0\ub294, \uc2ec\uc2ec\ud480\uc774 \uc0bc\uc544 \uacf5\ubd80\uc640 \uc2e4\ud5d8\uc744 \ud574\ubcf4\uc2dc\uae30 \uad8c\ud569\ub2c8\ub2e4 (\ucd9c\ucc98: <a href=\"https:\/\/fuchsia.dev\/fuchsia-src\/development\/languages\/dart\">https:\/\/fuchsia.dev\/fuchsia-src\/development\/languages\/dart<\/a>)<\/p>\n\n\n\n<h4>Flutter for Embedded Devices<\/h4>\n\n\n\n<p>\ub2e4\uc591\ud55c \ud50c\ub7ab\ud3fc\uc5d0 Dart\/Flutter\uac00 \ub3c4\uc785\ub418\ub294 \uac83\uc744 \ubcf4\uc558\uc2b5\ub2c8\ub2e4. \uc544\uc9c1 \uacf5\uc2dd\uc801\uc73c\ub85c \uc784\ubca0\ub514\ub4dc \uae30\uae30\ub4e4\uc5d0 \ud2b9\ud654\ub41c \uae30\uc220\uc774 \uc18c\uac1c\ub418\uace0 \uc788\uc9c0\ub294 \uc54a\uc9c0\ub9cc, Dart\/Flutter\uc758 \ub9c8\uc9c0\ub9c9 \ub3c4\uc804\uc73c\ub85c \uc608\uc0c1\ub418\ub294 \ubd80\ubd84\uc740 \uc784\ubca0\ub514\ub4dc \uae30\uae30\ub85c\uc758 \uc801\uc6a9 \uc785\ub2c8\ub2e4. \ucd5c\uadfc Raspberry Pi\uc640 \uac19\uc740 \uc18c\uaddc\ubaa8 \uc7a5\uce58\uc5d0\uc11c Flutter\ub97c \uc2e4\ud604\ud558\ub294 \ub370\ubaa8\ub4e4\uc774 \ubc1c\ud45c\ub418\ub294 \uc0ac\ub840\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \ucd94\uc774\ub85c, \uc784\ubca0\ub514\ub4dc \uae30\uae30\ub4e4\uc5d0 Dart\/Flutter\uac00 \ub3c4\uc785\ub418\ub294 \uc2dc\ub098\ub9ac\uc624\uc5d0 \ub300\ud55c \ub17c\uc758\uac00 \uc2dc\ub3c4\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ud2b9\ud788 2019\ub144 Google I\/O\uc5d0\uc11c Google Home Hub\uc640 \uac19\uc740 \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\ub294 \uc2a4\ub9c8\ud2b8 \ub514\uc2a4\ud50c\ub808\uc774 \ub4f1\uc5d0 Flutter\uac00 \ub3c4\uc785\ub41c \uac83\uc73c\ub85c \uc54c\ub824\uc9c0\uba74\uc11c, \uc774\uc5d0 \ub300\ud55c \uae30\ub300\uac00 \ub354\uc6b1 \ucee4\uc9c0\uace0 \uc788\ub294 \uc0c1\ud669 \uc785\ub2c8\ub2e4 (\ucc38\uc870: <a href=\"https:\/\/developers-kr.googleblog.com\/2019\/05\/Flutter-io19.html\">https:\/\/developers-kr.googleblog.com\/2019\/05\/Flutter-io19.html<\/a>). <\/p>\n\n\n\n<h4>\ub9c8\ubb34\ub9ac<\/h4>\n\n\n\n<p>\uc77c\uc8fc\uc77c\uc5d0 \ud558\ub098 \uc815\ub3c4\uc758 \uae00\uc744 \ud3ec\uc2a4\ud305 \ud558\ub294 \uac83\uc744 \ubaa9\uc801\uc73c\ub85c \ud558\uc600\ub294\ub370, \uadfc 1\ub144\uce58\uc758 \uae00\uc744 \ub9c8\uce58\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc9c0\uae08\uae4c\uc9c0\uc758 \uae00\uc744 \ud1b5\ud574\uc11c Dart\/Flutter\uac00 \ud560 \uc218 \uc788\ub294 \uc804\ubc29\uc704\uc801\uc778 \ubd84\uc57c\uc5d0 \ub300\ud574\uc11c \ub450\ub8e8 \uc0b4\ud3b4\ubcf4\uace0\uc790 \ud558\ub294 \ubaa9\uc801\uc740 \uc5b4\ub290 \uc815\ub3c4 \uc774\ub8ec \uac83\uc73c\ub85c \ubcf4\uc785\ub2c8\ub2e4. Dart\/Flutter\ub294 \ubaa8\ubc14\uc77c \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\uc11c \uae09\uc131\uc7a5\ud558\uace0 \uc788\uc73c\uba70, \uc774\uc5d0 \ub9de\ucd94\uc5b4 \uae30\uc220 \uac1c\ubc1c\ub3c4 \ub9e4\uc6b0 \ube60\ub978 \uc18d\ub3c4\ub85c \uc774\ub8e8\uc5b4 \uc9c0\uace0 \uc788\ub294 \uac83\uc73c\ub85c \ubcf4\uc785\ub2c8\ub2e4. \uc9c0\uae08\uae4c\uc9c0\uc758 tutorial\uc744 \ucda9\uc2e4\ud558\uac8c \uc9c4\ud589\ud574 \uc654\ub2e4\uba74, \uc774\uc81c\ub294 \uc2a4\uc2a4\ub85c \ub9d0\ub4dc\uace0\uc790 \ud558\ub294 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc815\ud558\uace0, \ud574\ub2f9 \ubd84\uc57c \uae4a\uc219\ud558\uac8c \uae30\uc220 \uac1c\ubc1c\uc744 \uc218\ud589\ud558\ub294 \ub2e8\uacc4\ub85c \ub098\uc544\uac00\ub294 \uc77c\ub9cc \ub0a8\uc558\uc2b5\ub2c8\ub2e4. \ucde8\ubbf8\ub85c \uc2dc\uc791\ud558\ub294 Dart\/Flutter\uac00 \uac1c\ubc1c\uc790\ub85c\uc11c\uc758 \ubcf8\uc778 \uc5ed\ub7c9 \uac15\ud654\uc640 \uc758\ub3c4\ud558\uc9c0 \uc54a\uc740 \uc88b\uc740 \ubbf8\ub798\ub85c \uc774\ub044\ub294 \uacc4\uae30\uac00 \ub418\uae30\ub97c \ubc14\ub78d\ub2c8\ub2e4. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-content\/uploads\/2020\/01\/b05-1.jpg\" alt=\"\" class=\"wp-image-267\" width=\"138\" height=\"49\"\/><\/figure><\/div>\n\n\n\n<p><strong>Creative Commons License (CC BY-NC-ND)<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&lt; Wrap-up &gt; Dart \uc5b8\uc5b4\uc5d0 \ub300\ud55c \uae00\uc744 \uc791\uc131\ud558\uae30 \uc2dc\uc791\ud55c \ud6c4, \ubc8c\uc368 47\ubc88\uc9f8 \uae00 \uc785\ub2c8\ub2e4. \ucc98\uc74c \uc0dd\uac01\ud588\ub358 \uc544\uc820\ub2e4\ub4e4\uc744 \ubaa8\ub450 \ucc44\uc6b0\uace0 \ub9c8\uc9c0\ub9c9\uc73c\ub85c Wrap-up\uc744 \ud558\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub9c8\uc9c0\ub9c9 \uae00\uc740 \uc54c\uc544\ub450\uba74 \uc88b\uc740 \uc0ac\ud56d\uacfc \uc774\ud6c4 \uad00\uc2ec\uc774 &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"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":[17],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/1180"}],"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=1180"}],"version-history":[{"count":6,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/1180\/revisions"}],"predecessor-version":[{"id":1298,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/posts\/1180\/revisions\/1298"}],"wp:attachment":[{"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/media?parent=1180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/categories?post=1180"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/mobilelab.khu.ac.kr\/wordpress\/wp-json\/wp\/v2\/tags?post=1180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}