๐Ÿ‹ Flutter

1) ๊ฐœ์š” ํ”Œ๋Ÿฌํ„ฐ๋ฅผ ์ž…๋ฌธํ•œ ์ง€ ์–ด๋Š๋ง 3๋…„ ์ฐจ๊ฐ€ ๋˜์–ด๊ฐ„๋‹ค. ๊ทธ๋™์•ˆ ์ƒํƒœ๊ด€๋ฆฌํˆด๋กœ์จ Provider๋ฅผ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•ด ์™”์—ˆ์ง€๋งŒ ์–ธ์  ๊ฐ€๋Š” Deprecated ๋œ๋‹ค๋Š” Provider์˜ ์ฐฝ์‹œ์ž์˜ ๋ง์— ์ถฉ๊ฒฉ์„ ๋ฐ›๊ฒŒ ๋˜์—ˆ๋‹ค. ๋‹ค๋ฅธ ์ƒํƒœ๊ด€๋ฆฌํˆด์„ ์ตํ˜€์•ผ ๋  ๋•Œ๊ฐ€ ๋œ ๊ฒƒ ๊ฐ™์•„ ์•Œ์•„๋ณด๋˜ ๋„์ค‘ GetX์™€ BLoC์— ๋ˆˆ์„ ๋“ค์ด๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ GetX์˜ ๊ฒฝ์šฐ์—” 10๊ฐœ์›”์งธ ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ด๋ค„์ง€์ง€ ์•Š๊ณ  ์žˆ๊ณ  BLoCํŒจํ„ด์˜ ๊ฒฝ์šฐ๋Š” ๊ฐ„๋‹จํ•œ ํ”„๋กœ์ ์— ์–ด์šธ๋ฆฌ์ง€ ์•Š์œผ๋ฉฐ ๋‚œ์ด๋„๊ฐ€ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— ๋งˆ์ง€๋ง‰์œผ๋กœ Provider์˜ ๊ณ„์Šน์ž์ธ RiverPod์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. RiverPod ์€ Provider์˜ ์ฒ ์ž์—์„œ ์ˆœ์„œ๋งŒ ๋ฐ”๋€ ๋‹จ์–ด์ด๋ฉฐ Provider์—์„œ ์ปดํŒŒ์ผ๋Ÿฌ ์ค‘์— ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜, ์—ฌ๋Ÿฌ ๋ฌธ์ œ์ ๋“ค์„ ์ตœ๋Œ€ํ•œ ๊ฐœ์„ ํ•˜์—ฌ RiverPod์œผ๋กœ ๋ฐฐํฌ๊ฐ€ ๋˜์—ˆ..
์ตœ๊ทผ์— ํ† ์ดํ”„๋กœ์ ํŠธ๋กœ ์ง„ํ–‰ ์ค‘์ธ Flutter Web ์‚ฌ์ดํŠธ์˜ ๋ฒ„์ „์„ ๋ฐ”๊พธ๊ฒŒ ๋  ์ผ์ด ์ƒ๊ฒจ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜๋ ค ํ•˜๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค. ์ตœ์‹ ๋ฒ„์ „์„ ๋ฐ˜์˜ํ•œ ์ดํ›„ Flutter web์˜ ๋นŒ๋“œํŒŒ์ผ์„ ์„œ๋ฒ„์— ์ ์šฉ์„ ํ•œ ํ›„ ์ ‘์†์„ ํ•ด๋ณด๋Š”๋ฐ ์บ์‹œ ๋œ ์ด์ „ ํŽ˜์ด์ง€๊ฐ€ ๊ทธ๋Œ€๋กœ ๋ณด์ด๋Š” ๊ฒƒ์ด๋‹ค. ๋ฌธ์ œ๋ฅผ ํ™•์ธํ•ด ๋ณด๋‹ˆ ํ”Œ๋Ÿฌํ„ฐ ์›น์€ main.dart.js๋ฅผ ๊ฐ€์ ธ์˜ค๊ฒŒ ๋˜๋Š”๋ฐ ์ด ํŒŒ์ผ์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์ด๋‹ค ๋ณด๋‹ˆ ๊ฐฑ์‹ ์„ ํ•˜๋ ค๋ฉด ์ฟผ๋ฆฌ๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฒ„์ „์„ ์˜ฌ๋ ค์ค˜์•ผ ์‹ ๊ทœ main.dart.js๋ฅผ ์›น๋ธŒ๋ผ์šฐ์ €์—์„œ ์ธ์‹์„ ํ•˜๊ณ  ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์„ ์ ์–ด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค. 1.Flutter Web์„ ๋นŒ๋“œํ•œ๋‹ค (flutter build web --web-renderer canvaskit --release) 2. ์ดํ›„ ๋นŒ๋“œ๋œ ํด๋”์— ์ด..
๋ช‡ ์‹œ๊ฐ„ ๋™์•ˆ ์‚ฝ์งˆํ•ด์„œ ๊ฒจ์šฐ ์•Œ์•„๋‚ธ ์˜ค๋ฅ˜ ํ•˜๋‚˜๋ฅผ ์žก๊ฒŒ ๋˜์—ˆ๋‹ค. ์›์ธ์€ Flutter์˜ ์™ธ๋ถ€ dependency์ธ flutter_sounds๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ์ถ”๊ฐ€๋ฅผ ํ•œ ๋‹ค์Œ IOS์—์„œ ๋นŒ๋“œ๋ฅผ ํ•˜๋ ค ํ•˜๋Š”๋ฐ deploy๋ฒ„์ „์ด ์•ˆ ๋งž๋Š” ๋“ฑ ๊ฐ์ข… ์˜ค๋ฅ˜๊ฐ€ ํญ๋ฐœํ•˜๋‹ค๊ฐ€ flutter clean ๋˜๋Š” IOS ํด๋”๋ฅผ ํ†ต์งธ๋กœ ์ง€์šฐ๊ณ  flutter create . ๋ฅผ ์“ฐ๋Š” ๋ฐฉ๋ฒ•์„ ํ•ด๋ดค๋‹ค. ๋ฌผ๋ก  ํ•ด๊ฒฐ์€ ์•ˆ ๋๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ตœ์ข…์ ์œผ๋กœ ์ง๋ฉดํ•œ ์˜ค๋ฅ˜๊ฐ€ Undefined symbol: ___gxx_personality_v0 ์ธ๋ฐ Xcode ๋‚ด์—์„œ ๋นŒ๋“œ๋ฅผ ํ•˜์—ฌ๋„ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ๋˜ ๊ฒƒ์„ ๋ณด์•˜๋‹ค. ๊ตฌ๊ธ€์— ์—ฌ๊ธฐ์ €๊ธฐ ์ฐพ์•„๋ณด๋‹ˆ ๊นƒํ—ˆ๋ธŒ์—์„œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์„ ์˜ฌ๋ ค์ค€ ๊ฒƒ์„ ๋ณด์•˜๊ณ  M1 ๋งฅ๋ถ์—์„œ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋กœ ๋ณด์˜€๋‹ค. IOS buildSetting์—..
์ด๋ฒˆ์— ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๋‹ด๋Š” ์œ„์ ฏ์„ ๊พธ๋ฏธ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ํ•œ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. Row์•ˆ์— Text๋ฅผ ๋„ฃ์—ˆ๋Š”๋ฐ ๊ธ€์ž ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์„ ๊ฒฝ์šฐ ์ž˜๋ฆฌ๋Š” ํ˜„์ƒ์ด ๋ฐœ๊ฒฌํ–ˆ๋˜ ๊ฒƒ์ด๋‹ค. Text์†์„ฑ์— overFlow ์˜ต์…˜์„ ์ ์šฉํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ ค ํ–ˆ์ง€๋งŒ, ์ด ๋ฐฉ๋ฒ•์€ ๋ถ€๋ชจ ์œ„์ ฏ์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ ์ง€์ •๋˜์–ด์•ผ ์ž˜๋ฆฌ๋Š” ํ˜„์ƒ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•˜๋‹ค. ๊ทธ๋ž˜์„œ ์ฐพ์€ ๋ฐฉ๋ฒ•์ด Flexible์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. Row๋‚˜ Column ์œ„์ ฏ์—์„œ ๋‚จ์€ ์ž๋ฆฌ๋ฅผ ์ „๋ถ€ ์ฑ„์šฐ๋„๋ก ์„ค์ •ํ•˜๋Š” ์œ„์ ฏ์ธ๋ฐ, ์•„๋ž˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ Flexible์„ ๋ถ€๋ชจ๋กœ์„œ ๊ฐ์‹ธ์ฃผ๋ฉด ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. Row( mainAxisSize: MainAxisSize.max, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( '์ด๋ฆ„:'..
์ด๋ฒˆ์— FutureBuilder๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ํ•œ ๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ๋ฐœ์ƒํ–ˆ๋‹ค. snapshot.hasData ์™€ snapshot.hasError๋ฅผ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ Future ํ•จ์ˆ˜์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด hasError๋กœ ๋„˜๊ฒจ ์˜ค๋ฅ˜ ์ƒํƒœ๋ฅผ ํ‘œ์‹œํ•˜๋„๋ก ํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ hasData๋Š” ์ž˜ ๋ถˆ๋Ÿฌ์™€๋„ hasError๋Š” ์ž‘๋™์ด ์•ˆ ๋˜๋˜ ๊ฒƒ์ด๋‹ค. ์ฐพ์•„๋ณด๋‹ˆ StackOverflow์—์„œ ๋‚˜๋ž‘ ๋น„์Šทํ•œ ์‚ฌ๋ก€๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๊ฐ€ ๋‚˜์™€ ๊ฐ™์€ ์ผ€์ด์Šค์ด๋‹ค. try { var response = await http.get(url); // Success if (response.statusCode == 200) { [...] } // Failure else { return Future.error("Error"); } } catch (e) ..
์ตœ๊ทผ์— ํ† ์ดํ”„๋กœ์ ํŠธ๋กœ ์ง„ํ–‰์ค‘์ด๋˜ ์ž‘์—…๋ฌผ ์ค‘์—์„œ ๋‚˜ํ˜ผ์ž ์“ฐ๊ธฐ๊ฐ€ ์•„๊นŒ์›Œ pub.dev ์— ๊ฒŒ์‹œ๋ฅผ ํ•˜์—ฌ ๋ชจ๋‘์™€ ํ•จ๊ป˜ ์“ธ์ˆ˜์žˆ๋Š” ํ•˜๋‹จ ๋„ค๋น„๊ฒŒ์ด์…˜๋ฐ”๋ฅผ ๊ฐœ๋ฐœํ–ˆ๋‹ค. ์ž‘๋™ํ™”๋ฉด ๋จผ์ € ๋ณด์—ฌ์ฃผ๊ณ  ์ ์šฉ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ง„ํ–‰ํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค. ์ด์™€ ๊ฐ™์ด ํ•˜๋‹จ NavigationBar๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์ฌ๊นํ•œ ์œ„์ ฏ์„ ์‚ฌ์šฉํ•˜๋„๋ก ํ•œ๋‹ค. ์•„๋ž˜ ์ฃผ์†Œ๋Š” ๋‚ด๊ฐ€ ์ง์ ‘ ๊ฒŒ์‹œํ•ด๋‘” ํŒจํ‚ค์ง€์ด๊ณ  ๊ฐ€์žฅ ์ตœ์‹  ๊ฒƒ์œผ๋กœ dependency์— ์ถ”๊ฐ€ํ•˜์—ฌ ์ ์šฉํ•˜๋„๋ก ํ•œ๋‹ค. https://pub.dev/packages/flutter_bottom_floating_bar flutter_bottom_floating_bar | Flutter Package This plugin was maked to use bottom navigation bar pub.dev ์‚ฌ์šฉ๋ฐฉ..
Dogfoot_JW
'๐Ÿ‹ Flutter' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)