Skip to main content

Command Palette

Search for a command to run...

Til - 250108

Published
โ€ข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!',
              ),
            ],
          ),
        ),
      ),
    );
  }
}

More from this blog

๋‹ค์‹œ ๋ธ”๋กœ๊ทธ ์‹œ์ž‘ํ•ด๋ณด๊ธฐ

์˜ˆ์ „์— ๋ธ”๋กœ๊ทธ๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค๊ฐ€ ๊ท€์ฐฎ์€ ๋ถ€๋ถ„๋„ ์กด์žฌํ•˜๊ณ , ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์‚ฌ์ •์œผ๋กœ ์ธํ•ด ๋ธ”๋กœ๊ทธ ๊ธ€์“ฐ๊ธฐ๋ฅผ ์ž ์ • ์ค‘๋‹จ ํ–ˆ๋‹ค. ๐Ÿ˜‚ ์‚ฌ์‹ค hashnode๋ผ๋Š” ์ข‹์€ ํ”Œ๋žซํผ์„ ์ฐพ๊ณ , ์ด ํ”Œ๋žซํผ์— ๊ธ€์“ฐ๊ธฐ๋ฅผ ์ •์ฐฉํ•ด๋ณด๋ ค๊ณ  ํ–ˆ์—ˆ๋Š”๋ฐ, ์–ด๋–ค ๋‚ด์šฉ์„ ์“ธ์ง€ ์— ๋Œ€ํ•œ ๋ถ€๋ถ„์ด ๊ณ„์† ๊ณ ๋ฏผ ๋˜๋Š” ๋ถ€๋ถ„๋„ ์ƒ๋‹นํžˆ ๋งŽ์ด ์ž‘์šฉ ํ–ˆ๋‹ค. ์•ž์œผ๋กœ ๋ญ˜ ์“ธ ์˜ˆ์ •์ธ๊ฐ€? ๊ฑฐ์ฐฝํ•œ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ๋ณด๋‹ค๋Š” ๊ทธ๋ƒฅ ์ผํ•˜๋ฉด์„œ ๊ฒช์€ ์ผ๋“ค ํ˜น์€ ์ฝ์—ˆ๋˜ ์ฑ…๋“ค ํ˜น์€ ๋“ค์—ˆ๋˜ ์ฑ…๋“ค์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๊ฐ€๋ณ๊ฒŒ ์ •๋ฆฌ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ํ˜ผ...

Aug 5, 20251 min read

Book - ์˜ˆ์ง€๋ชฝ๋ฅผ ๋“ฃ๊ณ  ๐ŸŽง

"๊ฟˆ์ด ํ˜„์‹ค์„ ์˜ˆ๊ณ ํ•œ๋‹ค๋ฉด, ๊ทธ๊ฒƒ์€ ์šฐ์—ฐ์ผ๊นŒ ํ•„์—ฐ์ผ๊นŒ?" ๐ŸŒ™ ํ•ต์‹ฌ ๊ฐ์ƒ ํฌ์ธํŠธ "๊ฟˆ์—์„œ ๋ณธ ์†Œ๋…€"์˜ ์ถฉ๊ฒฉ์  ๋ฐ˜์ „ ์ฒซ ๋ฒˆ์งธ ๋‹จํŽธ์ธ "๊ฟˆ์—์„œ ๋ณธ ์†Œ๋…€"๋Š” ์˜ˆ์ง€๋ชฝ์˜ ์ •์ˆ˜๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. 17๋…„ ์ „ ๊ฟˆ์† ์†Œ๋…€์™€ ํ˜„์‹ค์—์„œ ์žฌํšŒํ•˜๋Š” ์ฒญ๋…„์˜ ์ด์•ผ๊ธฐ๋Š” ์ดˆ์ž์—ฐ์  ๋ถ„์œ„๊ธฐ๋กœ ์‹œ์ž‘ํ•˜์ง€๋งŒ, ์œ ๊ฐ€์™€ ๋งˆ๋‚˜๋ถ€์˜ "๋ฌด์˜์‹์  ๊ธฐ์–ต์˜ ์žฌ๊ตฌ์„ฑ"์ด๋ผ๋Š” ๊ณผํ•™์  ํ•ด์„์œผ๋กœ ๋ฐ˜์ „์„ ๋งž์ดํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋””์˜ค๋ถ์—์„œ๋Š” ์ฃผ์ธ๊ณต์˜ ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ์‹ฌ๋ฆฌ๊ฐ€ ์„ฑ์šฐ์˜ ๋–จ๋ฆฌ๋Š” ๋ชฉ์†Œ๋ฆฌ์™€ ๊ธด์žฅ๊ฐ ์žˆ๋Š” BGM์œผ๋กœ ์ƒ์ƒ...

