๊ธฐ์ด๊ฐ ์ ์ค์ํ ๊น์? ์ ๋ ์ธ๊ฐ์ ๋ถ์์ ํ ๊ธฐ์ต๋ ฅ์ด ๊ทธ ์ด์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ์๋ฌด๋ฆฌ ๋๋ํด๋ ๋ชจ๋ ๊ฒ์ ๊ธฐ์ตํ ์๋ ์์ต๋๋ค. ๋ํ ์ ๋ง์ ์ ๋ณด๋ฅผ ์ ๋ถ ๊ธฐ์ตํ๋ ๊ฒ์ ๋นํจ์จ์ ์ด๊ธฐ๋ ํ์ฃ . ์ธ๊ฐ์ ๊ฒฝํ๊ณผ ์ง์ ์ฆ ๊ธฐ์ต์ ๋ฐํ์ผ๋ก ์๊ฐํ๊ณ ํ๋ํฉ๋๋ค. ๊ทธ๋ ๊ธฐ์ ์ฐ๋ฆฌ๋ ๊ณต๋ถํ๊ณ ์ฐ์ตํ๋๊ฑฐ์ฃ . ์ ๋ง์ ํญ๋ชฉ ์ค์ ๋ฌด์์ ๊ธฐ์ตํด์ผ ํ ๊น์? ๊ธฐ์ด๊ฐ ์ด์ ๋ํ ๋ต์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ ๊ฐ ์๊ฐํ๋ ๊ธฐ์ด๋ "๊ฐ์ฅ ๋จผ์ ๊ธฐ์ตํด์ผํ๊ณ ์ตํ์ผํ๋ ๋์" ์ ๋๋ค. ์ ๋ ์ด๋ฒ ์๋ฆฌ์ฆ๋ฅผ ์งํํ๋ฉด์ flutter ๋ฅผ ๊ณต๋ถํ ๋ ๊ฐ์ฅ ๋จผ์ ๊ธฐ์ตํด์ผ ํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ฒ ์ ๋๋ค. ์ค๋์ ์ฃผ์ ๋ "Flutter์ ๊ณผ๊ฑฐ, ํ์ฌ, ๋ฏธ๋" ์ฆ Flutter์ ์ญ์ฌ ์ ๋๋ค. ์ด๋ฒ๊ธ์ ์๋์ ์๋ฃ๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑ๋์ต๋๋ค.
- [๋ฒ์ญ] Flutter๋ ์ ํ๋ช ์ ์ธ๊ฐ? - Dan Kim
- [์๋ณธ] What's Revolutionary about Flutter - Wm Leler
- Why Flutter doesn't use OEM widgets - xster
์ด ๊ธ์์ ์์๋ณผ ๋ด์ฉ
- flutter ์ ๊ณผ๊ฑฐ
- flutter ์ ํ์ฌ
- flutter ์ ๋ฏธ๋
Flutter ์ ๊ณผ๊ฑฐ
Flutter ๊ฐ ํ์ํ ์์ ์ ์ฑ ๊ฐ๋ฐ ๊ธฐ์ ๋ค์ ์ดํด๋ด ์๋ค. 3๊ฐ๊ฐ ๊ฐ์ฅ ์ฐ์ธํจ์ ๋ณด์๋๋ฐ์
- android
- ios
- RN
Native ๋ค์ ๋น ๋ฅด์ง๋ง ํ๋ซํผ ์ข ์์ ์ด์๊ณ . RN ์ ํ๋ซํผ์์ ์์ ๋ก์ ์ง๋ง ์๋๊ฐ ๋๋ ธ์ต๋๋ค. ์ด๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ์ด์ ๋ OEM Widgets ๋๋ฌธ์ด์์ต๋๋ค. OEM Widgets ๋ Native ํ๊ฒฝ์์ ์์ฑ๋๋ UI ๋ผ๊ณ ์๊ฐํ์๋ฉด ํธํฉ๋๋ค. ์๋ฅผ ๋ค์ด IOS ์์๋ BottomSheet ๋ฅผ ์ฌ์ฉํ์ง๋ง Android ์์๋ BottomNavigationView ๋ฅผ ์ฌ์ฉํ์ฃ . React Native๋ Bridge ๋ฅผ ์ฌ์ฉํด์ OEM Widgets ๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ๋ค์์ ๊ฐ๊ฐ Native, RN ์ ๊ฐ๋ฐ ํ๊ฒฝ์ ๋๋ค.
ํ์ง๋ง Flutter ๋ ์ด OEM Widgets ๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ณผ๊ฐํ ์ ํ์ ํ์ต๋๋ค. Flutter ๋ ์ด ๋ฌธ์ ๋ฅผ Dart ๋ฅผ ์ฌ์ฉํ๋ฉด์ ํด๊ฒฐํ๋๋ฐ์. RN ์์ ๋ธ๋ฆฟ์ง๊ฐ ํ์ํ๋ ์ด์ ๋ JS ์ JAVA, Kotlin ๊ฐ์ ์ธ์ด๊ฐ๊ทน ๋๋ฌธ์ด์์ต๋๋ค. JAVA, Kotlin ์ผ๋ก ์๋๋๋ OEM Widgets ๋ฅผ JS ๋ก ๊ฐ์ ธ์ ์ฌ์ฉํ๋ ค๋ฉด ๋ธ๋ฆฟ์ง๋ฅผ ์ด์ฉํด์ผ ํ๋ ๊ฒ์ด์ฃ . ํ์ง๋ง Flutter ๊ฐ ์ฑํํ Dart๋ ahead of time (AOT) ๋ฅผ ํตํด ๊ฐ๊ฐ ํ๋ซํผ์ ๋ค์ดํฐ๋ธ๋ก ์ปดํ์ผ ๋ฉ๋๋ค. ์ด ๋ถ๋ถ์ ๋ฐ๋์ ์ดํดํ๋ ค ํ์ง ์์๋ ๋ฉ๋๋ค. ๊ทธ๋ฅ Dart ๊ฐ AOT ๋ฅผ ํตํด์ ๊ฐ ํ๋ซํผ์ ๋ค์ดํฐ๋ธ๋ก ์ปดํ์ผ ํด์ฃผ๋๊ตฌ๋ ์ ๋๋ฉด ์ถฉ๋ถํฉ๋๋ค. Flutter ๋ ์ด๋ฐ ๋ฐฉ๋ฒ์ ํตํด ๋ธ๋ฆฟ์ง๋ฅผ ์์๊ณ ์ฑ๋ฅ์ ํ๋ณดํ์์ต๋๋ค. ๊ทธ๋ ๋ค๊ณ ํด์ ๋์ฝ๋ฉ ์ธ์ฝ๋ฉ ์์ ์ด ์์ด์ง ๊ฒ์ ์๋๋๋ค. ์ฌ์ ํ ํด๋น ์์ ์ ์กด์ฌํ์ง๋ง ๊ทธ ์ฑ๋ฅ์ JS ๋ธ๋ฆฟ์ง ๋ณด๋ค ํจ์ฌ ๋ ๋น ๋ฆ ๋๋ค. ๋ค์์ Flutter ์ ์๋ ํ๊ฒฝ์ ๋๋ค.
์ด๊ฒ์ด Flutter ๊ฐ ๋์จ ์์ ์ ์ด์ผ๊ธฐ๊ณ . Flutter ๊ฐ ํน๋ณํ ์ด์ ์ ๋๋ค. ์๋ง ๊ตฌ๊ธ์ Fuchsia ๋ฅผ Desktop, Mobile ๋ฑ ์ฌ๋ฌ๊ฐ์ง ํ๋ซํผ์ ํ ๋ฒ์ ์ง์ํ๋ ค๋ ๋ฏ ํฉ๋๋ค. ๊ทธ๋ ๊ธฐ์ ํ๋ซํผ ์ข ์์ ์ธ SDK ๋ฅผ ๊ฐ๋ฐํ๋ ๊ฒ์ด ์๋๋ผ. ์ฌ๋ฌ ํ๊ฒฝ์์ ์๋ํ ์ ์๋ SDK ๋ฅผ ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ๋ฌผ์ด Flutter ์ด๊ณ ๋ง์ ๋๋ค. ๊ทธ ์ฆ๊ฑฐ๋ก Flutter Release Note ์์ ๊ทธ๋ฐ ์๋๊ฐ ๊ณ์ ๊ด์ธก๋๊ณ ์์ต๋๋ค. ์๊ฐ์ ํ๋ฆ์ ๋ฐ๋ผ ๊ณ์ ๊ฐ๋ด ์๋ค.
Flutter ์ ํ์ฌ
Flutter ์ ํ์ฌ๋ ํฌ๊ฒ ๋ ๊ฐ์ง ๋ถ๋ถ์ผ๋ก ๋ถ์ํด๋ณผ ์ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ๋ ๊ธฐ์ ์ ์ธ ๋ถ๋ถ์ด๊ณ ๋ ๋ฒ์งธ๋ ์์ฅ์ ๋ํ ๋ถ๋ถ์ ๋๋ค. ๊ฐ๊ฐ ์ฐจ๊ทผํ ์์๋ด ์๋ค.
๊ธฐ์ ์ ๋ถ๋ถ
Flutter ์ ๊ธฐ์ ์ ์ธ ๋ถ๋ถ์ Flutter 2.0 ์ ํตํด ์ค๋ช ๋ฉ๋๋ค. Flutter ๋ 2021๋ 4์๊ฒฝ์ Flutter 2.0 ์ Release ํ์ต๋๋ค. ํต์ฌ ๋ด์ฉ์ ๋ค์ ํค์๋์ ๊ฐ์ต๋๋ค. Desktop, Web, Null-Safety, Dev-tools, ์ฑ๋ฅ ์ ๋๋ค. ๋ค์ํ ํ๋ซํผ์ ์ง์ํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ . ๊ทธ ๊ฒฐ๊ณผ๋ฌผ๋ก ๋ค์ํ ์ด์์ฒด์ ์ Desktop ๊ณผ Web ์ ์ง์ํ๊ฒ ๋์ต๋๋ค. ๋ํ Flutter ๋ ์์ ์ ์ธ SDK ๋ก ๋ฒ๊ธ๊ฐ๋๋ก ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ๊ธฐ์กด์ Flutter ๋ ๋ถ์์ ํ๋ค๋ ์๊ฒฌ๋ค์ด ๋ง์์ต๋๋ค. ์ปค๋ฎค๋ํฐ๋ ์์๊ณ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ ์์ต๋๋ค. ํนํ ์์์น ๋ชปํ ๋ฒ๊ทธ๋ ์ ๋ช ์ด ์์ํ์ต๋๋ค. ํ์ง๋ง Null-Safety, Dev-tools, ์ฑ๋ฅ์ ๊ดํ ๊พธ์คํ ์ ๋ฐ์ดํธ๋ก ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด๋๊ฐ๊ณ ์์ต๋๋ค. flutter ๊ธฐ์ ์ ํ์ฃผ์๋ฅผ ๋ณด๊ณ ์ถ์ผ์ ๋ถ๋ค์ ์๋ ์๋ฃ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์์ฅ์ ๋ํ ๋ถ๋ถ
ํ์ฌ Flutter ์ ํฌ๋ก์ค ํ๋ซํผ ์ ์ ์จ์ 42% ์ ๋๋ค. 2์์ธ RN ์ 38% ๋ก 4% ์ฐจ์ด๋ก 1์๋ฅผ ์ ์ ํ๊ณ ์์ต๋๋ค. 2019 ๋ Flutter ๊ฐ 30% ์ ์ ์ ์จ์ RN ์ด 42 % ์ ์ ์ ์จ์ ๊ฐ์ง๊ณ ์์๋์ ๋น๊ตํ๋ฉด ์์ฒญ๋ ์ฑ์ฅ์ ๋๋ค. Flutter ๊ฐ ์์ฅ์์ ์์ ์ ์ผ๋ก ์๋ฆฌ ์ก์๊ฐ๊ณ ์์์ ์ ์ ์์ต๋๋ค. ์ด์ ์ฐ๋ฆฌ๊ฐ ๊ด์ฌ์ ๊ฐ์ ธ์ผ ํ ๋ถ๋ถ์. Flutter ๊ฐ Desktop ์์ฅ๊ณผ Web ์์ฅ์์๋ ์ด๋ป๊ฒ ์๋ฆฌ๋ฅผ ์ก์๊ฐ์ง ์ ๋๋ค. ์์ง์ Flutter 2.0 ์ด ์ถ์๋์ง 1๋ ๋ ์์ง๋ฌ๊ธฐ ๋๋ฌธ์ ์์ฅ์ ๋ํ ์ด์ผ๊ธฐ๋ ์๊ธฐ์์กฐ์ด์ง๋ง. ํ๋์ ์ฝ๋๋ก Web, App, Desktop ์ ๋ถ ์ง์ํ๋ ์์ ์ด ์ฌ์ง ์์ธกํด๋ณด๋ ๊ฒ๋ ํฅ๋ฏธ๋ก์ด ์ผ์ผ ๊ฒ ์ ๋๋ค.
Flutter ์ ๋ฏธ๋
์ ์๊ฐ์ Flutter ์ ๋ฏธ๋๋ ๊ฒฐ๊ตญ Fuchsia ๋ผ๊ณ ์๊ฐํฉ๋๋ค. ํด๋ผ์ด์ธํธ ๊ฐ๋ฐ ํจ๋ฌ๋ค์์ ๋ฐ๊ฟ ์ ์๋ ์ญ์ฌ์ ์ธ ์๊ฐ์ด ๋ ๊น์? ํ์์ ์๋ Flutter ์ Release Note ์์๋ Fuchsia ์ ๊ด๋ จ๋ ์ ๋ฐ์ดํธ๊ฐ ์ง์์ ์ผ๋ก ํฌํจ๋๊ณ ์์ต๋๋ค. ๋ฌด์์ด ๊ณ์ ์ ๋ฐ์ดํธ ๋๋์ง ์ด๋ป๊ฒ ํ๋ฌ๊ฐ์ง ์์ธกํด๋ณด๋ ๊ฒ๋ ์๋นํ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
๋ง๋ฌด๋ฆฌํ๋ฉด์
์ ๋ Flutter ์ ์ญ์ฌ์ ๋ฏธ๋์ ๋ํ ๊ณ ์ฐฐ์ด ๊ฐ์ฅ ๋จผ์ ์ตํ์ผ ํ ๊ธฐ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ด๊ฒ๋ค์ ์ง๊ธ ๋น์ฅ ๊ฐ๋ฐํ๋๋ฐ์๋ ๊ด๋ จ ์์์ง ๋ชจ๋ฅด์ง๋ง. ์์ผ๋ก ๊ณต๋ถํ ๋ ๋ณด๋ค ๊น์ ์ดํด๋ฅผ ์ํ ์ด์์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ ๊ธฐ์ ์ ๋ ๊ธฐ์ด ์๋ฆฌ์ฆ์ ์ฒซ ๋ฒ์งธ ๊ธ์ Flutter ์ ์ญ์ฌ๋ก ํํ๊ณ . ๊ทธ ๊ฒฐ๊ณผ๋ฌผ์ด ์ด ๊ธ์ ๋๋ค. ์ฌ๋ฌ๋ถ๋ค์ด ์๊ฐํ๊ธฐ์ Flutter ๋ฅผ ๊ณต๋ถํ ๋ ๊ฐ์ฅ ๋จผ์ ๊ณต๋ถํด์ผ ํ๋ ์ฃผ์ ๊ฐ ๋ฌด์์ธ๊ฐ์. ์ฌ๋ฌ๋ถ๋ค์ ์๊ฒฌ์ ๋๊ธ์ ๋จ๊ฒจ์ฃผ์ธ์.
'Flutter' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Flutter ๊ธฐ์ด - 2ํ : ํ๋ฉด์ ๊ทธ๋ ค์ง๋ ๋ชจ๋ ๊ฒ์ ์์ ฏ์ด๋ค (0) | 2022.02.12 |
---|---|
Flutter BLoC ๊ฟํ - 1ํ : BlocProvider ๋ฐฑ๋ฐฐ ์ฌ์ฉํ๊ธฐ (0) | 2022.01.21 |
Flutter Web 1ํ : ๊ตฌ๊ธ ์ฝ๋๋ฉ ๊ตฌํ (0) | 2021.07.20 |
Flutter Null Safety๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ์ด์ (0) | 2021.07.02 |
Flutter์์ Webview(์น๋ทฐ) ์ฌ์ฉํ๊ธฐ (0) | 2021.07.01 |