Flutter 3.24→ 3.29.2 마이그레이션

고랭지참치·2025년 4월 9일
0

Flutter

목록 보기
18/24
  1. withOpacity → withValues(alpha:)

    
    Colors.white.withOpacity(0.4),
    Colors.white.withValues(alpha: 0.4),
    
  2. Freezed 3.0 업데이트 (참고)

    1. abstract/sealed modifier 를 클래스명 앞에 붙혀줘야함
    @freezed
    abstract class Person with _$Person {
      const factory Person({
        required String name,
        required int age,
      }) = _Person;
    
      factory Person.fromJson(Map<String, dynamic> json) => _$PersonFromJson(json);
    }
    
    • Dart Constructor처럼 선언하는 것도 가능해짐!! 😍
      1. 하지만 이때는 JsonSerializable 선언 필수되고, toJson도 따로 만들어줘야한다.
    @freezed
    @JsonSerializable()
    class Person with _$Person {
      factory Person.fromJson(Map<String, Object?> json) => _$PersonFromJson(json);
      const Person({required this.firstName});
    
      final String firstName;
    
      Map<String, Object?> toJson() => _$PersonToJson(this);
    }
    
  3. build_runner 2.4.13 → 2.4.15

    1. 웹 의존성 및 Dart Lint 업데이트 반영
      • Update to package:web and dart:js_interop.
  4. flutter_secure_storage_web 1.2.1 → 2.0.0
    1. WASM 지원을 위한 웹 의존성 마이그레이션
    - Migrate away from html to web
    - Remove js in favor of using js-interop

    정리

    Flutter에서 Web플랫폼을 제대로 지원하기 위해(+wasm) js_interop 사용이 필수적이 된 것 같다. Dart코드로 JS코드를 작성하는 것이 한결 쉬워지고, wasm선택이 더 쉬워진 듯.

profile
소프트웨어 엔지니어 / Flutter 개발자

0개의 댓글