플러터와 다트

Stupefyee's avatar
Dec 19, 2024
플러터와 다트

플러터란?

  • 정의:
    • 구글에서 개발한 오픈소스 UI 소프트웨어 개발 키트
      모바일, 웹, 데스크톱 앱 개발 가능
  • 특징:
    • 하나의 코드베이스로 멀티 플랫폼 지원
    • 고성능 렌더링 엔진 사용
    • 핫 리로드(Hot Reload) 기능 제공
  • 장점:
    • 개발 속도 향상
    • 네이티브와 유사한 UI/UX 구현
    • 다양한 위젯 제공

다트란?

  • 정의:
    • 플러터의 프로그래밍 언어
      구글에서 개발
  • 특징:
    • 객체지향 언어
    • 정적 및 동적 타이핑 지원
    • JIT(Just-In-Time)과 AOT(Ahead-Of-Time) 컴파일 가능
  • 장점:
    • 빠른 실행 속도
    • 간결한 문법
    • 플러터와의 완벽한 호환성

플러터의 주요 개념

위젯 (Widget)

  • 정의:
    • 모든 UI 요소는 위젯으로 구성
      불변(Immutable) 객체
  • 종류:
    • Stateless Widget: 상태 없는 위젯
    • Stateful Widget: 상태를 가지는 위젯
  • 사용 방법:
    • 위젯 트리를 구성해 UI 구현

핫 리로드 (Hot Reload)

  • 정의:
    • 코드 변경 시 즉시 UI에 반영
      애플리케이션 상태 유지
  • 장점:
    • 개발 시간 단축
    • 실시간 디버깅 가능

다트의 주요 개념

변수와 자료형

  • 정적 타이핑:
    • int number = 42;
  • 동적 타이핑:
    • var message = "Hello, Dart!";

함수

  • 선언:
    • int add(int a, int b) { return a + b; }
  • 람다 함수:
    • int multiply(int a, int b) => a * b;

클래스와 객체

  • 클래스 정의:
    • class Person { String name; int age; Person(this.name, this.age); void introduce() { print("Hi, I'm $name and I'm $age years old."); } }
  • 객체 생성 및 사용:
    • void main() { var person = Person("Alice", 30); person.introduce(); }

플러터와 다트의 관계

플러터와 다트의 연결고리

  • 플러터는 다트를 기반으로 동작
    • 플러터 앱의 코드 작성 언어: 다트
    • 플러터의 핵심 기능과 위젯: 다트로 구현
  • 상호 의존성
    • 플러터: 다트의 기능을 활용해 UI/UX 구현
    • 다트: 플러터와 함께 멀티플랫폼 앱 개발의 주언어로 사용

관계의 핵심 포인트

다트의 역할

  • 플러터의 엔진 동작 언어
    • 플러터의 렌더링 엔진과 다트 VM 통합
  • JIT 및 AOT 컴파일 지원
    • 개발 중 빠른 빌드(JIT)
    • 배포 시 최적화된 성능 제공(AOT)

플러터의 역할

  • UI 프레임워크로서 다트 코드 실행
    • 다트로 작성된 위젯과 비즈니스 로직 관리
    • 다트의 비동기 프로그래밍을 활용한 앱 동작 처리

플러터와 다트의 협업 방식

코드 작성

  • UI:
    • 다트로 위젯을 선언하고 레이아웃 구성
    • 사용자 인터페이스와 상호작용 로직 구현
  • 비즈니스 로직:
    • 다트의 자료구조, 함수, 클래스 등을 사용해 데이터 처리

앱 실행

  • 개발 단계:
    • 다트의 JIT 컴파일로 빠른 테스트 제공
    • 핫 리로드로 UI 변경사항 즉시 반영
  • 배포 단계:
    • 다트의 AOT 컴파일로 네이티브 수준의 앱 속도 제공
    • 크로스 플랫폼으로 다양한 환경 지원

다트와 플러터의 관계 요약

플러터
다트
UI 및 앱 프레임워크
프로그래밍 언어
위젯, 애니메이션 구현
비즈니스 로직 및 데이터 처리 지원
핫 리로드 기능 제공
JIT 및 AOT 컴파일로 성능 최적화 지원
플랫폼 독립적 개발 지원
플러터와 통합되어 최적화된 실행 환경 제공
Share article

stupefyee