iBetter Books
수정

Dart 생태계의 전체 그림

프로그래밍 언어를 배울 때는 언어 자체뿐 아니라 그 주변 도구와 생태계를 이해하는 것이 중요합니다. 아무리 좋은 언어라도 라이브러리가 부족하거나 개발 도구가 불편하면 실전에서 쓰기 어렵습니다. Dart의 생태계는 Google의 지원 아래 꾸준히 성장해왔고, 2026년 현재 실무에서 충분히 활용할 수 있는 수준에 도달했습니다.

Flutter — Dart의 가장 큰 무대

Flutter는 Dart로 작성하는 UI 프레임워크입니다. 하나의 코드베이스로 다음 플랫폼의 앱을 모두 만들 수 있습니다.

  • 모바일: iOS, Android
  • : 브라우저에서 실행되는 웹 앱
  • 데스크톱: Windows, macOS, Linux

Flutter가 Dart를 선택한 이유는 명확합니다. Dart는 JIT 컴파일로 개발 중 핫 리로드를 지원하고, AOT 컴파일로 배포 시 네이티브 성능을 제공합니다. 이 두 가지 컴파일 방식을 모두 지원하는 언어가 많지 않기 때문에, Dart는 Flutter에 최적의 선택이었습니다.

이 책에서는 Flutter를 직접 다루지 않지만, Dart의 모든 개념이 Flutter 개발의 기초가 됩니다. 클래스, 비동기 프로그래밍, Null Safety 같은 핵심 기능은 Flutter 코드에서 매일 사용하게 됩니다.

pub.dev — Dart의 패키지 저장소

pub.dev(https://pub.dev)는 Dart와 Flutter 패키지를 공유하는 공식 저장소입니다. Python의 PyPI, JavaScript의 npm과 같은 역할을 합니다.

2026년 현재 50,000개 이상의 패키지가 등록되어 있으며, 다음과 같은 인기 패키지들이 있습니다.

패키지 용도
http HTTP 요청 (API 통신)
json_annotation JSON 직렬화/역직렬화
provider Flutter 상태 관리
shelf 서버 개발
args CLI 인자 파싱
test 테스트 프레임워크
path 파일 경로 처리

패키지를 사용하려면 pubspec.yaml 파일에 의존성을 추가하고 dart pub get 명령을 실행하면 됩니다. 이 과정은 PART 01에서 직접 해보겠습니다.

DartPad — 브라우저에서 바로 실습

DartPad(https://dartpad.dev)는 브라우저에서 Dart 코드를 작성하고 실행할 수 있는 온라인 에디터입니다. 설치 없이 바로 Dart를 체험해볼 수 있어서, 이 책의 초반 실습에서 유용하게 활용할 수 있습니다.

DartPad는 다음 기능을 제공합니다.

  • Dart 코드 작성과 즉시 실행
  • 코드 공유 (URL로 다른 사람에게 전달)
  • Flutter 위젯 미리보기
  • 자동완성과 에러 표시

다만 파일 입출력(dart:io)이나 외부 패키지 사용에는 제한이 있으므로, PART 01에서 로컬 개발 환경도 함께 구성합니다.

서버사이드 Dart

Dart는 서버 개발에도 사용할 수 있습니다. 아직 Node.js나 Python만큼 생태계가 크지는 않지만, 꾸준히 성장하고 있습니다.

shelf

Dart 공식 팀이 관리하는 서버 미들웨어 라이브러리입니다. Express.js(Node.js)와 비슷한 개념으로, 요청과 응답을 처리하는 미들웨어를 조합하여 서버를 구성합니다.

dart_frog

Very Good Ventures가 만든 서버 프레임워크입니다. Next.js처럼 파일 기반 라우팅을 지원하여 직관적으로 API 서버를 만들 수 있습니다. 핫 리로드도 지원합니다.

Full-Stack Dart

프론트엔드(Flutter)와 백엔드(shelf/dart_frog)를 모두 Dart로 개발하면, DTO(Data Transfer Object) 같은 코드를 공유할 수 있습니다. 이런 "Full-Stack Dart" 접근 방식이 점점 주목받고 있습니다.

Dart의 개발 도구

Dart SDK

Dart SDK에는 다음 도구들이 포함되어 있습니다.

도구 용도
dart run Dart 프로그램 실행
dart compile 네이티브 실행 파일 또는 JS로 컴파일
dart analyze 정적 분석 (잠재적 버그 탐지)
dart format 코드 자동 포맷팅
dart fix 자동 코드 수정
dart test 테스트 실행
dart pub 패키지 관리
dart doc API 문서 생성

VS Code + Dart 확장

VS Code에 Dart 확장을 설치하면 자동완성, 타입 추론 표시, 에러 하이라이팅, 디버깅, 리팩터링 등의 기능을 사용할 수 있습니다. IntelliJ IDEA에도 Dart 플러그인이 있습니다.

Dart DevTools

브라우저 기반 디버깅 도구로, 성능 프로파일링, 메모리 분석, 네트워크 모니터링 등을 제공합니다. Flutter 개발에서 특히 많이 사용되지만, 순수 Dart 프로그램에도 활용할 수 있습니다.

Dart의 버전과 발전

Dart는 꾸준히 발전해오고 있습니다.

버전 시기 주요 변화
Dart 1.0 2013년 첫 안정 버전
Dart 2.0 2018년 강력한 타입 시스템, Flutter와 결합
Dart 2.12 2021년 Sound Null Safety 도입
Dart 3.0 2023년 레코드, 패턴 매칭, sealed class
Dart 3.11 2026년 현재 안정 버전

이 책은 Dart 3.11 기준으로 작성되었으며, Dart 3.0 이상에서 도입된 최신 기능(레코드, 패턴 매칭, sealed class 등)을 모두 다룹니다.

다음 챕터에서는 이 책의 전체 구성과 학습 로드맵을 안내하겠습니다.