[flutter] 플러터 build_runner를 사용하여 인터페이스 생성하기

플러터(Flutter) 앱을 개발하는 과정에서 데이터 모델의 코드를 자동으로 생성하거나 JSON 직렬화 등의 작업을 할 때 build_runner를 사용할 수 있습니다. 이번 포스트에서는 build_runner를 활용하여 데이터 모델의 인터페이스를 생성하는 방법에 대해 알아보겠습니다.

1. 프로젝트 설정

먼저, pubspec.yaml 파일에 build_runnerjson_serializable 라이브러리를 추가합니다.

dev_dependencies:
  build_runner: ^2.1.5
  json_serializable: ^5.0.0
  # 다른 의존성들...

의존성을 추가한 후 터미널에서 flutter pub get 명령을 통해 이를 적용합니다.

2. 데이터 모델 생성

다음으로, 데이터 모델을 생성합니다.

import 'package:json_annotation/json_annotation.dart';

part 'user.g.dart';

@JsonSerializable()
class User {
  final String name;
  final int age;

  User({required this.name, required this.age});

  factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
  Map<String, dynamic> toJson() => _$UserToJson(this);
}

3. 코드 생성

터미널에서 다음 명령어를 실행하여 코드를 자동으로 생성합니다.

flutter pub run build_runner build

이렇게 하면 user.g.dart 파일이 생성됩니다.

part of 'user.dart';

User _$UserFromJson(Map<String, dynamic> json) {
  return User(
    name: json['name'] as String,
    age: json['age'] as int,
  );
}

Map<String, dynamic> _$UserToJson(User instance) => <String, dynamic>{
  'name': instance.name,
  'age': instance.age,
};

결론

build_runner를 활용하여 플러터 앱의 데이터 모델에 대한 인터페이스 코드를 자동으로 생성할 수 있습니다. 이를 통해 개발자는 더 간편하게 데이터 모델을 관리하고 유지보수할 수 있습니다.

더 많은 자세한 내용은 공식 문서를 참고할 수 있습니다.