Dart - ynjch97/YNJCH_WIKI GitHub Wiki

πŸ’™ Dart

  • User Interface μƒμ„±μ˜ ν•„μš”μ— 맞게 νŠΉλ³„νžˆ μ„€κ³„λ˜κ³  μ΅œμ ν™”λœ μ΅μˆ™ν•œ ꡬ문
  • 객체 μ§€ν–₯ μ–Έμ–΄ 1
  • Dart : https://dart.dev/
  • Dart κ°•μ˜ (Nomad Coder) : https://nomadcoders.co/dart-for-beginners

Dart Compiler

  • Dart λŠ” 두 개의 컴파일러λ₯Ό 가짐
  • Dart Web (JavaScript dev & prod)
    • Dart to JavaScript Translator
  • Dart Native (machine code JIT and AOT)
    • Dart μ½”λ“œλ₯Ό μ—¬λŸ¬ CPU μ•„ν‚€ν…μ²˜μ— 맞게 λ³€ν™˜
    • iOS, Android, Windows, Mac OS, Linux
  • just-in-time (JIT) compiler
    • dart VM μ‚¬μš©, μ½”λ“œμ˜ κ²°κ³Όλ₯Ό λ°”λ‘œ 화면에 λ³΄μ—¬μ€Œ (+ 디버깅 지원)
    • 가상 λ¨Έμ‹ μ—μ„œ λŒμ•„κ°€λ―€λ‘œ 쑰금 느림 > 개발 μ€‘μ—λ§Œ μ‚¬μš© > 'λΉ λ₯Έ ν”Όλ“œλ°±'
  • ahead-of-time (AOT) compiler
    • 컴파일 λ¨Όμ € ν•˜κ³  λ°”μ΄λ„ˆλ¦¬λ₯Ό 배포
    • μ—¬λŸ¬ CPU μ•„ν‚€ν…μ²˜λ₯Ό μœ„ν•œ ν”„λ‘œμ νŠΈ 컴파일
    • 배포 μ‹œμ— μ‚¬μš© > 'μ΅œμ’… 앱이 빠름'

Null Safety

  • ν”„λ‘œκ·Έλž¨μ΄ 더 μ•ˆμ „ν•¨ (Null κ°’ μ°Έμ‘° μ‹œ)

Flutter 와 관계

  • Flutter μ΅œμ ν™”λ₯Ό μœ„ν•΄ Dart μ–Έμ–΄λ₯Ό μˆ˜μ •ν•  수 있음

πŸ’™ Dart Editor

  • DartPad : https://dartpad.dev/
    • μ†ŒμŠ€ 상 였λ₯˜κ°€ 있으면 μ‹€μ‹œκ°„μœΌλ‘œ μ—λŸ¬ λ©”μ‹œμ§€ 좜λ ₯
    • ν‚€μ›Œλ“œ 클릭 μ‹œ κ΄€λ ¨ 정보 제곡

VSCode

  • Flutter ν™•μž₯ ν”„λ‘œκ·Έλž¨ μ‚¬μš©
    • Flutter ν™•μž₯ ν”„λ‘œκ·Έλž¨μ€ Dart ν™•μž₯ ν”„λ‘œκ·Έλž¨μ„ 포함
    • Ctrl + Shift + P (-> Show all commands) > Dart: New Project
  • SDK μ„ΈνŒ…
    • Could not find a Dart SDK. Please download, or, if already downloaded, click 'Locate SDK'.
    • Download SDK > Do you want Code to open the external website? > Open 클릭
    • Choose an installation option > Download from the SDK Archive
    • Stable channel, Beta channel, Dev channel, Main channel λ“± 쑴재
    • Stable channel > Dart SDK (SHA-256) λ‹€μš΄λ‘œλ“œ (dartsdk-windows-x64-release.zip)
    • Locate SDK > ~\dartsdk-windows-x64-release\dart-sdk\bin 경둜 선택
  • 0429_1.dart 파일 생성 및 μ—΄κΈ° > run 으둜 λ°”λ‘œ μ‹€ν–‰ κ°€λŠ₯
void main() {
  print('hello world!');
}

πŸ’™ VSCode

  • main() ν•¨μˆ˜μ—μ„œ μ½”λ“œκ°€ 호좜되며, run | debug λ²„νŠΌμ΄ ν™œμ„±ν™”λ¨
  • VSCode > Terminal μ—μ„œ ν…ŒμŠ€νŠΈ
PS C:\Users\YNJCH\Flutter\Dart> pwd
C:\Users\YNJCH\Flutter\Dart
PS C:\Users\YNJCH\Flutter\Dart> dart run 0429_1.dart
hello world!
PS C:\Users\YNJCH\Flutter\Dart> dart run 0429_2.dart
Invoked Dart programs must have a 'main' function defined:
https://dart.dev/guides/language/language-tour#a-basic-dart-program

vscode 디버그 κ΄€λ ¨ 단좕킀

  • F5 : 디버그 μ‹œμž‘/μ •μ§€
  • Shift + F5 : 디버그 μ’…λ£Œ
  • Ctrl + F5 : μ‹œμž‘(디버그 μ‹€ν–‰ x)
  • F9 : breakpoint on/off
  • F10 : 디버그 ν˜„μž¬ 라인 μ‹€ν–‰(ν•œμ€„μ”© μ‹€ν–‰), ν•¨μˆ˜λ₯Ό λ§Œλ‚˜λ©΄ ν•¨μˆ˜ μ•ˆμœΌλ‘œ λ“€μ–΄κ°€μ§€ μ•ŠμŒ
  • F11 : 디버그 ν•¨μˆ˜μ˜ 경우 ν•¨μˆ˜ λ‚΄λΆ€λ‘œ λ“€μ–΄κ°€μ„œ μ‹€ν–‰
  • Shift + F11 : 디버그 ν•˜κ³  μžˆλŠ” ν˜„μž¬ ν•¨μˆ˜ λΉ μ Έλ‚˜μ˜€κΈ°