Wednesday, March 20, 2024

Dart 개발 환경 완벽 정복: 설치부터 .exe 실행 파일 만들기까지

Dart의 세계에 오신 것을 환영합니다! Flutter와 같은 프레임워크로 멋진 앱을 만들거나 강력한 커맨드라인 도구를 제작하기 전에, 가장 먼저 개발 환경을 설정해야 합니다. 이 가이드는 Dart SDK 설치부터 첫 네이티브 실행 파일 컴파일까지, 전체 과정을 단계별로 안내합니다. 이제 시작해볼까요?

1단계: Dart SDK 설치하기

Dart SDK(Software Development Kit)는 Dart 애플리케이션 개발에 필수적인 도구 모음입니다. 컴파일러, 런타임, 패키지 매니저(pub), 핵심 라이브러리 등이 모두 포함되어 있죠. 여러분의 시스템에 SDK를 설치하는 방법을 알아봅시다.

1.1. Dart SDK 다운로드 및 설치

Dart SDK를 설치하는 권장 방법은 운영체제(OS)에 따라 다릅니다. 패키지 매니저를 사용하거나, 공식 사이트에서 직접 압축 파일을 다운로드할 수 있습니다.

Windows (Chocolatey 사용)

만약 패키지 매니저인 Chocolatey를 사용하고 있다면, 터미널(PowerShell)에 다음 명령어 한 줄만 입력하면 간단하게 설치할 수 있습니다.

choco install dart-sdk

macOS (Homebrew 사용)

패키지 매니저인 Homebrew를 사용한다면, 다음 명령어를 실행하세요.

brew tap dart-lang/dart
brew install dart

수동 설치 (모든 플랫폼)

언제든지 Dart 공식 웹사이트에서 SDK를 ZIP 압축 파일로 다운로드할 수 있습니다. 다운로드 후, `dart-sdk` 폴더를 원하는 위치에 압축 해제하세요. 보통 Windows에서는 `C:\tools\dart-sdk`, macOS나 Linux에서는 `~/dev/dart-sdk` 같은 경로를 사용합니다.

1.2. 환경 변수(PATH) 설정

어떤 터미널에서든 `dart`, `pub` 같은 명령어를 바로 실행하려면, Dart SDK의 `bin` 디렉터리를 시스템의 PATH 환경 변수에 추가해야 합니다. 이 설정은 시스템에게 Dart 실행 파일이 어디에 있는지 알려주는 역할을 합니다.

Windows의 경우:

  1. 시작 메뉴 검색창에 'env' 또는 '환경 변수'를 입력하고 '시스템 환경 변수 편집'을 선택합니다.
  2. '환경 변수...' 버튼을 클릭합니다.
  3. '사용자 변수' 섹션에서 `Path` 변수를 찾아 '편집...'을 클릭합니다.
  4. '새로 만들기'를 클릭하고, 압축 해제한 `dart-sdk` 폴더 안의 `bin` 폴더 전체 경로(예: C:\tools\dart-sdk\bin)를 추가합니다.
  5. 모든 창에서 '확인'을 눌러 변경 사항을 저장합니다. 변경 사항을 적용하려면 터미널을 다시 시작해야 할 수 있습니다.

macOS & Linux의 경우:

사용하는 셸의 설정 파일(예: `~/.zshrc`, `~/.bash_profile`, `~/.bashrc`)에 아래 줄을 추가하세요. `[DART_SDK_경로]` 부분은 실제 SDK를 압축 해제한 경로로 변경해야 합니다.

export PATH="$PATH:[DART_SDK_경로]/bin"

그 다음, `source ~/.zshrc` (또는 해당하는 설정 파일) 명령을 실행하거나 터미널을 다시 시작하세요.

1.3. 설치 확인

새 터미널을 열고 다음 명령어를 실행하여 Dart가 올바르게 설치되었는지 확인합니다.

dart --version

설치가 성공했다면, 설치된 Dart SDK 버전이 화면에 출력될 것입니다.

2단계: 첫 Dart 프로젝트 생성하기

SDK 설치가 끝났다면, 이제 새로운 Dart 프로젝트를 만들 준비가 되었습니다. `dart create` 명령어는 개발을 바로 시작할 수 있도록 간단하고 체계적인 구조의 애플리케이션 템플릿을 생성해 줍니다.

2.1. 템플릿으로 프로젝트 생성

터미널을 열어 프로젝트를 생성하고 싶은 폴더로 이동한 뒤, 다음 명령어를 실행하세요.

dart create my_first_app

이 명령어는 `my_first_app`이라는 이름의 새 디렉터리를 만들고, 그 안에 간단한 커맨드라인 애플리케이션을 생성합니다. `my_first_app` 대신 원하는 프로젝트 이름을 자유롭게 사용할 수 있습니다.

