본문 바로가기
PM 기술스터디

PM스터디 - Flutter(플러터)와 DART(다트)

by Rocket Launch 2023. 5. 25.
반응형

Flutter(플러터)와 DART(다트)

Flutter(플러터)

Flutter(플러터)는 Google에서 개발한 오픈 소스 UI 소프트웨어 개발 키트이다. Flutter는 Android, iOS, Windows, Mac, Linux 및 웹과 같은 다양한 플랫폼에서 모바일 애플리케이션, 데스크톱 애플리케이션 및 웹 애플리케이션을 만들 수 있다. 다양한 플랫폼에서 일관된 성능과 외관을 제공하며, 단일 코드베이스로 여러 플랫폼을 대상으로 애플리케이션을 개발할 수 있다.

DART(다트)

Flutter는 Dart라는 프로그래밍 언어를 사용하여 개발된다. Dart는 간결하고 생산적인 언어로, C-style의 문법을 갖추고 있다. Dart는 JavaScript 엔진에서 실행되는 JIT(Just-In-Time) 컴파일러와 AOT(Ahead-of-Time) 컴파일러 두 가지 모드를 지원하여 빠르고 효율적인 실행 환경을 제공한다.

Flutter(플러터) 핵심 기능

  • Flutter의 핵심 기능 중 하나는 Widget(위젯)이다. Flutter는 UI를 위한 위젯을 제공하며, 위젯은 모든 것이다라고 할 수 있다. 화면의 일부를 나타내는 작은 위젯부터 전체 애플리케이션을 포함하는 위젯까지 다양한 종류의 위젯을 사용할 수 있다. Flutter의 위젯은 높은 수준의 사용자 정의와 재사용성을 제공하며, 풍부한 UI를 빠르게 구축할 수 있다.
  • Flutter는 강력한 툴링과 개발 환경을 제공합니다. Dart 개발 도구인 DartPad, Visual Studio Code, Android Studio와 같은 IDE(Integrated Development Environment)는 개발자들이 Flutter 애플리케이션을 작성하고 디버깅하는 데 도움을 준다. 또한, Flutter는 Hot Reload라는 기능을 제공하여 애플리케이션의 코드 변경을 실시간으로 반영할 수 있어 개발 생산성을 향상시킨다.
  • Flutter는 다양한 기능과 플러그인을 제공하여 애플리케이션 개발을 보다 쉽게 만들어준다. 예를 들어, Flutter는 다국어 지원, 애니메이션, 네트워킹, 데이터베이스 액세스, 상태 관리, 테스팅 등의 기능을 포함한 다양한 패키지를 제공한다. 또한, 개발자들은 Flutter 커뮤니티에서 만든 수많은 패키지를 활용하여 추가 기능을 구현할 수 있다.
  • Flutter는 크로스 플랫폼 애플리케이션 개발에 적합한 강력한 도구이다. 단일 코드베이스로 여러 플랫폼을 지원하므로 개발 비용과 시간을 절약할 수 있다. 또한, Flutter의 성능은 원시 애플리케이션과 거의 동일하며, 네이티브 앱과 유사한 사용자 경험을 제공한다.
  • 마지막으로, Flutter는 커뮤니티가 활발해서 지속적인 지원과 업데이트가 이루어지고 있습니다. Flutter 개발자들은 커뮤니티에서 지식을 공유하고 문제를 해결하는 데 도움을 받을 수 있습니다.

DART 언어의 특징

  • 간결하고 가독성이 높은 문법: Dart는 C-style의 문법을 기반으로 하며, 가독성이 높고 간결한 문법을 가지고 있다. 이를 통해 코드 작성과 유지보수가 용이하다.
  •  단일 쓰레드 및 이벤트 루프: Dart는 단일 쓰레드 모델을 기반으로 하며, 비동기 프로그래밍을 위해 이벤트 루프를 사용한다. 비동기 작업을 효율적으로 처리하고 UI와의 상호작용을 원활하게 할 수 있다.
  •  JIT(Just-In-Time) 컴파일러와 AOT(Ahead-of-Time) 컴파일러: Dart는 JIT 컴파일러를 사용하여 개발 시간을 단축시킬 수 있다. 개발 중에 코드 변경 사항을 실시간으로 반영하여 빠른 개발 주기를 제공한다. 또한, AOT 컴파일러를 통해 빌드된 프로덕션 코드는 기계어로 컴파일되어 빠른 실행 성능을 보장한다.
  •  강력한 타입 시스템: Dart는 정적 타입 언어이며, 타입 안전성을 제공한다. 변수 및 함수의 타입을 명시적으로 지정하거나 타입 추론을 사용할 수 있다. 이는 코드의 안정성을 향상시키고 디버깅을 용이하게 한다.
  •  클래스 및 객체지향 프로그래밍: Dart는 클래스와 객체지향 프로그래밍을 지원한다. 클래스, 상속, 인터페이스, 믹스인 등의 개념을 활용하여 모듈화된 코드를 작성할 수 있다.
  •  네이티브 확장 지원: Dart는 C와 상호작용할 수 있는 네이티브 확장을 지원한다. C 언어로 작성된 코드를 Dart 애플리케이션에서 사용할 수 있다.
  •  풍부한 표준 라이브러리와 패키지: Dart는 다양한 표준 라이브러리와 패키지를 제공한다. HTTP 요청, JSON 파싱, 파일 액세스 등과 같은 일반적인 작업을 쉽게 처리할 수 있다. 또한, Dart Pub(https://pub.dev/)에서 개발자들이 만든 수많은 패키지를 활용할 수 있다.
반응형

댓글