Til - 250108

[TIL] Flutter & Dart ํ์ต
๐ ์ค๋ ๋ฐฐ์ด ๊ฒ
ํ๋ฌํฐ๋ฅผ ์ฌ์ฉํ ๊ธฐ๋ณธ ์ฑ ๋ง๋ค๊ธฐ. ํ๋ฌํฐ์ ๋คํธ ์ฝ๋์ ๋ํ ์ดํด. ์์ ฏ์ด ๋ฌด์์ธ์ง?
ํ๋ฌํฐ ํ๋ก์ ํธ ์์ฑ
fluter create first_app
ํ๋ฌํฐ ํ๋ก์ ํธ ๊ตฌ์กฐ์ ๋ํ ์ค๋ช .
ํ๋ซํผ ๋ณ ํด๋
lib ํด๋ ๋ฑ์ ๋ํ ์ค๋ช
์ด๋ฐ ํด๋๊ฐ ์๋ค ์ ๋๋ง ์์๋ ๋ ๋ฏ.
pubspec.yaml์ ์ค์
- ์ฌ๋ฌ๊ฐ์ง ์ค์ ๋ค ๊ฐ๋ฅ. ์์กด์ฑ ๊ด๋ฆฌ ๋ฑ.
๐ค ๋ด ์๊ฐ
[๊ถ๊ธํ ์ ]
- ์น์ 2์์๋ ๊ฐ๋จํ ์ฃผ์ฌ์ ๊ฒ์์ ๋ง๋๋ ๋ฏ.
[๋นํ์ ๋ถ์]
- ๋๋ฌด ๊ฐ๋จํ ์์ ๋ก ์๊ณ ์๋ ๊ฐ๋ ์. ์์ ์ด๋ณด์๋ฅผ ์ํ ๊ฐ์๋ก ๋ณด์. (ํจ์, ํค์๋ ์ด๋ฐ๊ฑธ ๊ฐ๋ฅด์ณ์ฃผ๊ณ ์์)
[์ค๋ฌด ์ ์ฉ์ ๊ณ ๋ ค์ฌํญ]
ํ๋ฌํฐ๊ฐ ์ฐธ ์ ๊ธฐํ๊ธด ํจ. ์ ๋ง ์กฐ๋ฆฝํด์ ์ฑ์ ๋ง๋ ๋ค๋ ๋๋์ด ๋ฌ. ์์ ฏ๋ง ์๋ฉด ์ ๋งํ ์ฑ์ ๋ค ๊ฐ๋ฐ ๊ฐ๋ฅ.
์ฝ์ค ๋ด๋ด ์ค์ํ ์์ ฏ์ ๋ํด์๋ ๋ฐฐ์ธ ๋ด์ฉ.
10~20๊ฐ์ ์ฝ์ด ์์ ฏ์ ์ฃผ๋ก ์ฌ์ฉ ํจ.
๐ก ์ฐธ๊ณ ์๋ฃ
[์ถ๊ฐ๋ก ์ฐพ์๋ณธ ๋ด์ฉ]
ํ๋ฌํฐ์ ๋งค๊ฐ๋ณ์ ๋ค์ด๋ฐ ๋ฐฉ์์ด ์์ฒญ ํธํด๋ณด์ด๊ธด ํ๋๋ฐ, ์ฝ๋์ ๋ณต์ก๋๋ ์ฌ๋ผ๊ฐ๋ ๋๋์ด๋ค. ์ค์ ๋ด๋ถ ์ฝ๋๋ฅผ ๊ตฌํํ ๋ ์ด๋ ๊ฒ ๊ตฌํํ๋๊ฒ ์ข์ ๋ฐฉ๋ฒ์ผ๊น? ๋ผ๋ ์๊ฐ์ด ๋ฌ.
์ฐพ์๋ณด๋ค ๋ณด๋ ํ๊ฐ์ง ๊ฐ๊ณผํ๊ฒ ์์์ ํ๋ฌํฐ ๋ช ๋ช ๋ ๋งค๊ฐ๋ณ์์ ๊ฒฝ์ฐ required ์กฐ๊ฑด์ ๋ฃ์ ์ ์์ด ๋ฌด์กฐ๊ฑด ์ ์ผ๋ก ์ ์ธํด์ผ ๋๋ ๋ณ์๋ค์ ๋ฃ์ ์ ์๋ค๋ ๋ถ๋ถ.
๊ฒฐ๊ตญ์๋ ์ ๋ํฐ ๋ฑ์ ๋ค๋ฅธ ์์ง์ ์ ์ฉํ๋ ค๋ฉด ๋น๋ ํจํด๋ฑ์ ์ ๊ทผ์ ํด์ผ ๋๊ณ , ํ๋ฒ ๋ ๋ ์ด์ด๋ฅผ ๊ฐ์ธ๋ ๋ถ๋ถ์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ ์์ฐ์ ์ด ๋จ์ด์ง ๊ฒ์ผ๋ก ๋ณด์.
์ ์ธ์ UI ๋ ํ๋์ ์ธ ํ๋ ์์ํฌ์์ ์ ๊ณตํด์ฃผ๋ ๋ฐฉ์
๋ช ๋ นํ: "๋ฐฅ์ ๋ด๊ณ , ๊ณ ๊ธฐ๋ฅผ ์ฌ๋ฆฌ๊ณ , ๊ณ๋์ ์ฌ๋ฆฌ๊ณ ..."
์ ์ธ์ : "์ ์ก๋ฎ๋ฐฅ ํ๋ ์ฃผ์ธ์" ์ ๋น์ทํ ์ฐจ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: const Text('First App'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: const [
Text(
'Hello World!',
),
Text(
'It\'s time to learn Flutter!',
),
],
),
),
),
);
}
}
Subscribe to my newsletter
Read articles from jihun-heo directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
