[๐ป] ๊ณต๋ถ - Flutter ์ฑ ๊ฐ๋ฐ ๊ธฐ์ด 14/44๊ฐ: Flutter ํ๊ฒฝ ์ธํ , ํต์ฌ ์์ ฏ, Dart ๊ธฐ๋ณธ ๋ฌธ๋ฒ
โจ Gemini 2.5 Pro์ ์์ฝ ใ
Flutter ์ฑ ๊ฐ๋ฐ ๊ธฐ์ด ๊ฐ์ DevStory - ์ธํ๋ฐ DevStory , ๊ฐ๋ฐ ์ง์์ด ์์ด๋ ๊ด์ฐฎ์์!์ ๋ฌธ์๋ ํ ์ ์๋ Flutter ์ฑ ๊ฐ๋ฐ ๊ธฐ์ด ๐โโ๏ธ์์ด๋ณด๋ ๋ฐฐ์ธ ์ ์๋Flutter ์ฑ ๊ฐ๋ฐ ๊ธฐ์ด[์ฌ์ง]์ฑ ๊ฐ๋ฐ์ ๋ฐฐ์ฐ๋ฉด ๊ทธ๋์ ์์๋ง ํด์ค๋ ๋๋ง์ ์ฑ ์๋น์ค๋ฅผ ์ ์ธ๊ณ์ ์ถ์ํ ์ ์์ด์. ์ฌ์ค
- ์๋ฌธ: http://blog.naver.com/hyeogikarp/223882864462
- ๋ค์ด๋ฒ ๋ฐํ ์๊ฐ: 2025/05/30 11:30 KST
- ์๋ฌธ ์นดํ ๊ณ ๋ฆฌ: ๊ฐ๋ฐ ๊ณต๋ถ
์๋ฌธ
| Flutter ์ฑ ๊ฐ๋ฐ ๊ธฐ์ด ๊ฐ์ | DevStory - ์ธํ๋ฐ |
| DevStory | , ๊ฐ๋ฐ ์ง์์ด ์์ด๋ ๊ด์ฐฎ์์!์ ๋ฌธ์๋ ํ ์ ์๋ Flutter ์ฑ ๊ฐ๋ฐ ๊ธฐ์ด ๐โโ๏ธ์์ด๋ณด๋ ๋ฐฐ์ธ ์ ์๋Flutter ์ฑ ๊ฐ๋ฐ ๊ธฐ์ด[์ฌ์ง]์ฑ ๊ฐ๋ฐ์ ๋ฐฐ์ฐ๋ฉด ๊ทธ๋์ ์์๋ง ํด์ค๋ ๋๋ง์ ์ฑ ์๋น์ค๋ฅผ ์ ์ธ๊ณ์ ์ถ์ํ ์ ์์ด์. ์ฌ์ค ์ฑ์ ๋ง๋๋ |
www.inflearn.com
- Flutter ๋?
-
ํฌ๋ก์ค ํ๋ซํผ ํ๋ ์์ํฌ: Google์์ ๊ฐ๋ฐํ์ผ๋ฉฐ, ํ๋์ ์ฝ๋ ๋ฒ ์ด์ค๋ก Android, iOS, Web, Desktop ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ๋ค.
-
Dart ์ธ์ด ์ฌ์ฉ: UI๋ฅผ ์ฝ๋๋ก ์์ฑํ๋ค.
- ํต์ฌ ์ปจ์ : ๋ชจ๋ ๊ฒ์ ์์ ฏ (Widget)
-
UI ๊ตฌ์ฑ ๋จ์: ์์ ฏ์ ์กฐ๋ฆฝํ์ฌ ํ๋ฉด์ ๊ตฌ์ฑํ๋ค.
-
์์ ฏ ํธ๋ฆฌ (Widget Tree): ์์ ฏ๋ค์ ๊ณ์ธต ๊ตฌ์กฐ๋ก, ๋ถ๋ชจ-์์ ๊ด๊ณ๋ก ๊ตฌ์ฑ๋๋ค.
-
Key? key์ super(key: key): ์์ ฏ ์์ฑ์์์ Key๋ ์์ ฏ ํธ๋ฆฌ๊ฐ ์ฌ๊ตฌ์ฑ๋ ๋ ์์ ฏ์ ์ํ๋ฅผ ๋ณด์กดํ๊ณ ํจ์จ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ํ์ฌ ๋จ๊ณ์์๋ ์ด๋ฌํ ๊ฐ๋ ์ด ์๋ค๋ ์ ๋๋ก ์ดํดํ๋ฉด ์ถฉ๋ถํ๋ค.
-
BuildContext context: ์์ ฏ ํธ๋ฆฌ์์ ํ์ฌ ์์ ฏ์ ์์น๋ฅผ ๋ํ๋ด๋ฉฐ, ์์ ์์ ฏ์ ๋ฐ์ดํฐ๋ ํ ๋ง์ ์ ๊ทผํ ์ ์๊ฒ ํ๋ ์ค์ํ ๊ฐ์ฒด์ด๋ค. Navigator.pop(context)์ ๊ฐ์ด ๋ค์ํ ๊ณณ์์ ํ์ฉ๋๋ค.
-
์ฃผ์ ์์ ฏ ๋ถ๋ฅ:
-
StatelessWidget: ์ํ๊ฐ ์๋ ์ ์ ์ธ ์์ ฏ์ด๋ค.
-
StatefulWidget: ์ํ ๋ณํ์ ๋ฐ๋ผ ๋ค์ ๊ทธ๋ ค์ง ์ ์๋ ๋์ ์ธ ์์ ฏ์ด๋ค. (์ฝ๋ ์์ ์๋ต)
-
StatefulWidget: ์ํ ๋ณํ์ ๋ฐ๋ผ ๋ค์ ๊ทธ๋ ค์ง ์ ์๋ ๋์ ์ธ ์์ ฏ์ด๋ค. (์ฝ๋ ์์ ์๋ต)
- ๊ธฐ๋ณธ์ ์ธ ์ฑ ๊ตฌ์กฐ ๋ฐ ์ฃผ์ ์์ ฏ
-
main() ํจ์ & runApp() & MaterialApp & Scaffold:
-
MaterialApp์ home: ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒซ ํ๋ฉด์ ์ง์ ํ๋ค. (์: home: HomePage())
-
MaterialApp์ home: ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฒซ ํ๋ฉด์ ์ง์ ํ๋ค. (์: home: HomePage())
-
AppBar ์์ธ ์์ฑ:
-
๋ ์ด์์ ์์ ฏ:
-
Column & Row:
-
Padding: ์์ ์์ ฏ ์ฃผ๋ณ์ ์ฌ๋ฐฑ์ ์ถ๊ฐํ๋ค.
-
Padding: ์์ ์์ ฏ ์ฃผ๋ณ์ ์ฌ๋ฐฑ์ ์ถ๊ฐํ๋ค.
-
Container: ๋ค์ํ ์คํ์ผ๋ง(ํฌ๊ธฐ, ์์, ์ฌ๋ฐฑ, ํ ๋๋ฆฌ ๋ฑ)์ด ๊ฐ๋ฅํ ์ฌ๊ฐํ ์์ ฏ์ด๋ค.
-
Container: ๋ค์ํ ์คํ์ผ๋ง(ํฌ๊ธฐ, ์์, ์ฌ๋ฐฑ, ํ ๋๋ฆฌ ๋ฑ)์ด ๊ฐ๋ฅํ ์ฌ๊ฐํ ์์ ฏ์ด๋ค.
-
Expanded: Row๋ Column์ ์์ ์์ ฏ์ด ๋จ์ ๊ณต๊ฐ์ ์ฑ์ฐ๋๋ก ํ์ฅ์ํจ๋ค.
-
Expanded: Row๋ Column์ ์์ ์์ ฏ์ด ๋จ์ ๊ณต๊ฐ์ ์ฑ์ฐ๋๋ก ํ์ฅ์ํจ๋ค.
-
SingleChildScrollView: ์์ ์์ ฏ์ ๋ด์ฉ์ด ํ๋ฉด์ ๋ฒ์ด๋ ๊ฒฝ์ฐ ์คํฌ๋กค ๊ฐ๋ฅํ๊ฒ ํ๋ค.
-
SingleChildScrollView: ์์ ์์ ฏ์ ๋ด์ฉ์ด ํ๋ฉด์ ๋ฒ์ด๋ ๊ฒฝ์ฐ ์คํฌ๋กค ๊ฐ๋ฅํ๊ฒ ํ๋ค.
-
ListView.builder: ๋ง์ ์์ ์์ดํ ์ ํจ์จ์ ์ผ๋ก ํ์ํ๋ ์คํฌ๋กค ๊ฐ๋ฅํ ๋ชฉ๋ก์ ๋ง๋ ๋ค. ํ๋ฉด์ ๋ณด์ด๋ ์์ดํ ๋ง ์์ฑํ๋ค.
-
ListView.builder: ๋ง์ ์์ ์์ดํ ์ ํจ์จ์ ์ผ๋ก ํ์ํ๋ ์คํฌ๋กค ๊ฐ๋ฅํ ๋ชฉ๋ก์ ๋ง๋ ๋ค. ํ๋ฉด์ ๋ณด์ด๋ ์์ดํ ๋ง ์์ฑํ๋ค.
-
Stack: ์์ ฏ๋ค์ ๊ฒน์ณ์ ๋ฐฐ์นํ ์ ์๊ฒ ํ๋ค (Z์ถ).
-
Stack: ์์ ฏ๋ค์ ๊ฒน์ณ์ ๋ฐฐ์นํ ์ ์๊ฒ ํ๋ค (Z์ถ).
-
AspectRatio: ์์ ์์ ฏ์ ๊ฐ๋ก ์ธ๋ก ๋น์จ์ ๊ณ ์ ์ํจ๋ค.
-
AspectRatio: ์์ ์์ ฏ์ ๊ฐ๋ก ์ธ๋ก ๋น์จ์ ๊ณ ์ ์ํจ๋ค.
-
double.infinity: Container ๋ฑ์ width๋ height ์์ฑ์ ์ฌ์ฉ๋์ด, ๋ถ๋ชจ ์์ ฏ์ด ํ์ฉํ๋ ์ต๋ ํฌ๊ธฐ๋ก ์ฑ์ฐ๋๋ก ํ๋ค.
-
double.infinity: Container ๋ฑ์ width๋ height ์์ฑ์ ์ฌ์ฉ๋์ด, ๋ถ๋ชจ ์์ ฏ์ด ํ์ฉํ๋ ์ต๋ ํฌ๊ธฐ๋ก ์ฑ์ฐ๋๋ก ํ๋ค.
-
SizedBox: ํน์ ํฌ๊ธฐ์ ๋น ๊ณต๊ฐ์ ๋ง๋ค๊ฑฐ๋, ์์ ์์ ฏ์ ํฌ๊ธฐ๋ฅผ ๋ช ์์ ์ผ๋ก ์ง์ ํ ๋ ์ฌ์ฉํ๋ค.
-
SizedBox: ํน์ ํฌ๊ธฐ์ ๋น ๊ณต๊ฐ์ ๋ง๋ค๊ฑฐ๋, ์์ ์์ ฏ์ ํฌ๊ธฐ๋ฅผ ๋ช ์์ ์ผ๋ก ์ง์ ํ ๋ ์ฌ์ฉํ๋ค.
-
๊ธฐ๋ณธ UI ์์ ฏ:
-
Text & TextStyle: ํ ์คํธ๋ฅผ ํ์ํ๊ณ ์คํ์ผ์ ์ง์ ํ๋ค.
-
Image.network: ๋คํธ์ํฌ URL๋ก๋ถํฐ ์ด๋ฏธ์ง๋ฅผ ๋ก๋ํ์ฌ ํ์ํ๋ค.
-
Image.network: ๋คํธ์ํฌ URL๋ก๋ถํฐ ์ด๋ฏธ์ง๋ฅผ ๋ก๋ํ์ฌ ํ์ํ๋ค.
-
fit: BoxFit.cover: ์ด๋ฏธ์ง๊ฐ ๋น์จ์ ์ ์งํ๋ฉด์ ์ง์ ๋ ๊ณต๊ฐ์ ๊ฝ ์ฑ์ฐ๋๋ก ํ๋ค. (๊ณต๊ฐ๋ณด๋ค ์ด๋ฏธ์ง๊ฐ ํฌ๋ฉด ์๋ฆด ์ ์๋ค)Icon: ๋จธํฐ๋ฆฌ์ผ ๋์์ธ ์์ด์ฝ์ ํ์ํ๋ค.
-
fit: BoxFit.cover: ์ด๋ฏธ์ง๊ฐ ๋น์จ์ ์ ์งํ๋ฉด์ ์ง์ ๋ ๊ณต๊ฐ์ ๊ฝ ์ฑ์ฐ๋๋ก ํ๋ค. (๊ณต๊ฐ๋ณด๋ค ์ด๋ฏธ์ง๊ฐ ํฌ๋ฉด ์๋ฆด ์ ์๋ค)
-
fit: BoxFit.cover: ์ด๋ฏธ์ง๊ฐ ๋น์จ์ ์ ์งํ๋ฉด์ ์ง์ ๋ ๊ณต๊ฐ์ ๊ฝ ์ฑ์ฐ๋๋ก ํ๋ค. (๊ณต๊ฐ๋ณด๋ค ์ด๋ฏธ์ง๊ฐ ํฌ๋ฉด ์๋ฆด ์ ์๋ค)
-
Icon: ๋จธํฐ๋ฆฌ์ผ ๋์์ธ ์์ด์ฝ์ ํ์ํ๋ค.
-
TextField & InputDecoration ์์ธ: ์ฌ์ฉ์๋ก๋ถํฐ ํ ์คํธ ์ ๋ ฅ์ ๋ฐ๋๋ค.
-
TextField & InputDecoration ์์ธ: ์ฌ์ฉ์๋ก๋ถํฐ ํ ์คํธ ์ ๋ ฅ์ ๋ฐ๋๋ค.
-
ElevatedButton, TextButton, IconButton: ๋ค์ํ ํํ์ ๋ฒํผ ์์ ฏ์ด๋ค.
-
ElevatedButton, TextButton, IconButton: ๋ค์ํ ํํ์ ๋ฒํผ ์์ ฏ์ด๋ค.
-
Card: ๋จธํฐ๋ฆฌ์ผ ๋์์ธ์ ์นด๋ ํํ UI๋ฅผ ๋ง๋ ๋ค. ์ฝ๊ฐ์ ๊ทธ๋ฆผ์์ ๋ฅ๊ทผ ๋ชจ์๋ฆฌ๋ฅผ ๊ฐ์ง๋ค.
-
Card: ๋จธํฐ๋ฆฌ์ผ ๋์์ธ์ ์นด๋ ํํ UI๋ฅผ ๋ง๋ ๋ค. ์ฝ๊ฐ์ ๊ทธ๋ฆผ์์ ๋ฅ๊ทผ ๋ชจ์๋ฆฌ๋ฅผ ๊ฐ์ง๋ค.
-
Divider: ์๊ฐ์ ์ธ ๊ตฌ๋ถ์ ์ ๋ง๋ ๋ค.
-
Divider: ์๊ฐ์ ์ธ ๊ตฌ๋ถ์ ์ ๋ง๋ ๋ค.
-
CircleAvatar: ์ฃผ๋ก ์ฌ์ฉ์ ํ๋กํ ์ด๋ฏธ์ง์ฒ๋ผ ์ํ ์ด๋ฏธ์ง๋ฅผ ํ์ํ ๋ ์ฌ์ฉํ๋ค.
-
CircleAvatar: ์ฃผ๋ก ์ฌ์ฉ์ ํ๋กํ ์ด๋ฏธ์ง์ฒ๋ผ ์ํ ์ด๋ฏธ์ง๋ฅผ ํ์ํ ๋ ์ฌ์ฉํ๋ค.
-
Colors.black.withOpacity(0.5): ์์์ ํฌ๋ช ๋๋ฅผ ์ ์ฉํ๋ค. 0.0 (์์ ํฌ๋ช ) ~ 1.0 (์์ ๋ถํฌ๋ช ).
-
Colors.black.withOpacity(0.5): ์์์ ํฌ๋ช ๋๋ฅผ ์ ์ฉํ๋ค. 0.0 (์์ ํฌ๋ช ) ~ 1.0 (์์ ๋ถํฌ๋ช ).
-
Drawer ๋ฐ ๊ด๋ จ ์์ ฏ:
-
Drawer: Scaffold์ drawer ์์ฑ์ ์ง์ ๋๋ฉฐ, ํ๋ฉด ํ์ชฝ์์ ์ฌ๋ผ์ด๋ ๋์ด ๋์ค๋ ํจ๋์ด๋ค.
-
DrawerHeader: Drawer ์๋จ ์์ญ์ ๊พธ๋ฐ ๋ ์ฌ์ฉํ๋ ์์ ฏ์ด๋ค.
-
ListTile: Drawer ๋ด์ ๊ฐ ํญ๋ชฉ์ ๊ตฌ์ฑํ ๋ ์์ฃผ ์ฌ์ฉํ๋ค. leading, title, trailing, onTap ๋ฑ์ ์์ฑ์ ๊ฐ์ง๋ค.
-
ListTile: Drawer ๋ด์ ๊ฐ ํญ๋ชฉ์ ๊ตฌ์ฑํ ๋ ์์ฃผ ์ฌ์ฉํ๋ค. leading, title, trailing, onTap ๋ฑ์ ์์ฑ์ ๊ฐ์ง๋ค.
-
PageView: ์ฌ๋ฌ ํ์ด์ง(ํ๋ฉด)๋ฅผ ์ข์ฐ๋ก ์คํฌ๋กค ํ๋ฉฐ ๋ณผ ์ ์๊ฒ ํ๋ ์์ ฏ์ด๋ค. (์: ์ด๋ฒคํธ ๋ฐฐ๋)
- ๋ด๋น๊ฒ์ด์ ๊ธฐ์ด
- Navigator.pop(context): ํ์ฌ ํ๋ฉด(๋ผ์ฐํธ)์ ์คํ์์ ์ ๊ฑฐํ๊ณ ์ด์ ํ๋ฉด์ผ๋ก ๋์๊ฐ ๋ ์ฌ์ฉํ๋ค. Drawer๋ฅผ ๋ซ๊ฑฐ๋ ๋ค์ด์ผ๋ก๊ทธ๋ฅผ ๋ซ์ ๋ ์ ์ฉํ๋ค.
- ๋ฐ์ดํฐ ๋ค๋ฃจ๊ธฐ (๊ฐ๋จ ์์)
- List<Map<String, dynamicยป: ListView.builder ๋ฑ์์ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฅผ Dart์ ๋ฆฌ์คํธ์ ๋งต์ผ๋ก ๊ตฌ์ฑํ๋ ๊ฒ์ ์ผ๋ฐ์ ์ธ ๋ฐฉ์์ด๋ค. ๊ฐ Map์ ํ๋์ ์์ดํ ์ ๋ณด๋ฅผ ๋ด๊ณ , String ํค๋ก ๊ฐ์ ์ ๊ทผํ๋ค.
- ํ๋ก์ ํธ ๊ตฌ์กฐ ๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ
-
lib ํด๋: ์ฃผ๋ก Dart ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ณณ์ด๋ค. main.dart๊ฐ ๊ธฐ๋ณธ ์์ ํ์ผ์ด๋ค.
-
pubspec.yaml ํ์ผ: ํ๋ก์ ํธ์ ๋ฉํ๋ฐ์ดํฐ, ์์กด์ฑ(๋ผ์ด๋ธ๋ฌ๋ฆฌ/ํจํค์ง) ๊ด๋ฆฌ, SDK ๋ฒ์ ๋ฑ์ ์ค์ ํ๋ ํ์ผ์ด๋ค.
-
VSCode: ์ฃผ์ ๊ฐ๋ฐ ๋๊ตฌ๋ก ์ฌ์ฉ๋๋ค.
-
Command Palette (Ctrl+Shift+P / Cmd+Shift+P): Flutter: New Project, Flutter: Launch Emulator ๋ฑ ๋ค์ํ Flutter ๋ช ๋ น์ด๋ฅผ ์คํํ๋ค.
-
์ ์ฉํ ๋จ์ถํค: ์๋์์ฑ (Ctrl+Space/Option+Esc), ๋ฆฌํฉํฐ (Ctrl+Shift+R), ๋งค๊ฐ๋ณ์ ๋ณด๊ธฐ (Ctrl+Option) ๋ฑ ์ ์ฉํ ๋จ์ถํค ์ตํ๊ธฐ ํ์! (์์ฐ์ฑ ํฅ์ ๋ชฉ์ )
-
๋์ค์ VSCode ๋จ์ถํค ์์ฃผ๋ก ๊ฐ๋จํ ํฌ์คํ ์ ๋ง์ด ํด๋ณผ ์์ ์ด๋ค.
-
ex) VSCode์์ Presentation Mode ์ผ๋ ๋ฐฉ๋ฒ
-
Emulator: ๊ฐ์ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ๋ก, ์ค์ ๊ธฐ๊ธฐ ์์ด ์ฑ์ ํ ์คํธํ๋ค.
-
Hot Reload (ํซ ๋ฆฌ๋ก๋): ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ฑ ์ํ๋ฅผ ๋๋ถ๋ถ ์ ์งํ๋ฉด์ ๋น ๋ฅด๊ฒ ํ๋ฉด์ ๋ฐ์ํ๋ค. (๋ฒ๊ฐ ๋ชจ์ ์์ด์ฝ)
-
Hot Restart (ํซ ๋ฆฌ์คํํธ): ์ฑ ์ํ๋ฅผ ์ด๊ธฐํํ๊ณ ์ฑ์ ๋ค์ ์์ํ๋ค. (์ ๋ชจ์ ์์ด์ฝ)
-
analysis_options.yaml: Dart ์ฝ๋ ๋ถ์ ๊ท์น์ ์ค์ ํ๋ ํ์ผ์ด๋ค. (์: ํน์ ๋ฆฐํธ ๊ท์น ํ์ฑํ/๋นํ์ฑํ)
-
์๋ฅผ ๋ค์ด, print ํจ์๋ฅผ ์จ์ Debug Console์ ํ ์คํธ๋ฅผ ์ถ๋ ฅํ๋ ค๊ณ ํ๋ฉด, production์์๋ ์ฐ๋ฉด ์ ๋๋ค๊ณ ๋๋ฆฌ๋ฅผ ์น๋ค.
-
๊ทธ๊ฑด production ๋ ์์์ ๋นผ๋ฉด ๋ ์ผ์ด๋, ๋ฆฐํธ ๊ท์น์์ โavoid_printโ๋ฅผ ์ ๊ฑฐํด ๋ณด์.ํด๊ฒฐ๋ฒ 1. ํด๋น dart ํ์ผ ์๋จ์ ignore_for_file ์ฝ๋ฉํธ๋ฅผ ์์ฑํ๋ค.
-
๊ทธ๊ฑด production ๋ ์์์ ๋นผ๋ฉด ๋ ์ผ์ด๋, ๋ฆฐํธ ๊ท์น์์ โavoid_printโ๋ฅผ ์ ๊ฑฐํด ๋ณด์.
-
ํด๊ฒฐ๋ฒ 1. ํด๋น dart ํ์ผ ์๋จ์ ignore_for_file ์ฝ๋ฉํธ๋ฅผ ์์ฑํ๋ค.
-
ํด๊ฒฐ๋ฒ 2. ํ๋ก์ ํธ ๋ฃจํธ๋จ์ ์๋ analysis_options.yaml์์ ๋ฌด์ ์ฒ๋ฆฌํ๋ค.
-
ํด๊ฒฐ๋ฒ 2. ํ๋ก์ ํธ ๋ฃจํธ๋จ์ ์๋ analysis_options.yaml์์ ๋ฌด์ ์ฒ๋ฆฌํ๋ค.
-
ํด๊ฒฐ๋ฒ 2. ํ๋ก์ ํธ ๋ฃจํธ๋จ์ ์๋ analysis_options.yaml์์ ๋ฌด์ ์ฒ๋ฆฌํ๋ค.
- Flutter ํ์ต ๋ฐฉ๋ฒ
-
Widget Catalog & Widget of the week: Flutter ๊ณต์ ๋ฌธ์์ ์์ ฏ ์นดํ๋ก๊ทธ์ โWidget of the weekโ ์๋ฆฌ์ฆ๋ฅผ ํตํด ๋ค์ํ ์์ ฏ์ ํ์ตํ๋ค.
-
์ปค๋ฎค๋ํฐ ํ์ฉ: Flutter ๊ด๋ จ ์ปค๋ฎค๋ํฐ(์จ๋ผ์ธ ํฌ๋ผ, ์คํ์ฑ ๋ฑ)์์ ์ง๋ฌธํ๊ณ ๋ต๋ณํ๋ฉฐ ํจ๊ป ์ฑ์ฅํ๋ค.
-
Dart ๋ฌธ๋ฒ ์์ง: Flutter๋ Dart ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ฏ๋ก, Dart ๋ฌธ๋ฒ์ ์ถฉ๋ถํ ์ดํดํ๋ ๊ฒ์ด ์ค์ํ๋ค.
๐ญ ์ผ๊ธฐ
์ด๋ฏธ C, C++, Java, Javascript, Python, โฆ ์๋ง์ ์ธ์ด๋ค์ ๋ค๋ค๋ดค๊ณ , Spring, Vue.js, Django, FlutterFlow ๋ฑ ๋ค์ํ ํ๋ ์์ํฌ/ํด๊น์ง ๋ค๋ค๋ณธ ์์ ์ด์ง๋ง, ํน์๋ ๋์น๊ณ ๊ฐ๋ ๊ธฐ๋ณธ ๊ฐ๋ ์ด ์์๊น ์ถ์ด Flutter ๊ธฐ์ด ๊ฐ์ข๋ถํฐ ๋ฃ๊ธฐ ์์ํ๋ค.
์ด๋ฏธ ์๊ณ ์๋ ๊ฐ๋ ๋ค์ด๋ผ๊ณ ์๊ฐํ๊ณ ๋น ๋ฅด๊ฒ ์คํต ํ๋ ค ํ๋๋ฐ, ์ด๊ฑฐ ์๊ฐ๋ณด๋ค ๋๋ฌด ์ค๋ซ๋์ ๊ฐ๋ฐ์์ ์์ ๋จ๋ ๋ณด๋ค. ๋ ๊ทผ์ก์ด ๊ตณ์๋์ง, ๋จธ๋ฆฟ์์ ๋น ๋ฆฟ๋น ๋ฆฟํ๊ฒ ์ด๋ค ์์ผ๋ก ์ฝ๋๋ฅผ ์ง๋ฉด ๋ ์ง ๊ตฌ์์ด ์ ์๋๋๋ผ.
์ด์ ๋ VSCode์์ Inline Chat(Gemini 2.5 Pro)์ด๋ Code Recommendation(GitHub Copilot) ๋ฑ AI์ ๋์์ ๋ฐ์ผ๋ฉด์, ๊ธ๋ฐฉ๊ธ๋ฐฉ ๊ถ๊ธ์ฆ์ ๋ฌป๊ณ , ๋ต์ ์ฐพ์๋ด๊ณ , ์๋์์ฑ์ ํ์ฉํ๋ฉด์ ํจ์จ์ ์ผ๋ก ์ฝ๋ฉํ๋ ์๋๊ฐ ๋์๊ธฐ์, ๋์ฑ ๋น ๋ฅด๊ฒ ์ฝ๋ฉ ๋ ๊ทผ์ก์ ๋ณต๊ตฌ์ํฌ ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋ํ๋ค.
๊ฐ ๊ธธ์ด ๋ฉ๋ค! ๊ฐ์ฆ์!
์ฒจ๋ถ ์ด๋ฏธ์ง










๋๊ธ ๋จ๊ธฐ๊ธฐ