• ๊ฐ“์ƒ ํ”„๋กœ์ ํŠธ #1

    ์ด๋ฒˆ์ฃผ ํšŒ๊ณ  ์ด๋ฒˆ์ฃผ๋Š” ์ฒ˜์Œ์œผ๋กœ ๋‚ด ์ผ์ƒ์„ ๋‹ค๋ฅธ์‚ฌ๋žŒ์—๊ฒŒ ๊ณต์œ ํ•˜๋Š” ๋‚ ์ด๋‹ค. ๋ง‰์ƒ ์“ฐ๋ ค๊ณ  ํ•˜๋‹ˆ ๋‚ด๊ฐ€ ์ž˜๋ชปํ•œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์‹œ๊ฐ„๋“ค์ด ๋ณด์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์‚ฌ์‹ค์„ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๊ณต๊ฐœํ•œ๋‹ค๋Š”๊ฒŒ ํ•œ์ผ ์œผ๋กœ๋Š” ๋ถ€๋„๋Ÿฝ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ๋ถ€๋„๋Ÿฌ์›€์ด ๋‚ด๊ฐ€ ๊ฒŒ์œผ๋ฆ„์„ ํ”ผ์šฐ์ง€ ์•Š๊ฒŒ ๋‚˜์—๊ฒŒ ๊ธ์ •์  ์ŠคํŠธ๋ ˆ์Šค๋ฅผ ์ค„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค. ์‹ค์ œ๋กœ๋„ ๋‚˜๋Š” ํšŒ๊ณ ํ•˜๋ฉด์„œ ์ƒˆ๋กœ์šด ๋ชฉํ‘œ๋“ค์„ ์„ธ์› ๊ณ  ๊ทธ๊ฒƒ์„ ์ด๋ฒˆ ํฌ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ๊ณต์œ ํ•  ๊ฒƒ ์ด๋‹ค. ์Šค์Šค๋กœ์— ๋Œ€ํ•œ ๋ฒŒ์น™ ๋˜ํ•œ ์ƒˆ๋กญ๊ฒŒ ์„ค์ •ํ•˜์˜€๋‹ค. ๋‹ค์Œ์ฃผ์˜ ๋‚˜๋Š” ๋ถ„๋ช… ํž˜๋“ค์–ดํ•˜๋ฉด์„œ๋„ ์„ธ์› ๋˜ ๋ชฉํ‘œ๋“ค์„ ์ˆ˜ํ–‰ํ•  ๊ฒƒ ์ด๋‹ค. ์ด ๊ณผ์ •์ด ๋ฐ˜๋ณต๋˜์–ด์„œ ๋‚ด ์ธ์ƒ์ด ์ข€ ๋” ๋ฐœ์ „ํ•˜๊ณ  ๊ฐ“์ƒ์œผ๋กœ ๋ณ€ํ™”ํ•ด๋‚˜๊ฐ”์œผ๋ฉด ์ข‹๊ฒ ๋‹ค. ์ด๋ฒˆ์ฃผ ๋‹ฌ์„ฑ ํ•ญ๋ชฉ Flutter ๊ณต๋ถ€ Clone ์ฝ”๋”ฉ Instagram clone coding UI Kit Android ๊ณต๋ถ€ ..

  • Flutter ๊ธฐ์ดˆ - 2ํƒ„ : ํ™”๋ฉด์— ๊ทธ๋ ค์ง€๋Š” ๋ชจ๋“  ๊ฒƒ์€ ์œ„์ ฏ์ด๋‹ค

    Flutter ๊ธฐ์ดˆ - 2ํƒ„ : ํ™”๋ฉด์— ๊ทธ๋ ค์ง€๋Š” ๋ชจ๋“  ๊ฒƒ์€ ์œ„์ ฏ์ด๋‹ค

    ์ด๋ฒˆ๊ธ€์—์„œ ์•Œ์•„๋ณผ ๋‚ด์šฉ์€ Flutter ์˜ ํ•ต์‹ฌ ์ค‘ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. ๋ฐ”๋กœ ํ™”๋ฉด์— ๊ทธ๋ ค์ง„ ๋ชจ๋“ ๊ฒƒ์€ ์œ„์ ฏ์ด๋ผ๋Š” ๊ฒƒ์ธ๋ฐ์š”. ์ง€๊ธˆ๋ถ€ํ„ฐ ์•Œ์•„๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค. ์ด๋ฒˆ ๊ธ€์€ ์•„๋ž˜์˜ ์ž๋ฃŒ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑ๋์Šต๋‹ˆ๋‹ค. Introduction to widgets - Flutter document Layouts in Flutter - Flutter document ์ด ๊ธ€์—์„œ ์•Œ์•„๋ณผ ๋‚ด์šฉ ํ™”๋ฉด์— ๊ทธ๋ ค์ง€๋Š” ๋ชจ๋“ ๊ฒƒ์ด ์œ„์ ฏ์ด๋‹ค ์„ ์–ธ์  UI ๋ฐฉ์‹๊ณผ Widget ์œ„์ ฏ ํŠธ๋ฆฌ์™€ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ StatelessWidget StatefulWidget ํ™”๋ฉด์— ๊ทธ๋ ค์ง€๋Š” ๋ชจ๋“ ๊ฒƒ์ด ์œ„์ ฏ์ด๋‹ค ์œ„์˜ ๊ทธ๋ฆผ์€ Flutter๊ฐ€ UI๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•œ ์š”์†Œ๋“ค์˜ ๊ณ„์ธต์„ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ๋งจ ์•„๋ž˜์— Text ์œ„์ ฏ์„ ๋ณด์‹œ๋ฉด ์ดํ•ด๊ฐ€ ํ›จ์”ฌ ํŽธํ• ๊ฒ๋‹ˆ๋‹ค. Text ์œ„์ ฏ์€ ๋ง๊ทธ๋Œ€๋กœ F..

  • Flutter ๊ธฐ์ดˆ - 1ํƒ„ : Flutter ์˜ ๊ณผ๊ฑฐ, ํ˜„์žฌ, ๋ฏธ๋ž˜

    Flutter ๊ธฐ์ดˆ - 1ํƒ„ : Flutter ์˜ ๊ณผ๊ฑฐ, ํ˜„์žฌ, ๋ฏธ๋ž˜

    ๊ธฐ์ดˆ๊ฐ€ ์™œ ์ค‘์š”ํ• ๊นŒ์š”? ์ €๋Š” ์ธ๊ฐ„์˜ ๋ถˆ์™„์ „ํ•œ ๊ธฐ์–ต๋ ฅ์ด ๊ทธ ์ด์œ ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์•„๋ฌด๋ฆฌ ๋˜‘๋˜‘ํ•ด๋„ ๋ชจ๋“  ๊ฒƒ์„ ๊ธฐ์–ตํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ˆ˜ ๋งŽ์€ ์ •๋ณด๋ฅผ ์ „๋ถ€ ๊ธฐ์–ตํ•˜๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ ์ด๊ธฐ๋„ ํ•˜์ฃ . ์ธ๊ฐ„์€ ๊ฒฝํ—˜๊ณผ ์ง€์‹ ์ฆ‰ ๊ธฐ์–ต์„ ๋ฐ”ํƒ•์œผ๋กœ ์ƒ๊ฐํ•˜๊ณ  ํ–‰๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์šฐ๋ฆฌ๋Š” ๊ณต๋ถ€ํ•˜๊ณ  ์—ฐ์Šตํ•˜๋Š”๊ฑฐ์ฃ . ์ˆ˜ ๋งŽ์€ ํ•ญ๋ชฉ ์ค‘์— ๋ฌด์—‡์„ ๊ธฐ์–ตํ•ด์•ผ ํ• ๊นŒ์š”? ๊ธฐ์ดˆ๊ฐ€ ์ด์— ๋Œ€ํ•œ ๋‹ต์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ๊ธฐ์ดˆ๋Š” "๊ฐ€์žฅ ๋จผ์ € ๊ธฐ์–ตํ•ด์•ผํ•˜๊ณ  ์ตํ˜€์•ผํ•˜๋Š” ๋Œ€์ƒ" ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ์ด๋ฒˆ ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ flutter ๋ฅผ ๊ณต๋ถ€ํ• ๋•Œ ๊ฐ€์žฅ ๋จผ์ € ๊ธฐ์–ตํ•ด์•ผ ํ•  ๋‚ด์šฉ์„ ์ •๋ฆฌํ•  ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์˜ ์ฃผ์ œ๋Š” "Flutter์˜ ๊ณผ๊ฑฐ, ํ˜„์žฌ, ๋ฏธ๋ž˜" ์ฆ‰ Flutter์˜ ์—ญ์‚ฌ ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ๊ธ€์€ ์•„๋ž˜์˜ ์ž๋ฃŒ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑ๋์Šต๋‹ˆ๋‹ค. [๋ฒˆ์—ญ] Flu..

  • Flutter BLoC ๊ฟ€ํŒ - 1ํƒ„ : BlocProvider ๋ฐฑ๋ฐฐ ์‚ฌ์šฉํ•˜๊ธฐ

    BLoC ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์‹œ๋Š” ๋ถ„์ด๋ผ๋ฉด BlocProvider ๋ฅผ ์‚ฌ์šฉํ•˜์‹ค๊ฒ๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ BlocProvider ๋ฅผ ์ข€ ๋” ์ž˜์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ๋ ค๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์€ ์ €์˜ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑ๋์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ ์•Œ์•„๋ณผ ๋‚ด์šฉ ๋‹ค๋ฅธ ์Šคํฌ๋ฆฐ์—์„œ ๋™์ผํ•œ BlocProvider ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• BlocProvider ์˜ auto dispose ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ๋‹ค๋ฅธ ์Šคํฌ๋ฆฐ์—์„œ ๋™์ผํ•œ BlocProvider๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• BlocProvider ์˜ ์Šค์ฝ”ํ”„๋Š” ๊ฐ์‹ธ๊ณ  ์žˆ๋Š” Widget ๊นŒ์ง€๊ฐ€ ๋ฒ”์œ„์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ Navigator ๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์Šคํฌ๋ฆฐ์œผ๋กœ ์ „ํ™˜ํ•œ๋‹ค๋ฉด ์ „ํ™˜ํ•œ ํ™”๋ฉด์€ BlocProvider ์˜ ์Šค์ฝ”ํ”„ ๋ฐ–์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฉ์ฒญํ•œ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. runApp( BlocPro..

  • Flutter์—์„œ Webview(์›น๋ทฐ) ์‚ฌ์šฉํ•˜๊ธฐ

    Flutter์—์„œ Webview๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์€ ๋‹จ์ˆœํ•œ webview ๊ตฌํ˜„์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. hybrid composition์˜ ๋‚ด์šฉ์„ ๋‹ด์ง€ ์•Š์•˜์Œ์„ ๋ฏธ๋ฆฌ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ด ๊ธ€์€ ์•„๋ž˜์˜ example๊ณผ ๋ฌธ์„œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. webview_flutter example webview_flutter api document ์ด ๊ธ€์—์„œ ์•Œ์•„๋ณผ ๋‚ด์šฉ Webview ์‚ฌ์šฉ๋ฒ• (webview_flutter) http ์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ Webview ์‚ฌ์šฉ๋ฒ• (webview_flutter) pubspec.yaml ์˜์กด์„ฑ ์ถ”๊ฐ€ dependencies: flutter: sdk: flutter webview_flutter: ^2.0.9 // ์ตœ์‹ ๋ฒ„์ „ ๊ถŒ์žฅ (https://pub.dev/p..

  • Flutter Web 1ํƒ„ : ๊ตฌ๊ธ€ ์ฝ”๋“œ๋žฉ ๊ตฌํ˜„

    Flutter Web 1ํƒ„ : ๊ตฌ๊ธ€ ์ฝ”๋“œ๋žฉ ๊ตฌํ˜„

    Flutter 2.0 ์ด ์ถœ์‹œ๋จ์— ๋”ฐ๋ผ. Web ๊ฐœ๋ฐœ ๋˜ํ•œ ์ •์‹์œผ๋กœ ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ Flutter ๋กœ Web ๊ฐœ๋ฐœ์„ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์€ ์•„๋ž˜์˜ ์ž๋ฃŒ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑ๋์Šต๋‹ˆ๋‹ค. Write your first Flutter app on the web ์ด ๊ธ€์—์„œ ์•Œ์•„๋ณผ ๋‚ด์šฉ ๊ฐ„๋‹จํ•œ ์‹คํ–‰ ์ฝ”๋“œ๋žฉ ๊ฐœ์š” ์ฝ”๋“œ๋žฉ ๊ตฌํ˜„ ๊ตฌํ˜„ ์ค‘ ๋Š๋‚€ ์  ๊ฐ„๋‹จํ•œ ์‹คํ–‰ ๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ Web์œผ๋กœ ํ•œ๋ฒˆ ์‹คํ–‰์‹œ์ผœ ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ž‘๋™ ์ฝ”๋“œ๋Š” ์ƒˆ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์‹œ ์žˆ๋Š” ์นด์šดํŠธ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ์‹คํ–‰์‹œ์ผœ๋ณด๋‹ˆ ์•ฑ๊ฐœ๋ฐœ๊ณผ ํฌ๊ฒŒ ๋‹ค๋ฅธ๊ฒŒ ์—†๋Š” ๋Š๋‚Œ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  UI ๋ฐฐ์น˜๋Š” Web ํ™”๋ฉด์— ๋งž๊ฒŒ ์ˆ˜์ •ํ•ด์•ผ๊ฒ ์ง€๋งŒ. ๊ทธ ์™ธ์—๋Š” ๊ทธ๋ƒฅ ์•ฑ๊ฐœ๋ฐœ๊ณผ ๋˜‘๊ฐ™์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๋žฉ ๊ฐœ์š” ํ•ด๋‹น ์ฝ”๋“œ๋žฉ์€ ์ •๋ง ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ํšŒ์›๊ฐ€์ž…์„ ํ•˜๊ณ  ..