Flutter

    Flutter Widget #1 : ListView ์ดํ•ด์™€ ์‚ฌ์šฉ๋ฐฉ๋ฒ•

    Flutter Widget #1 : ListView ์ดํ•ด์™€ ์‚ฌ์šฉ๋ฐฉ๋ฒ•

    Flutter์—์„œ ListView ์‚ฌ์šฉ์€ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. 3๊ฐœ์˜ ํ•ต์‹ฌ ListView ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ณ  ๊ฐ๊ฐ์˜ ์˜ˆ์ œ๋ฅผ ํ™•์ธํ•˜๋ฉด์„œ ListView๋ฅผ ์ตํ˜€๋ด…์‹œ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ ์•Œ์•„๋ณผ ๋‚ด์šฉ ListView๋ž€? ListView() ListView.builder() ListView.separated() ListView๋ž€? ListView๋Š” Flutter์—์„œ ์Šคํฌ๋กค์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์œ„์ ฏ์ž…๋‹ˆ๋‹ค. ๊ตฌํ˜„ํ•˜๊ธฐ๋„ ์‰ฝ๊ณ  ์œ ์—ฐํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. vertical, horizontal ์Šคํฌ๋กค ๋ฐฉํ–ฅ์„ ๋ฐ”๊ฟ€ ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ, ์•„๋ž˜์—์„œ๋„ ๋ณด์‹œ๊ฒ ์ง€๋งŒ ListView.sperated() ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ์•„์ดํ…œ ์‚ฌ์ด์— ๋‹ค๋ฅธ ์š”์†Œ๋ฅผ ์ง‘์–ด๋„ฃ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์—์„œ ListView ๊ตฌํ˜„์˜ ๋Œ€ํ‘œ์  3๊ฐ€์ง€๋ฅผ ..

    Flutter / Flutter GetX์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

    Flutter ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด GetX์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ๋งŽ์ด ๋“ค์œผ์…จ์„ ํ…๋ฐ์š”. GetX๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ ์ธ์ง€ ์˜ค๋Š˜ ํฌ์ŠคํŒ…์—์„œ ๊ฐ™์ด ์•Œ์•„๋ด…์‹œ๋‹ค. ์ฐธ๊ณ  ์ž๋ฃŒ GetX API Documentation Murtaza sulaihi์˜ Flutter GetX ์ƒํƒœ ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ๊ถ๊ทน์  ๊ฐ€์ด๋“œ ์ด๋ฒˆ ๊ธ€์—์„œ ์•Œ์•„๋ณผ ๋‚ด์šฉ GetX๋ž€? GetX์˜ ํ•ต์‹ฌ 3๊ฐ€์ง€ GetX์˜ ๋ถ€๊ฐ€๊ธฐ๋Šฅ GetX์˜ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ GetX ๋ž€? GetX์˜ ๊ณต์‹๋ฌธ์„œ ์„ค๋ช…์— ๋”ฐ๋ฅด๋ฉด, GetX๋Š” ๊ณ ์„ฑ๋Šฅ ์ƒํƒœ ๊ด€๋ฆฌ, ์ง€๋Šฅํ˜• ์ข…์†์„ฑ ์ฃผ์ž… ๋ฐ ๊ฒฝ๋กœ ๊ด€๋ฆฌ๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ์ดˆ๊ฒฝ๋Ÿ‰์˜ ๊ฐ•๋ ฅํ•œ ์†”๋ฃจ์…˜์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. GetX๋Š” ์ดˆ๊ฒฝ๋Ÿ‰์ด์ง€๋งŒ ๊ฐ•๋ ฅํ•œ ์†”๋ฃจ์…˜์œผ๋กœ ์ตœ๊ณ ์˜ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด GetX์—๋Š” ์„ธ ๊ฐ€์ง€..

    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 BLoC ๊ฟ€ํŒ - 1ํƒ„ : BlocProvider ๋ฐฑ๋ฐฐ ์‚ฌ์šฉํ•˜๊ธฐ

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