커맨드라인 및 서버 앱
커맨드라인 및 서버 앱
커맨드라인과 서버 애플리케이션을 개발하는 데 도움이 되는 도구와 문서들을 모아 둔 페이지예요. Dart로 백엔드 개발을 시작할 때 참고할 수 있는 프레임워크, 패키지, 샘플을 정리해 드릴게요.
본문
이 페이지는 커맨드라인과 서버 앱을 개발하는 데 도움이 되는 도구와 문서를 안내해요.
도구
-
DartPad — 초보자와 전문가 모두에게 유용한 도구예요. 언어 기능과
dart:*API를 바로 시험해 볼 수 있어요.참고: DartPad는
dart:io같은 VM 라이브러리나 현재 지원되는 패키지 외의 패키지를 가져오는 것은 지원하지 않아요. -
Dart SDK — Dart SDK를 설치하면 핵심 라이브러리와 도구를 얻을 수 있어요.
서버 아키텍처와 프레임워크
Dart는 애플리케이션의 요구 사항에 따라 여러 백엔드 아키텍처를 지원해요.
| 아키텍처 / 프레임워크 | 가장 적합한 용도 | 핵심 장점 | 데이터 및 영속성 |
|---|---|---|---|
| Cloud Functions for Firebase | 서버리스 HTTP 및 callable API, Flutter 앱용 백엔드 | Flutter와 코드 공유, 서버 관리 불필요, 빠른 AOT 콜드 스타트 | firebase_admin_sdk를 통한 Cloud Firestore와 Cloud Storage |
| Serverpod | 풀스택 애플리케이션, Flutter 앱용 백엔드 | 내장 인증, 파일 저장, 서버 함수, 코드 생성 | PostgreSQL과 Redis 데이터베이스(내장 ORM과 마이그레이션) |
| Dart Frog | 빠른 REST API, 모듈형 마이크로서비스 | 미니멀한 라우팅, 의존성 주입, Shelf 기반 | 데이터베이스 무관 |
| Shelf | 커스텀 웹 서버, 조합 가능한 미들웨어 | 가벼운 원시 요소, 모듈형 아키텍처 | 데이터베이스 무관 |
풀스택 AI 기반 애플리케이션, 서버 측 플로우, 에이전트 워크플로우를 만들려면 Genkit Dart를 사용하거나 pub.dev 사이트에서 다른 AI 패키지를 검색해 보세요.
더 많은 도구와 IDE 플러그인은 Tools 페이지에서, 추가 옵션은 pub.dev의 #server 패키지에서 확인할 수 있어요.
Cloud Functions for Firebase로 서버리스 백엔드 구축하기
Dart로 Cloud Functions for Firebase를 작성하면 풀스택 개발이 가능해지고, 클라이언트와 백엔드 사이에 코드를 재사용하며 Firebase 트리거에도 응답할 수 있어요. Dart Cloud Functions는 네이티브 바이너리로 AOT 컴파일되어 Google Cloud 인프라에 직접 배포되므로 최소한의 메모리 오버헤드로 빠른 콜드 스타트 성능을 제공해요.
시작하려면 Cloud Functions for Firebase 문서를 참고하세요.
- Firebase Functions 패키지 — Dart로 백엔드 함수와 API를 작성하는 핵심 패키지예요.
- Firebase Admin SDK 패키지 — 백엔드 서버나 Cloud Functions에서 Firebase 서비스에 안전하게 접근해요. 데이터 관리, 알림 전송, 인증 토큰 검증에 사용해요.
- Firebase Functions for Dart 저장소 — 퀵스타트 가이드, 예시, 소스 코드가 있는 GitHub 저장소예요.
Flutter 앱과 Dart 백엔드 사이의 코드 공유
Flutter 클라이언트와 Firebase 백엔드 모두에 Dart를 사용하면, 공유 패키지를 가진 모노레포나 멀티 패키지 구조로 작업 영역을 구성할 수 있어요.
my_project/
├── packages/
│ ├── app/ # Flutter 프론트엔드 애플리케이션
│ ├── functions/ # Dart로 작성한 Cloud Functions for Firebase
│ └── shared/ # 공유 모델, DTO, 검증 로직
데이터 클래스, JSON 직렬화 로직, 검증 규칙을 package:shared에 두면, 데이터 모델의 변경이 클라이언트와 서버 양쪽에 전파되어 프론트엔드와 백엔드가 계속 동기화된 상태를 유지해요.
샘플
- 간단한 Dart HTTP 서버 —
shelf패키지를 사용해요.shelf_router와shelf_static패키지도 함께 사용하며, Cloud Run에 배포할 수 있어요. - Cloud Firestore를 사용하는 Dart HTTP 서버 —
firebase_admin_sdk패키지로 Cloud Firestore를 사용해요. Cloud Run에 배포할 수 있어요.
더 많은 리소스
- Dart API —
dart:*라이브러리의 API 참조. dart:io문서 — dart:io 라이브러리의 주요 기능 사용법. 커맨드라인 스크립트, 서버, 비웹 Flutter 앱에서 사용할 수 있어요.- Google Cloud 사용하기 — Cloud Run 등 Dart 서버가 사용할 수 있는 Google Cloud 제품의 가이드와 문서.
- Google API 사용하기 — Dart 앱에서 Firebase와 Google 클라이언트 API를 사용하는 데 도움이 되는 리소스.
더 알아보기
- Tools — Dart 관련 도구와 IDE 플러그인 목록.
- Using Google Cloud — Cloud Run 등 Dart 서버가 쓸 수 있는 Google Cloud 제품 안내.
- pub.dev의 #server 패키지 — 서버 개발용 패키지 검색.