{"id":290,"date":"2020-12-29T19:42:51","date_gmt":"2020-12-29T19:42:51","guid":{"rendered":"http:\/\/www.kowanas.com\/coding\/?p=290"},"modified":"2020-12-29T19:53:39","modified_gmt":"2020-12-29T19:53:39","slug":"ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/","title":{"rendered":"\ub9ac\uc5bc Flutter #7 App \ub9cc\ub4e4\uae30 \u2013 UI \uad6c\ud604\ud558\uae30 with BLOC"},"content":{"rendered":"\n<p>\uc55e\uc11c <a href=\"https:\/\/www.kowanas.com\/coding\/2020\/12\/26\/bloc-2\/\">Chatper #5 BLOC<\/a> \uadf8\ub9ac\uace0 <a href=\"https:\/\/www.kowanas.com\/coding\/2020\/12\/28\/repository\/\">Chapter #6 Data Repository<\/a>\uae4c\uc9c0 \ub9cc\ub4e0\uac83\uc744 \uae30\ubc18\uc73c\ub85c \ub4dc\ub514\uc5b4 UI  \uad6c\ud604\ud558\uae30 Chapter\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>\uc124\uba85\uacfc \ud568\uaed8 \uad6c\ud604\ud558\ub294 \ucf54\ub4dc\ub294\u00a0<a href=\"https:\/\/github.com\/Kowanas\/idea_market\">github repository<\/a>\uc5d0 \uc788\uace0 \ubcf8 \uae00\uc740\u00a0 <a href=\"https:\/\/github.com\/Kowanas\/idea_market\/commit\/5d1933f36ac596a12015a5560a3bb53d4fbbd371\">commit  5d1933f<\/a> \uae30\uc900\uc785\ub2c8\ub2e4. <\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\uc644\uc131 UI<\/h2>\n\n\n\n<p>\ub2e4\uc74c\uc740 \uc644\uc131\ud55c UI\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>+ \ubc84\ud2bc\uc744 \ub204\ub974\uba74 Idea Editor \ud654\uba74\uc73c\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4.<\/li><li><code>Title<\/code>, <code>As a<\/code>, <code>I want<\/code>, <code>So that<\/code> 4\uac00\uc9c0\ub97c \uc785\ub825\ud558\uace0 \ud654\uba74 \uc6b0\uce21 \uc0c1\ub2e8\uc5d0 Save \ubc84\ud2bc\uc744 \ub204\ub985\ub2c8\ub2e4.<\/li><li>List\uc5d0 \uc0c8\ub85c \ucd94\uac00\ud55c Idear\uac00 \ubcf4\uc785\ub2c8\ub2e4.<\/li><li>Idea Card\uc758 more \ubc84\ud2bc\uc744 \ub204\ub974\uba74 Delete popup menu\uac00 \ubcf4\uc785\ub2c8\ub2e4<\/li><li>Delete Popup\uc744 \ub204\ub974\uba74 \ud574\ub2f9 Idea\ub294 \uc0ad\uc81c\ub429\ub2c8\ub2e4.<\/li><\/ol>\n\n\n\n<div class=\"wp-block-image is-style-default\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/ezgif.com-gif-maker-2.gif\" alt=\"Flutter UI \uad6c\ud604\ud558\uae30 \uc608\uc2dc\" class=\"wp-image-302\" width=\"287\" height=\"570\"\/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Repository\uc640 BLOC \uc0dd\uc131\ud558\uae30<\/h2>\n\n\n\n<p>\uc790 Chapter #4, Chapter #5\uc5d0\uc11c \ub9cc\ub4e0 Repository\uc640 BLOC\ub97c App\uc5d0 \uc0dd\uc131\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>RepositoryProvider \uc758 create\ub85c IdeaRepository\ub97c \uc0dd\uc131\ud574\uc8fc\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\uc81c \ud558\uc704 Widget\uc740 \ubaa8\ub450 IdeaRepository\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li><li>BlocProvider\uc758 create\ub85c IdeaBloc\ub97c \uc0dd\uc131\ud574\uc8fc\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\uc81c \ud558\uc704 Widget\uc740 \ubaa8\ub450 IdeaBloc\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"604\" height=\"330\" src=\"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/image-77.png\" alt=\"\" class=\"wp-image-304\" srcset=\"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/image-77.png 604w, https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/image-77-300x164.png 300w\" sizes=\"auto, (max-width: 604px) 100vw, 604px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">BlocBuilder<\/h2>\n\n\n\n<p><a href=\"https:\/\/www.kowanas.com\/coding\/2020\/12\/12\/routes\/\">Chapter #3 Routes<\/a> \uc5d0\uc11c \uc801\uc6a9\ud558\uc9c0 \uc54a\uc558\ub5a4 BlocBuilder\ub97c \uc801\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>BlocBuilder\ub294 Bloc\uc758 state\uc5d0 \ub530\ub77c\uc11c UI\ub97c \uad6c\uc131\ud558\ub3c4\ub85d \ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc544\ub798 \ucf54\ub4dc\ub97c \ubcf4\uba74 body\uc5d0 BlocBuilder\ub97c \uc801\uc6a9\ud558\uace0 builder\uc5d0\uc11c state\uc5d0 \ub530\ub77c\uc11c Widget\uc744 return \ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">if (state is IdeaStateNotInitalized)<\/h4>\n\n\n\n<p>Circular Progress Animation\uc744 \ud654\uba74\uc758 \ud55c \uac00\uc6b4\ub370 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ud558\uc9c0\ub9cc \uc9c0\uae08 \uc571\uc5d0\uc11c\ub294 \uc6cc\ub099 \ube68\ub77c\uc11c \uc548 \ubcf4\uc785\ub2c8\ub2e4. \u314e\u314e<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">if (state is IdeaStateFetched)<\/h4>\n\n\n\n<p>Idea list\ub97c Card \ud615\uc2dd\uc73c\ub85c \ubcf4\uc5ec\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"689\" height=\"516\" src=\"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/image-82.png\" alt=\"\" class=\"wp-image-309\" srcset=\"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/image-82.png 689w, https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/image-82-300x225.png 300w\" sizes=\"auto, (max-width: 689px) 100vw, 689px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Repository\uc640 ListView.builder<\/h2>\n\n\n\n<p>RepositoryProvider\ub97c \ud1b5\ud574 \uc55e\uc11c MyApp\uc5d0\uc11c \uc0dd\uc131\ud55c IdeaRepository\ub97c \ubd88\ub7ec\uc635\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uadf8\ub9ac\uace0 Chapter4 Data Repository\uc5d0\uc11c \ub9cc\ub4e4\uc5c8\ub358 getList() method\ub97c \uc0ac\uc6a9\ud558\uc5ec \ud604\uc7ac Idea data\ub97c list \ud615\ud0dc\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.<\/p>\n\n\n\n<p>List \ud615\ud0dc\ub85c \ub418\uc5b4 \uc788\ub294 data\ub97c ListView\ub85c \ud45c\ud604\ud560 \ub54c\ub294 ListView.builder\ub97c \uc0ac\uc6a9\ud558\ub294\uac8c \uc801\ud569\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>Argument\ub85c\ub294 itemCount \ub294 idea\uc758 \uac2f\uc218\ub97c List\uc758 length\ub85c \uc8fc\uace0 itemBuilder\ub294 List\uc5d0\uc11c item\uc744 index\uc5d0 \ub530\ub77c\uc11c return\ud558\ub3c4\ub85d \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc608\uc81c \uc571\uc5d0\uc11c\ub294 Item\uc744 IdeaCard\ub77c\ub294 \uc0c8\ub85c \ub9cc\ub4e0 Widget\uc73c\ub85c \ud45c\ud604\ud558\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc704 \uc608\uc81c\ub294 idea\ub97c Tap\ud558\uba74 Idea editor \ud654\uba74\uc73c\ub85c \uc774\ub3d9\ud558\uae30 \uc704\ud574\uc11c GestureDetector\ub97c \uc0ac\uc6a9\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Idea Card<\/h2>\n\n\n\n<p>\uc544\ub798\ub294 List\uc5d0\uc11c \ud558\ub098\uc758 Item\uc73c\ub85c \uad6c\uc131\ub418\uc5b4 \ud45c\ud604\ub418\ub294 IdeaCard\uc758 \uc2e4\uc81c \uad6c\ud604\ub41c \uc774\ubbf8\uc9c0\uc640 Source Code\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>UI Widget\ub4e4\uc5d0 \ub300\ud574\uc11c \ud55c \uc904 \ud55c \uc904 \uc124\uba85\ud558\uc9c0\ub294 \uc54a\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc5ec\uae30\uc11c \ud575\uc2ec\uc740 Flutter\uc758 Widget\ub4e4\uc740 Tree\ub85c \uad6c\uc131\ud558\uc5ec \ud45c\ud604\ud55c\ub2e4\ub294 \uac83\uc774\uace0 \ud544\uc694\ud55c Layout\uc744 Widget\uc73c\ub85c \ub9cc\ub4e4\uc5b4\uac00\uba74\uc11c \uad6c\ud604\ud558\uba74 \ucf54\ub4dc\ub97c \ud6e8\uc52c \uac04\uacb0\ud558\uac8c \ud45c\ud604\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ubc18\ubcf5\ub418\ub294 Idea Card\ub97c \uc544\ub798\uc640 \uac19\uc774 Widget\uc744 \ub9cc\ub4e4\uba74 Idea item data\ub9cc \ubcc0\uacbd\ud574\uc8fc\uba74 \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<p>Idea Card\uc5d0\uc11c\ub3c4 \uc694\uc57d text\ub97c \ud55c \uc904\ub85c \ud45c\ud604\ud558\ub294 Widget\uc744 IdeaCardShort\uc774\ub77c\ub294 \uc774\ub984\uc73c\ub85c \ub9cc\ub4e4\uc5b4 \uc7ac\uc0ac\uc6a9\ud558\ub294 \uac83\uc744 \ubcf4\uc2e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-default\"><img loading=\"lazy\" decoding=\"async\" width=\"718\" height=\"316\" src=\"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/image-83.png\" alt=\"\" class=\"wp-image-310\" srcset=\"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/image-83.png 718w, https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/image-83-300x132.png 300w\" sizes=\"auto, (max-width: 718px) 100vw, 718px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized is-style-default\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/image-84-460x1024.png\" alt=\"\" class=\"wp-image-311\" width=\"576\" height=\"1282\" srcset=\"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/image-84-460x1024.png 460w, https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/image-84-135x300.png 135w\" sizes=\"auto, (max-width: 576px) 100vw, 576px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Widget Tree \ubcf4\uae30<\/h2>\n\n\n\n<p>Flutter\uc758 UI\ub294 layout, Widget, \uc18d\uc131 \ubaa8\ub450 tree\ub85c \ub9cc\ub4e4\uc5b4\uc9d1\ub2c8\ub2e4.<\/p>\n\n\n\n<p>Android Studio\uc5d0\uc11c Flutter Inspector\ub85c Widget Tree\ub97c \ubcf4\ub294 \ubc29\ubc95\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc544\ub798 \uadf8\ub9bc\uc73c\ub85c \ud45c\ud604\ud558\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Debug Mode\ub85c \uc2e4\ud589\uc744 \ud569\ub2c8\ub2e4.<\/li><li>Flutter Inspector\ub97c Open\ud569\ub2c8\ub2e4.<\/li><\/ol>\n\n\n\n<p>Widget\uc758 Tree \uad6c\uc131\uc744 \uc544\ub798\uc640 \uac19\uc774 \ud655\uc778\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized is-style-default\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/image-85.png\" alt=\"\" class=\"wp-image-312\" width=\"577\" height=\"931\" srcset=\"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/image-85.png 521w, https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/image-85-186x300.png 186w\" sizes=\"auto, (max-width: 577px) 100vw, 577px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\ub9c8\uce58\uba70<\/h2>\n\n\n\n<p>\ubb38\ubc95\uc740 IDE (Android Studio)\uac00 \uc54c\ub824\uc8fc\uace0<\/p>\n\n\n\n<p>Widget\uc758 \uad6c\uc131\uc740 \uc704\uc640 Flutter Inspector\uc640 \uac19\uc740 Tool\uc744 \uc774\uc6a9\ud558\uba74 \ub418\ubbc0\ub85c<\/p>\n\n\n\n<p>\uc624\ub79c \uc2dc\uac04 \uc0ac\uc804\uc801 \uacf5\ubd80\ub97c \ud558\uc9c0 \uc54a\uc544\ub3c4 \ub41c\ub2e4\uace0 \uc0dd\uac01\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ubc14\ub85c App \ub9cc\ub4e4\uae30\ub97c \ud574\ubcf4\ub294\uac8c \uc5b4\ub5a8\uae4c \uc2f6\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>UI\ub97c \uad6c\uc131\ud558\ub294 \uac83\ubcf4\ub2e4 SW\uc758 \uad6c\uc870\ub97c \uc5b4\ub5bb\uac8c \uac00\uc838\uac00\uc57c \ud558\ub294\uc9c0 \ucd5c\ub300\ud55c \uc124\uba85\ud558\uace0\uc790 \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ub2e4\uc74c Chapter\uc5d0\uc11c\ub294 Idea Card \uc785\ub825\ud558\ub294 \ud654\uba74\uc73c\ub85c \uc774\ub3d9\ud558\uc5ec \ub9c8\ubb34\ub9ac\ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc55e\uc11c Chatper #5 BLOC \uadf8\ub9ac\uace0 Chapter #6 Data Repository\uae4c\uc9c0 \ub9cc\ub4e0\uac83\uc744 \uae30\ubc18\uc73c\ub85c \ub4dc\ub514\uc5b4 UI \uad6c\ud604\ud558\uae30 Chapter\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4. \uc124\uba85\uacfc \ud568\uaed8 \uad6c\ud604\ud558\ub294 \ucf54\ub4dc\ub294\u00a0github repository\uc5d0 \uc788\uace0 \ubcf8 \uae00\uc740\u00a0 commit 5d1933f \uae30\uc900\uc785\ub2c8\ub2e4. \uc644\uc131 UI \ub2e4\uc74c\uc740 \uc644\uc131\ud55c UI\uc785\ub2c8\ub2e4. + \ubc84\ud2bc\uc744 \ub204\ub974\uba74 Idea Editor \ud654\uba74\uc73c\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4. Title, As a, I want, So that 4\uac00\uc9c0\ub97c \uc785\ub825\ud558\uace0 \ud654\uba74 \uc6b0\uce21 \uc0c1\ub2e8\uc5d0 Save \ubc84\ud2bc\uc744 \ub204\ub985\ub2c8\ub2e4. List\uc5d0 &#8230; <a title=\"\ub9ac\uc5bc Flutter #7 App \ub9cc\ub4e4\uae30 \u2013 UI \uad6c\ud604\ud558\uae30 with BLOC\" class=\"read-more\" href=\"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/\" aria-label=\"Read more about \ub9ac\uc5bc Flutter #7 App \ub9cc\ub4e4\uae30 \u2013 UI \uad6c\ud604\ud558\uae30 with BLOC\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,13],"tags":[8,9],"class_list":["post-290","post","type-post","status-publish","format-standard","hentry","category-programming","category-13","tag-flutter","tag-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\ub9ac\uc5bc Flutter #7 App \ub9cc\ub4e4\uae30 \u2013 UI \uad6c\ud604\ud558\uae30 with BLOC - Kowana&#039;s coding<\/title>\n<meta name=\"description\" content=\"\uc55e\uc11c Chatper #5 BLOC \uadf8\ub9ac\uace0 Chapter #6 Data Repository\uae4c\uc9c0 \ub9cc\ub4e0\uac83\uc744 \uae30\ubc18\uc73c\ub85c \ub4dc\ub514\uc5b4 UI \uad6c\ud604\ud558\uae30 Chapter\ub97c \uc801\uaca0\uc2b5\ub2c8\ub2e4.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-\uad6c\ud604\ud558\uae30\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ub9ac\uc5bc Flutter #7 App \ub9cc\ub4e4\uae30 \u2013 UI \uad6c\ud604\ud558\uae30 with BLOC - Kowana&#039;s coding\" \/>\n<meta property=\"og:description\" content=\"\uc55e\uc11c Chatper #5 BLOC \uadf8\ub9ac\uace0 Chapter #6 Data Repository\uae4c\uc9c0 \ub9cc\ub4e0\uac83\uc744 \uae30\ubc18\uc73c\ub85c \ub4dc\ub514\uc5b4 UI \uad6c\ud604\ud558\uae30 Chapter\ub97c \uc801\uaca0\uc2b5\ub2c8\ub2e4.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-\uad6c\ud604\ud558\uae30\/\" \/>\n<meta property=\"og:site_name\" content=\"Kowana&#039;s coding\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-29T19:42:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-12-29T19:53:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/ezgif.com-gif-maker-2.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"203\" \/>\n\t<meta property=\"og:image:height\" content=\"403\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"kowana\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"kowana\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/\",\"url\":\"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/\",\"name\":\"\ub9ac\uc5bc Flutter #7 App \ub9cc\ub4e4\uae30 \u2013 UI \uad6c\ud604\ud558\uae30 with BLOC - Kowana's coding\",\"isPartOf\":{\"@id\":\"https:\/\/www.kowanas.com\/coding\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/ezgif.com-gif-maker-2.gif\",\"datePublished\":\"2020-12-29T19:42:51+00:00\",\"dateModified\":\"2020-12-29T19:53:39+00:00\",\"author\":{\"@id\":\"https:\/\/www.kowanas.com\/coding\/#\/schema\/person\/190c7dff713254da763d4fe295be98af\"},\"description\":\"\uc55e\uc11c Chatper #5 BLOC \uadf8\ub9ac\uace0 Chapter #6 Data Repository\uae4c\uc9c0 \ub9cc\ub4e0\uac83\uc744 \uae30\ubc18\uc73c\ub85c \ub4dc\ub514\uc5b4 UI \uad6c\ud604\ud558\uae30 Chapter\ub97c \uc801\uaca0\uc2b5\ub2c8\ub2e4.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/#primaryimage\",\"url\":\"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/ezgif.com-gif-maker-2.gif\",\"contentUrl\":\"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/ezgif.com-gif-maker-2.gif\",\"width\":203,\"height\":403},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.kowanas.com\/coding\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ub9ac\uc5bc Flutter #7 App \ub9cc\ub4e4\uae30 \u2013 UI \uad6c\ud604\ud558\uae30 with BLOC\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.kowanas.com\/coding\/#website\",\"url\":\"https:\/\/www.kowanas.com\/coding\/\",\"name\":\"Kowana's coding\",\"description\":\"\ucc9c\ucc9c\ud788 \ud55c\uac78\uc74c\uc529 \ud55c\uac78\uc74c\uc529 \ucf54\ub529\uc774 \ub300\uc138\ub780\ub2e4 \uc544\ub4e4\uc544\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.kowanas.com\/coding\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.kowanas.com\/coding\/#\/schema\/person\/190c7dff713254da763d4fe295be98af\",\"name\":\"kowana\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.kowanas.com\/coding\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/80a89adb37a55d376afb969e327758fb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/80a89adb37a55d376afb969e327758fb?s=96&d=mm&r=g\",\"caption\":\"kowana\"},\"url\":\"https:\/\/www.kowanas.com\/coding\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\ub9ac\uc5bc Flutter #7 App \ub9cc\ub4e4\uae30 \u2013 UI \uad6c\ud604\ud558\uae30 with BLOC - Kowana's coding","description":"\uc55e\uc11c Chatper #5 BLOC \uadf8\ub9ac\uace0 Chapter #6 Data Repository\uae4c\uc9c0 \ub9cc\ub4e0\uac83\uc744 \uae30\ubc18\uc73c\ub85c \ub4dc\ub514\uc5b4 UI \uad6c\ud604\ud558\uae30 Chapter\ub97c \uc801\uaca0\uc2b5\ub2c8\ub2e4.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-\uad6c\ud604\ud558\uae30\/","og_locale":"en_US","og_type":"article","og_title":"\ub9ac\uc5bc Flutter #7 App \ub9cc\ub4e4\uae30 \u2013 UI \uad6c\ud604\ud558\uae30 with BLOC - Kowana's coding","og_description":"\uc55e\uc11c Chatper #5 BLOC \uadf8\ub9ac\uace0 Chapter #6 Data Repository\uae4c\uc9c0 \ub9cc\ub4e0\uac83\uc744 \uae30\ubc18\uc73c\ub85c \ub4dc\ub514\uc5b4 UI \uad6c\ud604\ud558\uae30 Chapter\ub97c \uc801\uaca0\uc2b5\ub2c8\ub2e4.","og_url":"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-\uad6c\ud604\ud558\uae30\/","og_site_name":"Kowana's coding","article_published_time":"2020-12-29T19:42:51+00:00","article_modified_time":"2020-12-29T19:53:39+00:00","og_image":[{"width":203,"height":403,"url":"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/ezgif.com-gif-maker-2.gif","type":"image\/gif"}],"author":"kowana","twitter_card":"summary_large_image","twitter_misc":{"Written by":"kowana","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/","url":"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/","name":"\ub9ac\uc5bc Flutter #7 App \ub9cc\ub4e4\uae30 \u2013 UI \uad6c\ud604\ud558\uae30 with BLOC - Kowana's coding","isPartOf":{"@id":"https:\/\/www.kowanas.com\/coding\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/#primaryimage"},"image":{"@id":"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/#primaryimage"},"thumbnailUrl":"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/ezgif.com-gif-maker-2.gif","datePublished":"2020-12-29T19:42:51+00:00","dateModified":"2020-12-29T19:53:39+00:00","author":{"@id":"https:\/\/www.kowanas.com\/coding\/#\/schema\/person\/190c7dff713254da763d4fe295be98af"},"description":"\uc55e\uc11c Chatper #5 BLOC \uadf8\ub9ac\uace0 Chapter #6 Data Repository\uae4c\uc9c0 \ub9cc\ub4e0\uac83\uc744 \uae30\ubc18\uc73c\ub85c \ub4dc\ub514\uc5b4 UI \uad6c\ud604\ud558\uae30 Chapter\ub97c \uc801\uaca0\uc2b5\ub2c8\ub2e4.","breadcrumb":{"@id":"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/#primaryimage","url":"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/ezgif.com-gif-maker-2.gif","contentUrl":"https:\/\/www.kowanas.com\/coding\/wp-content\/uploads\/sites\/5\/2020\/12\/ezgif.com-gif-maker-2.gif","width":203,"height":403},{"@type":"BreadcrumbList","@id":"https:\/\/www.kowanas.com\/coding\/2020\/12\/29\/ui-%ea%b5%ac%ed%98%84%ed%95%98%ea%b8%b0\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.kowanas.com\/coding\/"},{"@type":"ListItem","position":2,"name":"\ub9ac\uc5bc Flutter #7 App \ub9cc\ub4e4\uae30 \u2013 UI \uad6c\ud604\ud558\uae30 with BLOC"}]},{"@type":"WebSite","@id":"https:\/\/www.kowanas.com\/coding\/#website","url":"https:\/\/www.kowanas.com\/coding\/","name":"Kowana's coding","description":"\ucc9c\ucc9c\ud788 \ud55c\uac78\uc74c\uc529 \ud55c\uac78\uc74c\uc529 \ucf54\ub529\uc774 \ub300\uc138\ub780\ub2e4 \uc544\ub4e4\uc544","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.kowanas.com\/coding\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.kowanas.com\/coding\/#\/schema\/person\/190c7dff713254da763d4fe295be98af","name":"kowana","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.kowanas.com\/coding\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/80a89adb37a55d376afb969e327758fb?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/80a89adb37a55d376afb969e327758fb?s=96&d=mm&r=g","caption":"kowana"},"url":"https:\/\/www.kowanas.com\/coding\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.kowanas.com\/coding\/wp-json\/wp\/v2\/posts\/290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kowanas.com\/coding\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kowanas.com\/coding\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kowanas.com\/coding\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kowanas.com\/coding\/wp-json\/wp\/v2\/comments?post=290"}],"version-history":[{"count":5,"href":"https:\/\/www.kowanas.com\/coding\/wp-json\/wp\/v2\/posts\/290\/revisions"}],"predecessor-version":[{"id":316,"href":"https:\/\/www.kowanas.com\/coding\/wp-json\/wp\/v2\/posts\/290\/revisions\/316"}],"wp:attachment":[{"href":"https:\/\/www.kowanas.com\/coding\/wp-json\/wp\/v2\/media?parent=290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kowanas.com\/coding\/wp-json\/wp\/v2\/categories?post=290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kowanas.com\/coding\/wp-json\/wp\/v2\/tags?post=290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}