2.2. Dart 프로젝트 구조 이해하기

생성된 프로젝트는 표준적인 구조를 가집니다. 핵심적인 파일과 디렉터리의 역할을 살펴보겠습니다.

my_first_app/
├── .dart_tool/
├── .gitignore
├── analysis_options.yaml
├── CHANGELOG.md
├── lib/
│   └── my_first_app.dart
├── bin/
│   └── my_first_app.dart
├── pubspec.yaml
├── pubspec.lock
└── README.md
  • pubspec.yaml: 가장 중요한 파일입니다. 프로젝트의 이름, 설명, 버전 같은 메타데이터를 정의하고, 외부 패키지에 대한 의존성을 관리합니다. 프로젝트의 '설계도'와 같습니다.
  • bin/: 실행 가능한 애플리케이션의 주 진입점(entry point)이 위치합니다. 직접 실행될 코드를 이곳에 둡니다.
  • lib/: 프로젝트의 공개 및 비공개 라이브러리 코드가 위치합니다. 애플리케이션 로직의 대부분을 이곳에 작성하게 됩니다.
  • pubspec.lock: 프로젝트의 모든 의존성에 대한 정확한 버전 정보를 기록하는 자동 생성 파일입니다. 이 파일은 직접 수정해서는 안 됩니다.
  • analysis_options.yaml: Dart 정적 분석기(analyzer)의 설정 파일입니다. 이곳에서 사용자 정의 코딩 규칙을 정해 코드 스타일을 강제하고 잠재적 오류를 찾아낼 수 있습니다.
  • .dart_tool/: Dart 도구가 생성한 파일들을 저장하는 숨김 디렉터리입니다. 패키지 이름과 실제 디스크 상의 위치를 매핑하는 `package_config.json` 파일 등이 여기에 포함됩니다.

3단계: Dart 애플리케이션 실행하기

코드를 컴파일하기 전에, Dart VM(가상 머신)을 이용해 코드를 바로 실행해볼 수 있습니다. 이 방식은 JIT(Just-In-Time) 컴파일을 사용하므로, 코드를 수정하고 바로 결과를 확인할 수 있어 개발 속도를 크게 높여줍니다.

3.1. "Hello World" 코드 살펴보기

템플릿이 생성한 `bin/my_first_app.dart` 파일에는 간단한 "Hello World" 프로그램이 들어있습니다. 코드는 다음과 비슷할 것입니다.

import 'package:my_first_app/my_first_app.dart' as my_first_app;

void main(List arguments) {
  print('Hello world: ${my_first_app.calculate()}!');
}

3.2. 스크립트 실행

애플리케이션을 실행하려면, 프로젝트 디렉터리로 이동(`cd my_first_app`)한 후 `dart run` 명령어를 사용하세요.

dart run

이 명령어는 `bin/` 디렉터리에서 메인 진입점을 찾아 실행합니다. 터미널에 `Hello world: 42!`라는 결과가 출력될 것입니다.

4단계: 네이티브 실행 파일로 컴파일하기

애플리케이션을 다른 사람에게 배포할 준비가 되면, 독립적인 네이티브 실행 파일로 컴파일할 수 있습니다. 이 과정은 AOT(Ahead-Of-Time) 컴파일이라고 불리며, Dart SDK가 설치되지 않은 다른 컴퓨터에서도 실행할 수 있는 빠르고 독립적인 파일을 만들어냅니다.

4.1. Dart 파일 컴파일

애플리케이션을 컴파일하려면 `dart compile` 명령어와 `exe` 하위 명령어를 사용합니다. 프로젝트의 루트 디렉터리에서 실행해야 합니다.

dart compile exe bin/my_first_app.dart

이 명령어는 코드를 컴파일하여 `bin/` 디렉터리 안에 실행 파일을 생성합니다. 결과 파일의 이름은 Windows에서는 `my_first_app.exe`, macOS와 Linux에서는 `my_first_app`이 됩니다.

4.2. 컴파일된 실행 파일 실행

이제 이 컴파일된 파일을 터미널에서 직접 실행할 수 있습니다. 명령어는 운영체제에 따라 약간 다릅니다.

Windows의 경우:

.\bin\my_first_app.exe

macOS 또는 Linux의 경우:

./bin/my_first_app

이 명령어를 실행하면 컴파일된 애플리케이션이 실행되어, 이전과 동일한 "Hello world" 결과가 출력됩니다. 축하합니다! 이제 여러분은 Dart 애플리케이션을 설치, 생성, 실행하고 컴파일하는 모든 과정을 마스터했습니다!


0 개의 댓글:

Post a Comment