Flutter Web

Flutter Web 렌더링 아키텍처

Flutter Web은 HTML 렌더러CanvasKit 렌더러 두 가지 옵션을 제공합니다:

HTML 렌더러

  • HTML 요소, CSS, Canvas 요소, SVG 요소의 조합으로 렌더링

  • <img> 요소를 사용하여 이미지 렌더링

  • 더 작은 번들 크기 (CanvasKit 대비 약 1.5MB 절약)

  • 웹 표준 기술 활용으로 SEO 및 접근성 우수

CanvasKit 렌더러

  • Skia 그래픽 엔진(C++)을 WebAssembly로 컴파일한 버전

  • WebGL을 통해 Canvas API 활용하여 렌더링

  • Flutter 모바일/데스크톱과 완전히 호환되는 픽셀 단위 정확성

  • 복잡한 그래픽 및 애니메이션에서 우수한 성능

자동 렌더러 선택

기본적으로 Flutter는 플랫폼에 따라 자동 선택합니다:

bashflutter build web  # 자동 선택 모드
  • 모바일 브라우저: HTML 렌더러 (터치 최적화)

  • 데스크톱 브라우저: CanvasKit 렌더러 (고성능 그래픽)

수동 렌더러 지정

특정 렌더러를 강제로 사용할 수 있습니다:

bashflutter build web --web-renderer html      # HTML 렌더러만
flutter build web --web-renderer canvaskit # CanvasKit만

비즈니스 고려사항

HTML 렌더러: B2B 웹앱, 콘텐츠 중심 서비스에 적합 (호환성, SEO, 빠른 로딩)

CanvasKit: 게임, 디자인 툴, 복잡한 시각화 앱에 적합 (성능, 정확한 렌더링)

하이브리드: 자동 선택으로 플랫폼별 최적화개발 효율성 동시 확보

따라서 Flutter Web은 Canvas 중심이 아닌, 웹 표준과 고성능 그래픽을 모두 지원하는 적응형 아키텍처를 채택한 전략적 설계입니다

Last updated