본문 바로가기
IT/Program Language

[Dart] Flutter 배우는데 왜 Dart 언어를 배워야 하는거야 ?

by Leos 2023. 7. 17.

 

최근 트렌드로 인하여 Flutter 개발에 진입하는 개발자들이 많아지고 있습니다.

하지만 Flutter 공부해야지 하고 접근했다가 Dart는 뭐야 ? 라고 궁금증을 가지는 분들이 많아지고 있어서 

이부분에 대해서 자세히 포스팅해보려 합니다.

 

Flutter 란?

 

 

Flutter는 Google에서 개발한 사용자 인터페이스(UI) 프레임워크로, iOS, Android, 웹 및 데스크톱 플랫폼을 대상으로 하는 애플리케이션 개발을 위한 도구입니다. 

 

크로스 플랫폼 개발

Flutter는 단일 코드베이스로 iOS와 Android 애플리케이션을 개발할 수 있는 크로스 플랫폼 개발을 지원합니다.
동일한 코드를 사용하여 다양한 플랫폼에 대한 네이티브 수준의 애플리케이션을 개발할 수 있습니다.


위젯 기반 UI

Flutter는 위젯(Widget) 기반의 UI 프레임워크를 제공합니다.
위젯은 UI 컴포넌트를 나타내는 불변 객체로, 다양한 레이아웃, 스타일, 상호작용 등을 구성할 수 있습니다.
위젯은 계층 구조로 구성되며, 부모 위젯과 자식 위젯 사이에서 데이터와 이벤트를 전달할 수 있습니다.

 

화면 핫 리로딩(Hot Reload)

Flutter는 개발자가 애플리케이션 코드를 수정한 후에도 실시간으로 변경 사항을 확인할 수 있는 화면 핫 리로딩 기능을 제공합니다.
애플리케이션을 중단하지 않고 코드 변경을 즉시 반영하여 빠른 개발과 테스트를 가능하게 합니다

 

성능과 사용자 경험

Flutter는 네이티브 컴파일된 코드 실행으로 인해 높은 성능을 제공합니다.
고성능 렌더링 엔진을 사용하여 부드럽고 반응성 있는 사용자 경험을 제공합니다.
다양한 애니메이션, 터치 제스처, 디바이스 하드웨어와의 통합 등을 지원하여 풍부한 사용자 경험을 구현할 수 있습니다.

 

다양한 기능과 라이브러리

Flutter는 다양한 UI 컴포넌트, 네트워킹, 데이터베이스, 상태 관리 등을 위한 라이브러리와 기능을 제공합니다.
풍부한 라이브러리 생태계를 통해 개발자는 다양한 기능을 구현할 수 있습니다.

 

Flutter는 다양한 플랫폼에서 고품질의 애플리케이션을 개발하기 위한 강력하고 유연한 프레임워크입니다. 
단일 코드베이스로 크로스 플랫폼 애플리케이션을 개발하고, 위젯 기반의 UI를 사용하여 풍부한 사용자 경험을 구현할 수 있습니다. 
빠른 개발과 화면 핫 리로딩을 통해 생산성을 향상시키며, 네이티브 수준의 성능을 제공하여 사용자에게 최적의 경험을 제공할 수 있습니다.

 

Dart 언어와 Flutter 의 연관성

Dart는 Google에서 개발한 프로그래밍 언어로, Flutter 애플리케이션 개발을 위한 주요 언어입니다
Flutter는 Dart 언어로 작성된 프레임워크이기 때문에 Dart 언어를 이해하고 사용해야 Flutter 애플리케이션을 개발할 수 있습니다.
Flutter의 핵심 언어로 사용되며, Flutter에서 제공하는 위젯과 기능을 사용하기 위해서는 Dart 언어의 문법과 기능을 이해해야 합니다.
Dart 언어의 특징과 구문은 Flutter 애플리케이션 개발을 효과적으로 지원하고 개발 생산성을 향상시킵니다.

 

 

Flutter 구조

 

  • Flutter 애플리케이션은 위젯(Widget)으로 구성됩니다.
  • 위젯은 UI의 구성 요소로서 버튼, 텍스트, 이미지 등과 같은 화면 요소를 나타내는 불변(immutable) 객체입니다.
  • Flutter는 위젯의 계층 구조를 통해 UI를 구성합니다. 부모 위젯과 자식 위젯으로 구성된 트리 형태의 계층 구조를 가지고 있습니다.
  • 애플리케이션의 화면이 변경될 때, 변경 사항은 위젯 트리에서 상위로 전달되어 렌더링되고 반영됩니다.
  • 위젯은 불변하기 때문에 상태가 변경될 때마다 새로운 위젯을 생성하고 위젯 트리를 업데이트합니다.
  • Flutter는 이러한 위젯의 빠른 업데이트와 렌더링을 통해 고성능의 사용자 경험을 제공합니다.