1) ๊ฐ์ ํ๋ฌํฐ๋ฅผ ์
๋ฌธํ ์ง ์ด๋๋ง 3๋
์ฐจ๊ฐ ๋์ด๊ฐ๋ค. ๊ทธ๋์ ์ํ๊ด๋ฆฌํด๋ก์จ Provider๋ฅผ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํด ์์์ง๋ง ์ธ์ ๊ฐ๋ Deprecated ๋๋ค๋ Provider์ ์ฐฝ์์์ ๋ง์ ์ถฉ๊ฒฉ์ ๋ฐ๊ฒ ๋์๋ค. ๋ค๋ฅธ ์ํ๊ด๋ฆฌํด์ ์ตํ์ผ ๋ ๋๊ฐ ๋ ๊ฒ ๊ฐ์ ์์๋ณด๋ ๋์ค GetX์ BLoC์ ๋์ ๋ค์ด๊ฒ ๋์๋๋ฐ GetX์ ๊ฒฝ์ฐ์ 10๊ฐ์์งธ ํจํค์ง ์
๋ฐ์ดํธ๊ฐ ์ด๋ค์ง์ง ์๊ณ ์๊ณ BLoCํจํด์ ๊ฒฝ์ฐ๋ ๊ฐ๋จํ ํ๋ก์ ์ ์ด์ธ๋ฆฌ์ง ์์ผ๋ฉฐ ๋์ด๋๊ฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋ง์ง๋ง์ผ๋ก Provider์ ๊ณ์น์์ธ RiverPod์ ์๊ฒ ๋์๋ค. RiverPod ์ Provider์ ์ฒ ์์์ ์์๋ง ๋ฐ๋ ๋จ์ด์ด๋ฉฐ Provider์์ ์ปดํ์ผ๋ฌ ์ค์ ๋ฐ์ํ๋ ์ค๋ฅ, ์ฌ๋ฌ ๋ฌธ์ ์ ๋ค์ ์ต๋ํ ๊ฐ์ ํ์ฌ RiverPod์ผ๋ก ๋ฐฐํฌ๊ฐ ๋์..
๐ Flutter
์ต๊ทผ์ ํ ์ดํ๋ก์ ํธ๋ก ์งํ ์ค์ธ 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 ์ฌ์ฉ๋ฐฉ..