1. Flutter(ํ๋ฌํฐ)๋ ๋ฌด์์ธ๊ฐ?
flutter(ํ๋ฌํฐ)๋ ๋ฌด์์ผ๊น?
Google์์ 2017๋ 5์์ ์ถ์ํ ์คํ ์์ค UI ์ํํธ์จ์ด ๊ฐ๋ฐ ํคํธ๋ก, ๋ค์ํ ํ๋ซํผ์์ ๋์ํ๋ ๊ณ ํ์ง์ ๋ค์ดํฐ๋ธ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค. Android ๋ฐ iOS๋ฟ๋ง ์๋๋ผ ์น ๋ฐ ๋ฐ์คํฌํฑ ์ฑ๋ ์ง์ํ๋ ๋ค์ค ํ๋ซํผ ํ๋ ์์ํฌ
ํฌ๋ก์ค ํ๋ซํผ์ด๋?
ํฌ๋ก์ค ํ๋ซํผ(Cross-platform)์ด๋ ์ฌ๋ฌ ํ๋ซํผ ๋๋ ์ด์ ์ฒด์ ์์ ๋์ผํ ์ํํธ์จ์ด๋ ๊ธฐ์ ์ด ๋์ํ๊ฑฐ๋ ์ฌ์ฉ๋ ์ ์๊ฒ ํ๋ ํ๋ซํผ์ด๋ค. ๋ค์ํ ์ข ๋ฅ์ ํ๋ซํผ์ด ์์ ๋, ํน์ ์ํํธ์จ์ด๋ ๊ธฐ์ ์ด ์ด๋ฌํ ํ๋ซํผ๋ค ๊ฐ์ ํธํ์ฑ์ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ด ํฌ๋ก์ค ํ๋ซํผ์ด๋ค.
2. Dart๋?
Flutter์ ํต์ฌ ์ธ์ด๋ Dart์ด๋ค. Dart๋ ์ง๊ด์ ์ธ ์ธ์ด๋ก, JIT(Just-In-Time) ์ปดํ์ผ๋ฌ์ AOT(Ahead-Of-Time) ์ปดํ์ผ๋ฌ๋ฅผ ๋ชจ๋ ์ง์ํ์ฌ ๋น ๋ฅธ ๊ฐ๋ฐ๊ณผ ํจ์จ์ ์ธ ์คํ์ ๋์์ ์ ๊ณตํด์ค๋ค. Dart๋ ๊ฐ์ฒด์งํฅ ๋ฐ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ง์ํ, ๋๋ฆ๋๋ก ๊ด์ฐฎ์ ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ์ ์ ๊ณตํด์ค๋ค. ๋ฌด์๋ณด๋ค๋ ๊ฐ์ google์์ ๋์จ ์ธ์ด๋ผ Flutter์ ํธํ์ฑ์ด ๊ต์ฅํ ์ข๋ค!
๊ฐ๋จํ๊ฒ Hello, Wolrd! ๋ฅผ ์ถ๋ ฅํ๋ ์ฝ๋๋ฅผ ๋ํ๋ด์๋ฉด
void main() {
print("Hello, Wolrd!");
}
์ด๋ ๊ฒ ์์ฑํ๋ฉด ๋๋ค.
3. Flutter์ ์ฅ์
์ฝ๊ฒ ๊ทธ๋ฆด์ ์๋ UI
Flutter๋ ํ๋ถํ ๋์์ธ ์์์ ์๋ฆ๋ค์ด ์ ๋๋ฉ์ด์ ์ ์์ฝ๊ฒ ๊ตฌํํ ์ ์๋ ๊ฐ๋ ฅํ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ณตํด์ฃผ๋๋ฐ, ์ด๋ ์ฑ์ด ๊ฐ ํ๋ซํผ์์ ์ผ๊ด๋ ์ธ๊ด์ ์ ์งํ๊ฒ ํด์ค๋ค. ๋ค์ํ ์์ ฏ๊ณผ ํ ๋ง๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ์๋ UI๋ฅผ ์ฝ๊ฒ ๊ตฌ์ฑ์ด ๊ฐ๋ฅํ๋ค!
Flutter์์๋ Material Design ๋ฐ Cupertino ์คํ์ผ์ ์์ ฏ์ ํ์ฉํ์ฌ Android์ iOS ํ๋ซํผ์์ ๊ฐ๊ฐ์ ๋ค์ดํฐ๋ธ ๋์์ธ์ ๋ง๋ UI๋ฅผ ๋ง๋ค ์ ์๋ค.
๋น ๋ฅธ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ Hot Reload
Hot Reload๋ ์ฑ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ค์๊ฐ์ผ๋ก ๋ฐ์ํ ์ ์๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ ์์ํ์ง ์๊ณ ๋ ์ฝ๋ ์์ ์ฌํญ์ด ์ฆ์ ํ๋ฉด์ ์ ์ฉ๋๊ณ , Flutter๋ก ์ฑ์ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ๊ฒ ํ๋ ํฐ ์ฅ์ ์ค ํ๋์ด๋ค. Hot Reload๋ ๋๋ฒ๊น ์๊ฐ์ ์ต์ํํด์ ํจ์จ์ ์ด๊ฒ ๊ฐ๋ฐํ ์ ์๊ฒ ๋์์ค๋ค!
์ฑ์ ์์, ๋ ์ด์์, ํ ์คํธ ๋ฑ์ ์์ ํ๊ณ ์ถ์ ๋๋ง๋ค ์ฑ์ ์ฌ์์ํ์ง ์๊ณ , Hot Reload๋ฅผ ํตํด ๋ณ๊ฒฝ ๋ด์ฉ์ ์ฆ์ ํ์ธํ ์ ์๋ค.
๋ค์ค ํ๋ซํผ์์์ ๋จ์ผ ์ฝ๋๋ฒ ์ด์ค
์๊น ์์์ ํฌ๋ก์คํ๋ซํผ์ ๋ํด์ ์ค๋ช ํ๋ฏ์ด, Flutter๋ ๋ค์ํ ํ๋ซํผ์์ ๋์ผํ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ ํฌ๋ก์ค ํ๋ซํผ ํ๋ ์์ํฌ์ด๋ค. ํ๋์ ์ฝ๋๋ก Android์ iOS ์ฑ์ ๊ฐ๋ฐํ ์ ์์ ๋ฟ๋ง ์๋๋ผ, ์น ๋ฐ ๋ฐ์คํฌํฑ ์ฑ๊น์ง ์ง์ํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ ๋น์ฉ ๋ํ ์ค์ฌ์ฃผ๊ณ , ํ๋ซํผ ๊ฐ์ ์ผ๊ด์ฑ์ ์ ์งํ ์ ์๋ค!
Flutter๋ก ๊ฐ๋ฐ๋ ์ฑ์ ๋์ผํ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๊ณต์ ํ๋ฉด์ Android์ iOS์์ ์คํ๋๋ฉฐ, ํ์์ ๋ฐ๋ผ ์น ๋๋ ๋ฐ์คํฌํฑ ํ๋ซํผ์ผ๋ก๋ ํ์ฅํ ์ ์๋ค.
4.๋ง์น๋ฉฐ
๋ค์ flutter์ ๋ํด์ ์ ๋ฆฌํ๋ฉด์ ๋๋๊ฑฐ์ง๋ง, ์ฐธ ์ข์ ๊ธฐ์ ์คํ์ธ๊ฑฐ ๊ฐ์ต๋๋ค. ํ๊ตญ์์๋ ๋์ฑ ๋ ๋ง์ด ์ฐ์์ผ๋ฉด ์ข๊ฒ ๋ค!! ๋ผ๋ ์๊ฐ์ด ๋ง์ด ๋๋ค์. ๋ค์ ๋ธ๋ก๊ทธ์์๋ Dart ๋ฌธ๋ฒ ๊ธฐ์ด๋ฅผ ์ ๋ฆฌํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
'๐ป ๊ฐ๋ฐ > Flutter' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Flutter] android studio์์ Flutter ํ๋ก์ ํธ ๋ง๋ค๊ธฐ (0) | 2024.05.29 |
|---|---|
| [Flutter] MissingPluginException(No implementation found for method initialise on channel flutter.stripe/payments) (0) | 2024.05.29 |
| [Flutter] ์ฐ์ฐ (0) | 2024.05.27 |
| [Flutter] ๋ณ์ (0) | 2024.05.27 |
| [Flutter] ์ ์ ํ์ดํ ๊ฐ๋ฐ์ด๋? (2) | 2024.05.24 |