Flutter를 사용하면서 불편함이 해소 되었던 패키지 들을 소개해 보고자 합니다.
Flutter의 기본 적인 내용(설치 방법 등)은 생략 합니다.
flutter_gen | Dart package
The Flutter code generator for your assets, fonts, colors, … — Get rid of all String-based APIs.

기존 Flutter의 리소스 호출 방식은 다음과 같습니다.
# 등록
# pubspec.yaml
flutter:
assets:
- assets/images/profile.jpg
// 사용
Widget build(BuildContext context) {
return Image.asset('assets/images/profile.jpeg');
}
아무래도 String type으로 리소스를 호출하다 보니 다양한 문제점이 할생 할 수 있습니다.
flutter_gen을 사용하게 되면 리소스를 클래스처럼 접근할 수 있도록 도와주기 때문에, 편하게 개발을 할 수 있습니다.
// flutter_gen 적용 후
Widget build(BuildContext context) {
return Assets.images.profile.image();
}
단지 flutter_gen은 codegen 방식으로 리소스를 확인하여 내부적으로 자동으로 클래스를 생성해주는 방식이기 때문에, 사용하기 이전에 build_runner같은 툴을 사용하여 코드를 생성해 주어야 합니다.
> dart run build_runner build
이외 lottie, flutter_svg같은 리소스를 다루는 라이브러리를 함께 포함하여 사용할 수 있기때문에, 진행하시는 프로젝트에 맞제 pubspec.yaml에서 조정하여 사용하시면 됩니다.
# pubspec.yaml
# ...
flutter_gen:
output: lib/gen/ # Optional (default: lib/gen/)
line_length: 80 # Optional (default: 80)
# Optional
integrations:
flutter_svg: true
flare_flutter: true
rive: true
lottie: true
colors:
inputs:
- assets/color/colors.xml