[Flutter] “자동으로 움직일까, 직접 조종할까?” Flutter 애니메이션 차이 한눈에 보기

서연·2025년 10월 14일
post-thumbnail

📖 암시적 애니메이션과 명시적 애니메이션 차이

🎨 암시적 애니메이션 (Implicit Animation)

💡 정의

  • 개발자가 애니메이션의 최종 상태만 지정하면 시스템이 시작 → 끝까지의 전환 과정을 자동으로 처리하는 방식이다.

🪄 특징

  • 속성 값을 변경하면 프레임워크가 알아서 부드러운 전환을 만들어 준다.
  • 어떻게 움직일지 구체적으로 명시하지 않아도 된다.
  • 코드가 간결하고 직관적이다.
    ⚠️ 하지만 시작, 정지, 반복 등을 세세하게 제어하기는 어렵다.

🧩 대표 위젯 예시

  • AnimatedContainer
  • AnimatedOpacity
  • AnimatedAlign

⚙️ 명시적 애니메이션 (Explicit Animation)

💡 정의

  • 개발자가 애니메이션의 시작, 지속 시간, 타이밍 각 단계를 직접 제어하는 방식이다.

🪄 특징

  • AnimatedController를 생성하고 관리해야 한다.
  • 언제 시작하고 멈출지를 명확하게 지정할 수 있다.
  • 코드가 다소 복잡하지만 유연한 제어가 가능하다.
  • 속도, 곡선, 반복, 상태 변화 등을 세밀하게 조정할 수 있다.

🧩 대표 위젯 예시

  • AnimationController
  • Tween
  • AnimatedBuilder

📌 정리 한 줄 요약

  • 암시적 애니메이션은 자동이라 간단하고 명시적 애니메이션은 수동이라 정교하다.

0개의 댓글