๊ฐ์์ต๊ทผ์ ํ๋ฌํฐ Stack ๊ด๋ จ๋ ์ค๋ฅ๋ฅผ ์ฌํ๊ฒ ๊ฒช์๋ค.์๋ฌด๋๋ ๊ทธ๋์ Stack์ ๋ํ ์ดํด๋๊ฐ ๋ฎ์์ ๊ทธ๋ฐ์ง ๋น ๋ฅด๊ฒ ๋ฌธ์ ํด๊ฒฐ์ ํ๋๋ฐ ์ด๋ ค์์ ๊ฒช์ ๊ฒ ๊ฐ๋ค.๊ทธ๋์ Stack์ ๊ธฐ๋ณธ ์๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ฐพ์๋ณด๊ฒ ๋์๊ณ , ๋ด ๋๋ฆ๋๋ก ๊ฐ๋
๊ณผ ์์๋ฅผ ์ ๋ฆฌํ๊ฒ ๋์๋ค.# Flutter Stack ์์ ฏ์ ํฌ๊ธฐ ๊ฒฐ์ ๋ฐฉ์ ์ดํดํ๊ธฐFlutter์์ Stack์ ์ฌ๋ฌ ์์ ฏ์ ๊ฒน์ณ์ ๋ฐฐ์นํ ์ ์๊ฒ ํด์ฃผ๋ ๋ ์ด์์ ์์ ฏ์ด๋ค. Stack์ด ์ด๋ป๊ฒ ์์ ์ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋์ง ์์ธํ ์์๋ณด์.Stack์ ๊ธฐ๋ณธ ์๋ฆฌStack์ ํฌ๊ธฐ๋ ๊ธฐ๋ณธ์ ์ผ๋ก non-positioned ์์๋ค์ ์ํด ๊ฒฐ์ ๋๋ค. ์ด๋ non-positioned ์์๋ค์ด ์๋ค๋ฉด, Positioned๊ฐ ์ ์ฉ๋ ์์๋ค์ Stack์ ํฌ๊ธฐ ๊ฒฐ์ ์ ์ํฅ์ ์ฃผ์ง ์๊ณ S..
๐ Flutter
๊ฐ์์ผ๋ง ์ ์ ํ๋ฌํฐ๋ก ๋๊ธ๋๊ธํ UI๋ฅผ ๊ฐ๋ฐํ๋ ์ค Stack ๊ตฌ์กฐ์ ์์์์ ฏ๋ค์ ์ํ์ผ๋ก ๋ฐฐ์นํด์ผ ๋๋ ์ผ์ด ์๊ฒผ๋ค.๊ฐ์ฅ ํจ์จ์ ์ธ ์ํ๋ฐฐ์น๋ฅผ ํ๊ธฐ ์ํด์๋ dart:math ํจํค์ง์ ์๋ ์ผ๊ฐํจ์ ๊ธฐ๋ฅ๋ค (sin, cos) ๋ฑ์ ์ฌ์ฉํ ํ์๊ฐ ์์๊ณ , ๊น๋ํ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํ์ ํ๊ฒ ๋์ด์ ๊ณต์ ๋ฅผ ํ๊ณ ์ถ์๋ค.์๋์ ์ฌ์ง์ ๋ด๊ฐ ๊ตฌํํ ์ํ ์คํ ๊ตฌ์กฐ์ ๋ชจ์ต์ด๋ค. ๊ณผ์ผ์ ์ด๋ฆ๋ค์ ๋ฐ์ ๊ฐ ๊ฐ์๋งํผ ์๋์ผ๋ก ์ํ ๋ฐฐ์น๊ฐ ์ด๋ค์ง๋ ๊ตฌ์กฐ๋ค.์ด๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์๋ ์ฐ์ ์ผ๊ฐ๋น์ ๋ํด ์ดํดํ ํ์๊ฐ ์๋ค.์คํ๊ต ๋ ๋ฐฐ์ ๋ ๋ด์ฉ์ด์ง๋ง ์๊ฐ์ด ์ง๋๋ฉด์ ๊ฑฐ์ ๊ธฐ์ต์ด ๋์ง ์์๋๋ฐ, ์ํ ์ขํ๋ฅผ ๊ตฌํํ๊ธฐ ์ํด ์ ๋ฐฉ์ ์์ ์ด์ฉํ๋ค ๋ ์ฌ์ด ๋ฐฉ๋ฒ์ธ ์ผ๊ฐ๋น๋ฅผ ๊ธฐ์ตํด ๋ด๊ฒ ๋์๋ค. ์ผ๊ฐ๋น๋ฅผ ํตํ ๊ณ์ฐ ๊ณต์ ์, ๋ณต์ต์..
MediaQuery์ ๋ํดํ๋ฌํฐ์์๋ MediaQuery๋ผ๋ ํด๋์ค๊ฐ ์กด์ฌํ๋ค.MediaQuery๋ ์ฑ์ด ์คํ ์ค์ธ ์ฅ์น์ ํ๋ฉด์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํ ์ฉ๋๋ก ์ฌ์ฉํ๋ฉฐ ํ๋ฉด์ ์ฌ์ด์ฆ๋ฅผ ํฌํจํ ๋ค์ํ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๊ณ ์๋ค.Flutter์์ ๋ฐ์ํ UI๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์์ด์๋ ์ ๋ ์กด์ฌ์ด๋ฉฐ, ์ด๋ฅผ ์ด์ฉํด ๋ค์ํ UI ๊ธฐ๋ฅ์ ์ ๊ณตํ๋๋ฐ ๋์์ ์ค ์ ์๋ค. MediaQuery ๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ๋คMediaQuery๋ฅผ ์ฌ์ฉํ ๋๋ MediaQuery.of(context).[property] ๋ฅผ ์ด์ฉํด ์ํ๋ ํ๋กํผํฐ๋ฅผ ๊ฐ์ ธ์ ์ฌ์ฉํ ์ ์๋ค.ํ์ฌ 3.24.0 ๊ธฐ์ค์ผ๋ก MediaQuery์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ๋ค. sizewithNoTextScalingwithClampedTextScalingv..
๊ฐ์ํ๋ฌํฐ์์ ํ์งํ(Localization)๋ฅผ ์ ์ฉํ๊ธฐ ์ํ ํจํค์ง๋ ๋ค์ํ๋ค.๊ฐ์ฅ ๋ํ์ ์ผ๋ก ์ฌ์ฉ๋๋ ํจํค์ง์ธ easy_localization๊ณผ ํ๋ฌํฐ ๊ธฐ๋ณธ ํจํค์ง์ธ flutter_localizations๊ฐ ์๋ค (flutter_localization ์๋)๊ทธ๋ฌ๋ ์ค ์ค์๊ฐ ๋ฐ์ํ ์ฑ์ ๊ฐ๋ฐํ๋ค๊ฐ localization์ ์ ์ฉํ์ ๋ ๋งค๋ฒ ์ฑ์ ์ฌ์์ํ๋ค๋ ์ ์ด ๋๋ฅผ ๊ดด๋กญ๊ฒ ํ๋ค.๋ํ ์ธ๋ถ ํจํค์ง๋ฅผ ๋์๋ฐ์์ localization์ ์ ์ฉํ๋ ค๋ ์ฑ์ด ๋ฌด๊ฑฐ์์ง๋ ๋๋๋ ๋๋ ๊ฒ ์ข์ง ์์๋ค.์ด์ฐธ์ ์๋กญ๊ฒ ๊ฐ๋ฐ์ ํ๋ ๊ฒธ ๋๋ ์ธ๋ถํจํค์ง์ ๋์ ์์ด ์ง์ localization์ ์ ์ฉํด ๋ณด์๊ณ ๊ฒฐ์ฌ์ ํ๊ณ , ๊น๋ํ๊ฒ ๋๋ง์ ๋ฐฉ์์ผ๋ก localization์ ์ ์ฉํ๊ฒ ๋์๋ค. ๊ตฌ์ฑFlutter 3.10..
๊ฐ์์ผ๋ฐ์ ์ธ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์๋ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋๋ ์์ฑ์ ํธ์ถ ์ new ํค์๋์ ํจ๊ป ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋ค.Flutter ๋ ์ด์ฐฝ๊ธฐ 1.x ๋ฒ์ ๋น์์๋ง ํด๋ ์ด๋ค ํด๋์ค๋ ์์ฑ์๋ฅผ ํธ์ถํ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ new ํค์๋๋ฅผ ๋ฐ๋์ ๋ถ์์ด์ผ ํ๋ค.ํ์ง๋ง ๋๋ถ๋ถ์ Widget ๋ค์ class๋ก ์ ์ธ๋์ด ์ฌ์ฉ๋๊ณ ์๊ธฐ ๋๋ฌธ์ new ํค์๋์ ์ฆ์ ์ฌ์ฉ์ผ๋ก ์ด๋ฅผ ๋ณด์ํ๊ฒ ๋๋ฉด์ new๋ฅผ ์ฌ์ฉํ์ง ์๋๋ผ๋ ์์ฑ์ ํธ์ถ ์ ์๋์ผ๋ก new ์๋ตํ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๊ฒ ๋์๋ค. (์ผ๋ฐ class๋ ์ ์ฉ๋จ)๊ทธ๋ฌ๋ ๋ง์ฝ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋ฌด์ํ ๋ง์ด ์์ฑํ๊ฒ ๋๋ค๋ฉด ๊ณผ๋ํ ๋ฉ๋ชจ๋ฆฌ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๊ฒ ๋ ๊ฒ์ด๋ค.์ด๋ ์ฑ๊ธํคํจํด์ ๊ฐ์ฒด๋ฅผ ๋ฑ ํ ๋ฒ๋ง ์์ฑํ์ฌ ์ฌ์ฉํ๋๋ก ๋์์ฃผ๋ ํจํด์ด๋ค.๋ํ ์ดํ๋ฆฌ..
๊ฐ์์ด๋ฒ ์ฃผ์ ๋ Flutter web์ ๋น๋ํ ๋ ์ฌ์ฉํ๋ --web-renderer์ ๋ํ์ ์ธ ๋ ๊ฐ์ง ์ต์
html, canvaskit์ ๋ํด ์์๋ณด๋ ค๊ณ ํ๋ค.์ด๋ฒ ์ฃผ์ ์์๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋ ๋๋ฌ๋ฅผ ์ ์ธํ wasm์ ๋ณดํต ๋ ๋๋ฌ๋ผ๊ณ ํ์ง ์์ ์ด๋ฒ ๊ธ์์๋ ๋
ผํ์ง ์๋๋ก ํ๊ฒ ๋ค.์ผ๋ง ์ ์ ํ๋ฌํฐ์ ์ ๋๋ฉ์ด์
์ ์ต๋ํ ํ์ฉํ ํ๋ฌํฐ ์น์ ๋ง๋ค๊ณ ์์๋ค.๊ฐ๋ฐ์ฉ PC์ ์ฑ๋ฅ์ด ์ข์ ์ต๋ํ์ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ๋ชน์ ์๋ฆ๋ค์ด ๋์ ์น์ฌ์ดํธ๋ฅผ ๋ง๋๋ ค๊ณ ํ๋ค.๊ทธ๋ฆฌ๊ณ ์ค๊ฐ์ ๋ ์์ฑ์ ํ ํ ๋ฐฐํฌ ํ
์คํธ๋ฅผ ์ํด ์๋ฒ PC์ ์๋ Nginx๋ฅผ ์ด์ฉํด ๋ฐฐํฌ๋ฅผ ํ๋ค. ์์๋๋ก ๋ด๊ฐ ์ฃผ๋ก ์ฌ์ฉํ๋ ๋งฅ๋ฏธ๋์์ ๋ฐฐํฌ๋ ์น์ฌ์ดํธ๋ก ์ ๊ทผํ์ ๋ ๊ฐ๋ฐํ ๋์ ๊ฐ์ ๋ชจ์ต์ผ๋ก ์ ๋ ๋๋ง์ด ๋์๋ค.ํ์ง๋ง ๋ด๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ธฐ๊ธฐ ์ค ์ฑ..