๐ Dart ์ธ์ด ๊ฐ์
Dart๋ Google์์ ๊ฐ๋ฐํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก, ์ฃผ๋ก Flutter ํ๋ ์์ํฌ์ ํจ๊ป ์ฌ์ฉ๋ฉ๋๋ค.
์น, ๋ชจ๋ฐ์ผ, ๋ฐ์คํฌํฑ, ์๋ฒ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์ด ๊ฐ๋ฅํ ๋ฉํฐํ๋ซํผ ์ธ์ด์
๋๋ค.
โ
Dart์ ์ฃผ์ ํน์ง
1. JIT & AOT ์ปดํ์ผ
- JIT (Just-In-Time) ์ปดํ์ผ โ ๊ฐ๋ฐ ์ค์๋ ๋น ๋ฅธ ์คํ & Hot Reload ๊ฐ๋ฅ
- AOT (Ahead-Of-Time) ์ปดํ์ผ โ ์ฑ ๋ฐฐํฌ ์์๋ ๋น ๋ฅธ ์คํ ์๋ ์ ๊ณต
๐ Hot Reload ๋๋ถ์ Flutter ์ฑ ๊ฐ๋ฐ ์ UI ๋ณ๊ฒฝ ์ฌํญ์ ์ฆ์ ๋ฐ์ํ ์ ์์.
2. ๊ฐ์ฒด์งํฅ & ๋คํ์ฑ ์ง์
- ํด๋์ค(Class) ๋ฐ ์์(Inheritance) ์ง์
- Mixin, Abstract Class ๋ฑ ๋ค์ํ ๊ฐ์ฒด์งํฅ ๊ฐ๋
ํ์ฉ ๊ฐ๋ฅ
- ๋ชจ๋ ๋ฐ์ดํฐ ํ์
์ด ๊ฐ์ฒด๋ก ๊ด๋ฆฌ๋จ (int, double๋ ๊ฐ์ฒด)
3. Null Safety (๋ ์์ ์ฑ)
Dart๋ null ๊ฐ์ผ๋ก ์ธํ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด Null Safety๋ฅผ ์ ๊ณตํฉ๋๋ค.
๐ Null Safety ๋๋ถ์ ๋ฐํ์ ์ค๋ฅ๋ฅผ ์ค์ผ ์ ์์.
4. ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ ์ง์ (Future & Stream)
Dart๋ async/await, Future, Stream์ ํ์ฉํ์ฌ ๋น๋๊ธฐ ์ฝ๋๋ฅผ ์ฝ๊ฒ ์์ฑํ ์ ์์ต๋๋ค.
๐ Flutter์์ API ํธ์ถ, ๋ฐ์ดํฐ ๋ก๋ฉ, ์ ๋๋ฉ์ด์
์ฒ๋ฆฌ ์ ์ ์ฉํจ.
5. ์ปฌ๋ ์
(List, Set, Map) ํ์ฉ
Dart๋ List, Set, Map๊ณผ ๊ฐ์ ์ปฌ๋ ์
์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํฉ๋๋ค.
๐ ์ปฌ๋ ์
์กฐ์์ด ์ฝ๊ณ , ๊ณ ๊ธ ๊ธฐ๋ฅ๋ ์ ๊ณต (where, map, reduce ๋ฑ).
6. Dart์ Flutter์ ๊ด๊ณ
- Dart๋ Flutter์ ๊ณต์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
- Flutter UI ๊ฐ๋ฐ์ ์ํ ์ง๊ด์ ์ธ ๋ฌธ๋ฒ ์ ๊ณต
- Hot Reload ๊ธฐ๋ฅ ๋๋ถ์ ์ค์๊ฐ UI ๋ฐ์ ๊ฐ๋ฅ
๐ Dart๋ฅผ ์ฌ์ฉํ๋ฉด Flutter๋ก ๊ฐ๋ ฅํ UI๋ฅผ ๋ง๋ค ์ ์์.
๐ฅ Dart๋ฅผ ๋ฐฐ์์ผ ํ๋ ์ด์
โ
Flutter ๊ฐ๋ฐ ํ์ ์ธ์ด (iOS & Android ์ฑ ๋์ ๊ฐ๋ฐ ๊ฐ๋ฅ)
โ
๋น ๋ฅธ ์คํ ์๋ (JIT & AOT ์ปดํ์ผ ์ง์)
โ
๊ฐ๊ฒฐํ ๋ฌธ๋ฒ & ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ง์
โ
๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ (async/await)์ผ๋ก ๋คํธ์ํฌ ์์
์ต์ ํ
โ
์น, ๋ชจ๋ฐ์ผ, ๋ฐ์คํฌํฑ, ์๋ฒ ๊ฐ๋ฐ ๊ฐ๋ฅ (๋ฉํฐํ๋ซํผ ์ง์)
๐ฏ Dart ์ฌ์ฉ ์ฌ๋ก
โ Flutter ์ฑ ๊ฐ๋ฐ (๋ชจ๋ฐ์ผ, ์น, ๋ฐ์คํฌํฑ)
โ ์๋ฒ ๊ฐ๋ฐ (dart:io, shelf ํจํค์ง ํ์ฉ)
โ CLI(๋ช
๋ น์ค) ๋๊ตฌ ์ ์
โ ๋จธ์ ๋ฌ๋ ๋ฐ ๋ฐ์ดํฐ ๋ถ์