Til - 250108

jihun-heojihun-heo
2 min read

[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!',
              ),
            ],
          ),
        ),
      ),
    );
  }
}
0
Subscribe to my newsletter

Read articles from jihun-heo directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

jihun-heo
jihun-heo