본문 바로가기
프로그래밍/Dart

[Dart] 9. Dart의 "라이브러리와 패키지"

by iwbap 2024. 6. 19.
728x90

Dart 학습: 라이브러리와 패키지

Dart는 강력한 내장 라이브러리와 외부 패키지를 통해 다양한 기능을 쉽게 구현할 수 있는 도구를 제공합니다. 이번 글에서는 내장 라이브러리 사용법과 pub.dev에서 외부 패키지를 검색하고 설치하는 방법에 대해 알아보겠습니다.


1. 내장 라이브러리 사용: dart:core, dart:io, dart:async 등

Dart에는 다양한 내장 라이브러리가 포함되어 있어, 기본적인 작업부터 고급 기능까지 쉽게 구현할 수 있습니다.

 

dart:core : dart:core 라이브러리는 Dart의 기본 기능을 제공합니다. Dart 프로그램에서 기본적으로 포함되며, 따로 임포트할 필요가 없습니다. 여기에는 문자열, 숫자, 리스트 등의 기본 데이터 타입과 유틸리티 함수가 포함됩니다.

 

예제:

[dart]
 
void main() {
  String greeting = 'Hello, Dart!';
  int number = 42;
  List<String> fruits = ['apple', 'banana', 'cherry'];

  print(greeting);  // Hello, Dart! 출력
  print(number);    // 42 출력
  print(fruits);    // [apple, banana, cherry] 출력
}
 
 

dart:io : dart:io 라이브러리는 파일 입출력, 디렉터리 관리, 네트워크 통신 등의 기능을 제공합니다. 파일을 읽고 쓰는 예제를 살펴보겠습니다.

 

예제:

[dart]
 
import 'dart:io';

void main() async {
  File file = File('example.txt');

  // 파일 쓰기
  await file.writeAsString('Hello, Dart!');
  print('파일 쓰기 완료');

  // 파일 읽기
  String contents = await file.readAsString();
  print('파일 내용: $contents');
}
 

dart:async : dart:async 라이브러리는 비동기 프로그래밍을 위한 Future와 Stream 클래스 등을 제공합니다. 비동기 작업을 처리하는 예제를 살펴보겠습니다.

 

예제:

[dart]
 
import 'dart:async';

Future<void> fetchData() async {
  await Future.delayed(Duration(seconds: 2));
  print('데이터를 가져왔습니다');
}

void main() {
  print('데이터 가져오기 시작');
  fetchData();
  print('다른 작업 실행');
}

2. 외부 패키지 사용: pub.dev에서 패키지 검색 및 설치

Dart에서는 pub.dev라는 패키지 매니저를 통해 수많은 외부 패키지를 사용할 수 있습니다. 외부 패키지를 사용하면 복잡한 기능을 손쉽게 구현할 수 있습니다.

 

pub.dev에서 패키지 검색 : pub.dev는 Dart 및 Flutter 패키지를 검색하고 설치할 수 있는 공식 사이트입니다. 필요한 기능을 검색하여 적합한 패키지를 찾을 수 있습니다.

 

패키지 설치 방법:

 

1. pubspec.yaml 파일 수정 : 프로젝트 루트 디렉터리의 pubspec.yaml 파일에 사용하려는 패키지를 추가합니다. 예를 들어, HTTP 요청을 처리하는 http 패키지를 추가해보겠습니다.

 

[yaml]

 

dependencies:
  http: ^0.13.3

 

 

2. 패키지 설치 : 터미널에서 다음 명령어를 실행하여 패키지를 설치합니다.

 

dart pub get

 

 

3. 패키지 사용 : 설치된 패키지를 코드에서 임포트하고 사용합니다.

 

예제:

[dart]
 
import 'package:http/http.dart' as http;

void main() async {
  var url = Uri.parse('https://jsonplaceholder.typicode.com/posts/1');
  var response = await http.get(url);

  if (response.statusCode == 200) {
    print('Response data: ${response.body}');
  } else {
    print('Request failed with status: ${response.statusCode}');
  }
}
 

위의 예제에서 http 패키지를 사용하여 HTTP GET 요청을 보내고, 응답을 출력합니다.


이 글에서는 Dart의 내장 라이브러리와 외부 패키지를 사용하는 방법에 대해 알아보았습니다. 내장 라이브러리를 활용하여 기본 기능을 구현하고, pub.dev에서 외부 패키지를 검색하고 설치하여 더 복잡한 기능을 쉽게 구현할 수 있습니다. Happy Coding!

728x90