Jan 25, 20252 min read

Book - ํƒ์ • ๊ฐˆ๋ฆด๋ ˆ์˜ค๋ฅผ ๋“ฃ๊ณ  ๐ŸŽง

"๋ถˆํƒ€์˜ค๋ฅด๋‹ค. ๊ทธ ๋ถˆ๊ฝƒ์€ ๊ณผํ•™์œผ๋กœ ์„ค๋ช…๋  ์ˆ˜ ์žˆ์„๊นŒ?" ๐Ÿ” ํžˆ๊ฐ€์‹œ๋…ธ ๊ฒŒ์ด๊ณ ์˜ "ํƒ์ • ๊ฐˆ๋ฆด๋ ˆ์˜ค"๋ฅผ ์ฒ˜์Œ ์ฑ…์œผ๋กœ ์ ‘ํ–ˆ์„ ๋•Œ, ๊ฐ€์žฅ ๊ฐ•๋ ฌํ•˜๊ฒŒ ๋‚จ์•˜๋˜ ์žฅ๋ฉด์€ "๋ถˆํƒ€์˜ค๋ฅด๋‹ค" ์—ํ”ผ์†Œ๋“œ์˜€์Šต๋‹ˆ๋‹ค. ๋‹ค์„ฏ ์ฒญ๋…„ ์ค‘ ํ•œ ๋ช…์ด ๊ฐ‘์ž‘์Šค๋Ÿฝ๊ฒŒ ๋ถˆ์— ํƒ€ ์ฃฝ๋Š” ์ถฉ๊ฒฉ์ ์ธ ์‚ฌ๊ฑด๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด, ์œ ์นด์™€ ๋งˆ๋‚˜๋ถ€ ๊ต์ˆ˜์˜ ๊ณผํ•™์  ์ถ”๋ฆฌ๊ฐ€ ๋น›์„ ๋ฐœํ•˜๋Š” ์ˆœ๊ฐ„๊นŒ์ง€ ๊ธด์žฅ๊ฐ์ด ์ฒ ๋ ํ•˜๊ฒŒ ๋ชฐ์•„์ณค์ฃ . ์ตœ๊ทผ ์˜ค๋””์˜ค๋ถ์œผ๋กœ ๋‹ค์‹œ ๋“ฃ๊ณ  ๋‚˜๋‹ˆ, ์ข…์ด์ฑ…๊ณผ๋Š” ๋‹ค๋ฅธ ์ƒ๋™๊ฐ์ด ๋ฌป์–ด๋‚˜๋Š” ๊ฑธ ๋А๊ผˆ์Šต๋‹ˆ๋‹ค. ์„ฑ์šฐ์˜ ์—ฐ๊ธฐ๊ฐ€ ...

Jan 21, 20252 min read

Book - ํŒŒ์šฐ์Šคํ„ฐ๋ฅผ ๋“ฃ๊ณ  ๐ŸŽง

