pubspec.yaml?
- Dart or Flutter 프로젝트를 관리를 위해 필요한 메타데이터를 가지고 있는 파일
- 참고 : https://docs.flutter.dev/development/tools/pubspec
Flutter and the pubspec file
Describes the Flutter-only fields in the pubspec file.
docs.flutter.dev
pubspec.yaml는 어떤 정보를 가지고 있나?
앞서 프로젝트를 관리하고 있는 메타데이터를 가지고 있는 파일이라고 설명했다.
그렇다면 프로젝트 관리를 위해서는 어떤 데이터 필요할까?
대표적으로는 프로젝트 버전, SDK 버전, dependencies 등이 필요하다.
Dependencies
이제 슬슬 복잡한 말이 나온다.
Dependency 는 무엇일까?
프로젝트는 내가 짠 코드로만 동작시키기 어렵다.
이미 다른 사람이 잘 만들어 놓은 코드 덩어리(패키지)가 있다.
이 코드 덩어리를 사용하기 위해 dependencies에 명시한다.
아래와 같은 형태로
firebase_core: ^1.13.1
firebase_analytics: ^9.1.2
firebase_crashlytics: ^2.5.3
firebase_performance: ^0.8.0+7
Flutter 프로젝트의 패키지 관리
우리는 잘 만들어진 패키지를 사용할 수 있다.
하지만, 사용자 입장에선 어떤 패키지가 있고 어떻게 사용할 수 있는지를 알아야 한다.
이 때 사용하는 프로그램이 pub 이다.
pub은 Dart와 Flutter의 패키지를 관리하는 패키지 매니져 이다.
그리고 pub에서 관리되는 패키지에 대한 상세한 내용을 알려주는 사이트가 바로 pub.dev 이다.
Dart packages
Pub is the package manager for the Dart programming language, containing reusable libraries & packages for Flutter, AngularDart, and general Dart programs.
pub.dev
추가1. 헷갈리는 말. 패키지 / 플러그인
쉽게 이해하고 가자.
- 패키지 : 어떠한 기능을 하기 위한 코드 뭉치
- 플러그인 : 플랫폼(Android, iOS 등)에서 동작할 수 있는 기능을 제공하는 패키지
자세한 내용은 아래를 참고하자.
https://docs.flutter.dev/development/packages-and-plugins/using-packages
Using packages
How to use packages in your Flutter app.
docs.flutter.dev
추가2. YAML
정보를 쉽게 표현하기 위한 표현 양식
https://ko.wikipedia.org/wiki/YAML
YAML - 위키백과, 우리 모두의 백과사전
YAML은 XML, C, 파이썬, 펄, RFC2822에서 정의된 e-mail 양식에서 개념을 얻어 만들어진 '사람이 쉽게 읽을 수 있는' 데이터 직렬화 양식이다. 2001년에 클라크 에반스가 고안했고, Ingy dot Net 및 Oren Ben-Kiki
ko.wikipedia.org
결론 pubspec.yaml?
Flutter or Dart 프로젝트를 관리하기 위한 패키지(pub) 등 을 관리하기 위한 yaml 형식으로 만들어진 파일!