Flutter의 패키지 배포 환경
Flutter는 다른 개발자가 Flutter 및 Dart 생태계에 기여한 공유 패키지를 사용하도록 지원한다. 이를 통해 모든 것을 처음부터 개발하지 않고도 앱을 빠르게 빌드할 수 있다.
플러그인은 패키지의 한 유형으로 전체 명칭은 플러그인 패키지이며 일반적으로 플러그인이라고 줄여 부른다.
패키지
Dart 패키지는 최소한 pubspec.yaml
파일을 포함하는 디렉토리이다. 또한 패키지에는 종속성(pubspec에 나열됨), Dart 라이브러리, 앱, 리소스, 테스트, 이미지, 글꼴 및 예시가 포함될 수 있다. pub.dev 사이트에는 Google 엔지니어와 Flutter 및 Dart 커뮤니티의 구성원들이 개발한 패키지들이 소개되어 있으며, 앱에서 활용할 수 있다.
플러그인
플러그인 패키지는 플랫폼 기능을 앱에서 사용할 수 있게 해주는 특별한 종류의 패키지이다. 플러그인 패키지는 Android(Kotlin 또는 Java 사용), iOS(Swift 또는 Objective-C 사용), 웹, macOS, Windows, Linux 또는 이들의 조합으로 작성될 수 있다. 예를 들어, 플러그인은 Flutter 앱에 기기의 카메라를 사용할 수 있는 기능을 제공할 수 있다.
패키지 사용
패키지는 pub.dev에 게시된다. pub.dev
의 Flutter 랜딩 페이지는 Flutter와 호환되는 상위 패키지(일반적으로 Flutter와 호환되는 종속성을 선언한 패키지)를 표시하고 게시된 모든 패키지를 검색하는 기능을 지원한다.
pub.dev의 Flutter Favorites 페이지에는 앱을 작성할 때 크게 도움이 되는 패키지들이 나열되어있어 이를 활용하면 보다 빠르게 애플리케이션을 개발할 수 있다.
또한 Android
, iOS
, web
, Linux
, Windows
, macOS
를 필터링하여 현재 환경에서 활용할 수 있는 패키지 목록도 찾아볼 수 있다.
앱에 패키지 종속성 추가하기
예시로 css_colors
를 추가해보자
-
dependencies
추가- 프로젝트 폴더에 있는
pubspec.yaml
파일을 열고dependencies
항목에css_colors
를 추가한다.
- 프로젝트 폴더에 있는
-
Install
- 터미널:
flutter pub get
을 실행한다 - VS Code: 다운로드 아이콘으로 표시된 상단 작업 목록의 패키지 가져오기를 클릭한다.
- Android Studio/IntelliJ:
pubspec.yaml
상단의 작업 목록에서 Pub get을 클릭한다.
- 터미널:
-
Import
- Dart code에
import
를 사용하여 패키지를 추가한다.
- Dart code에
-
앱 재실행하기
hot reload/restart
의 경우 Dart 코드만 업데이트 하므로 패키지가 플랫폼별 코드 (Android의 경우 Kotlin/Java, iOS의 경우 Swift/Objective-C)를 가져오는 경우 앱을 재실행하여 빌드해야한다.
터미널 명령어를 통한 추가
flutter pub add "some-package"
를 통해서도 패키지 종속성을 추가할 수 있다. 마찬가지로 css_colors
를 예시로 확인해보자.
-
프로젝트 디렉토리 내부 터미널에서 명령어 실행
flutter pub add css_colors
-
Import
- Dart code에
import
를 사용하여 패키지를 추가한다.
- Dart code에
-
앱 재실행하기
hot reload/restart
의 경우 Dart 코드만 업데이트 하므로 패키지가 플랫폼별 코드 (Android의 경우 Kotlin/Java, iOS의 경우 Swift/Objective-C)를 가져오는 경우 앱을 재실행하여 빌드해야한다.
패키지 종속성 제거
flutter pub remove
를 통해 패키지를 제거할 수 있다.
- 프로젝트 디렉토리 내부 터미널에서 명령어 실행
flutter pub add css_colors