"์ˆœ๊ฐ„์ด์—ฌ, ๋ฉˆ์ถ”์–ด๋ผ! ์ •๋ง ์•„๋ฆ„๋‹ต๊ตฌ๋‚˜!" โœจ ์ด ๋ฉ‹์ง„ ๋ง, ํ˜น์‹œ ๋“ค์–ด๋ณด์…จ๋‚˜์š”? ๋ฐ”๋กœ 'ํŒŒ์šฐ์ŠคํŠธ'๋ผ๋Š” ๊ณ ์ „ ์†Œ์„ค์—์„œ ๋‚˜์˜จ ๋ง์ธ๋ฐ์š”. ์ด ์†Œ์„ค์—์„œ ์˜๊ฐ์„ ๋ฐ›์•„ ํƒ„์ƒํ•œ ๊น€ํ˜ธ์—ฐ ์ž‘๊ฐ€์˜ 'ํŒŒ์šฐ์Šคํ„ฐ'๋ผ๋Š” ์ฑ…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์œŒ๋ผ ์˜ค๋””์˜ค๋ถ์œผ๋กœ ๋“ฃ๊ณ  ๊ฝค๋‚˜ ์ธ์ƒ์ ์ด์—ˆ๋Š”๋ฐ์š”. 16์‹œ๊ฐ„์ด ๋„˜๋Š” ๊ธด ์ด์•ผ๊ธฐ์˜€์ง€๋งŒ, ์ถœํ‡ด๊ทผ๊ธธ์ด ๋น„๊ต์  ๋น ๋ฅด๊ฒŒ ์ง€๋‚˜๊ฐ”์Šต๋‹ˆ๋‹ค. ๐Ÿ“– 'ํŒŒ์šฐ์Šคํ„ฐ' ์˜ค๋””์˜ค๋ถ ์ค„๊ฑฐ๋ฆฌ ์š”์•ฝ ๋ฐฐ๊ฒฝ: ์šฐ๋ฆฌ ์‚ฌํšŒ์˜ ์–ด๋‘์šด ๋ฉด์„ ์—ฟ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ด์•ผ๊ธฐ์ž…๋‹ˆ๋‹ค. ๋‚˜์ด ๋งŽ์€ ์‚ฌ...

Jan 14, 20252 min read

Til - 250112

[TIL] Flutter & Dart ํ•™์Šต ๐Ÿ“š ์˜ค๋Š˜ ๋ฐฐ์šด ๊ฒƒ ๊ฐ•์˜ ์ค‘๊ฐ„์— ์ฑŒ๋ฆฐ์ง€ ์žˆ๋Š” ๋ถ€๋ถ„์€ ํ•ญ์ƒ ์ข‹์€ ๊ฒƒ ๊ฐ™์Œ. ํ…์ŠคํŠธ ์Šคํƒ€์ผ๋ง ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ปค์Šคํ…€ ์œ„์ ฏ ์ƒ์„ฑ ๋ฐฉ๋ฒ• ํ”Œ๋Ÿฌํ„ฐ๋Š” ์œ„์ ฏ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ณ , ์œ„์ ฏ ํŠธ๋ฆฌ๋Š” ์ ์  ํ™•์žฅ๋˜๊ฒŒ ๋จ. ํ™•์žฅ๋˜๋Š” ์œ„์ ฏ ํŠธ๋ฆฌ์˜ ํ™•์žฅ์„ฑ๋“ฑ์„ ์œ„ํ•ด ๋ณ„๋„์˜ ์œ„์ ฏ ์œผ๋กœ ๋นผ๊ธฐ. ๐Ÿค” ๋‚ด ์ƒ๊ฐ [๊ถ๊ธˆํ•œ ์ ] ์œ„์ ฏ์— key๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ? key๋Š” Flutter์—์„œ ์œ„์ ฏ์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ , ์œ„์ ฏ์˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋ฉฐ, ์œ„์ ฏ...

Jan 12, 20252 min read

Lonpeach

9 posts

Til - 250108